 void cicloMedio() {
   if (conta_ciclos > 0) {
     ciclo_padrao_anterior = ciclo_padrao;
-    ciclo_padrao = soma_ciclos / conta_ciclos;
+    ciclo_padrao = ultimo_ciclo; //soma_ciclos / conta_ciclos;
     // AJUSTE DINÂMICO DOS TEMPOS DAS FUNÇÕES
-    inicio_mandibula = (inicio_mandibula * ciclo_padrao) / ciclo_padrao_anterior;
-    fim_mandibula = (fim_mandibula * ciclo_padrao) / ciclo_padrao_anterior;
-    inicio_faca = (inicio_faca * ciclo_padrao) / ciclo_padrao_anterior;
-    fim_faca = (fim_faca * ciclo_padrao) / ciclo_padrao_anterior;
-    inicio_refrigeracao = (inicio_refrigeracao * ciclo_padrao) / ciclo_padrao_anterior;
-    fim_refrigeracao = (fim_refrigeracao * ciclo_padrao) / ciclo_padrao_anterior;
-    inicio_datador = (inicio_datador * ciclo_padrao) / ciclo_padrao_anterior;
-    fim_datador = (fim_datador * ciclo_padrao) / ciclo_padrao_anterior;
-    inicio_soldas = (inicio_soldas * ciclo_padrao) / ciclo_padrao_anterior;
-    fim_soldas = (fim_soldas * ciclo_padrao) / ciclo_padrao_anterior;
+    ajustaCiclo(&inicio_mandibula);
+    ajustaCiclo(&fim_mandibula);
+    ajustaCiclo(&inicio_faca);
+    ajustaCiclo(&fim_faca);
+    ajustaCiclo(&inicio_refrigeracao);
+    ajustaCiclo(&fim_refrigeracao);
+    ajustaCiclo(&inicio_datador);
+    ajustaCiclo(&fim_datador);
+    ajustaCiclo(&inicio_soldas);
+    ajustaCiclo(&fim_soldas);
+  }
+}
+
+void ajustaCiclo(unsigned long *variavel){
+  unsigned long tempo = (*variavel * ciclo_padrao) / ciclo_padrao_anterior;
+  if (tempo <= 0){
+    *variavel = 1;
+  } else {
+    *variavel = tempo;
   }
 }
 

    reiniciaCiclo(millis());
  }
  if (conta_ciclos >= 3) {
    funcaoSimples(mandibula, NomeMandibula, inicio_mandibula, fim_mandibula);
    funcaoSimples(faca, NomeFaca, inicio_faca, fim_faca);
    funcaoSimples(refrigeracao, NomeRefrigeracao, inicio_refrigeracao, fim_refrigeracao);
    // funcaoSimples(datador, NomeDatador, inicio_datador, fim_datador);
    // funcaoSimples(soldas, NomeSoldas, inicio_soldas, fim_soldas);
    // funcaoSimples(saida_teste, "Teste", 1500, 1600);
  }

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

