 }
 
 void reiniciaSaidas() {
+  desligaFuncao(dosador, NomeDosador);
+  desligaFuncao(datador, NomeDatador);
+  desligaFuncao(mandibula, NomeMandibula);
+}
+
+void resetCompleto() {
   dosador_ligado = FALSO;
   datador_ligado = FALSO;
   conta_ciclos = 0;
-
-  desligaFuncao(geral, NomeGeral);
-  desligaFuncao(dosador, NomeDosador);
-  desligaFuncao(datador, NomeDatador);
-
-  desliga(led_teste_1);  // Para testes
-  desliga(led_teste_2);  // Para testes
-  desliga(led_teste_3);  // Para testes
-}
-
-void resetCompleto() {
   desliga(geral);
   desliga(dosador);
   desliga(datador);
-
-  desliga(solda_vertical);
-  desliga(solda_horizontal);
-  desliga(solda_datador);
-
-  desliga(led_teste_1);  // Para testes
-  desliga(led_teste_2);  // Para testes
-  desliga(led_teste_3);  // Para testes
+  desliga(mandibula);
+
+  desliga(solda_vertical_PWM);
+  desliga(solda_horizontal_PWM);
+  desliga(solda_datador_PWM);
 }
 
 void modoTeste() {


void cicloMedio() {
  if (conta_ciclos > 0) {
    ciclo_padrao = soma_ciclos / conta_ciclos;
  }
}

void geraPWM(byte pot, unsigned long *inicio, byte saida, String nome) {
  unsigned long ativo = map(analogRead(pot), 0, 1023, 0, ciclo_PWM);
  unsigned long inativo = ciclo_PWM - ativo;
  if (maquina_ligada && !alarme_ativo) {

}

void funcaoReset() {
  tempo_atual = millis();
  if (resetado){
    fim_ciclo = inicio_ciclo + ciclo_padrao;
    minimo = inicio_ciclo + ciclo_minimo;
    maximo = inicio_ciclo + ciclo_maximo;
    resetado = FALSO;
    reiniciaSaidas();
  }

  if (tempo_atual >= minimo) {
