 // SOLDAS VERTICAL E HORIZONTAL
 const unsigned int inicio_soldas = 5;
 const unsigned int fim_soldas = 400;
+
+// REMOVER >>
+const byte saida_teste = 2;
+const byte entrada_teste = 4;
+// << REMOVER
+
+// VARIÁVEIS
+// BOTOÕES UM-CLIQUE
+unsigned long atraso = 50;
+int estbt_geral;                // Estado do Botão Geral
+int estbta_geral = BAIXO;       // Estado anterior do Botão Geral
+unsigned long atr_geral = 0;    // Atraso do Botão Geral
+int estbt_dosador;              // Estado do Botão Dosador
+int estbta_dosador = BAIXO;     // Estado anterior do Botão Dosador
+unsigned long atr_dosador = 0;  // Atraso do Botão Dosador
+int estbt_datador;              // Estado do Botão Datador
+int estbta_datador = BAIXO;     // Estado anterior do Botão Dosador
+unsigned long atr_datador = 0;  // Atraso do Botão Dosador
+
+// PWM DAS SOLDAS
+const unsigned long ciclo_PWM = 1000;
+unsigned long tempo_PWM_vertical = 0;    // Tempo do PWM da solda vertical
+unsigned long tempo_PWM_horizontal = 0;  // Tempo do PWM da solda horizontal
+unsigned long tempo_PWM_datador = 0;     // Tempo do PWM da solda do Datador
+
+// MODOS DE TRABALHO
+boolean stand_by = FALSO;
+boolean maquina_ligada = FALSO;
+boolean dosador_ligado = FALSO;
+boolean datador_ligado = FALSO;
+boolean alarme_ativo = FALSO;
+boolean fotocelula_liberada = FALSO;
+boolean fotocelula_cortou = FALSO;
+boolean produzindo = FALSO;
+boolean resetado = FALSO;
+
+// TEMPOS DE CICLO
+// CONTROLE DE CICLO
+unsigned long tempo_atual = millis();
+unsigned long ciclo_padrao_anterior = ciclo_padrao;
+unsigned long inicio_ciclo = 0;
+unsigned long soma_ciclos = 0;
+unsigned long conta_ciclos = 0;
+unsigned long fim_ciclo = 0;
+unsigned long minimo = 0;
+unsigned long maximo = 0;
+unsigned long ultimo_ciclo = ciclo_padrao;
+
 // TEMPOS MÉDIOS
 // MANDÍBULA
 unsigned long ti_mandibula = (unsigned long)inicio_mandibula; // NÃO ALTERE

const byte pot_solda_vertical = A0;    // Potenciômetro da Solda Vertical
const byte pot_solda_horizontal = A1;  // Potenciômetro da Solda Vertical
const byte pot_solda_datador = A2;     // Potenciômetro da Solda Vertical

// SAÍDAS
const byte geral = 23;                 // Saída Geral
const byte dosador = 25;               // Saída do Dosador
const byte led_datador = 27;               // Saída do Datador
const byte mandibula = 40;
const byte faca = 42;
const byte refrigeracao = 44;

void desligaFuncao(byte saida, String nome) {
  if (ligado(saida)) {
    desliga(saida);
    escreveSerial("<< " + nome + " Desligado." + (String)tf_datador);
  }
}

