   desligaFuncao(mandibula, NomeMandibula);
   desligaFuncao(faca, NomeFaca);
   desligaFuncao(refrigeracao, NomeRefrigeracao);
-  desligaFuncao(datador, NomeDatador);
-  desligaFuncao(vertical, NomeVertical);
+  if (!datador_contra_mandibula){
+    desligaFuncao(datador, NomeDatador);
+  }
+  if (!vertical_contra_mandibula){
+    desligaFuncao(vertical, NomeVertical);
+  }
 }
 
 void resetCompleto() {

const unsigned long inicio_refrigeracao = 800; // Tempo de entrada da função Refrigeração
const unsigned long fim_refrigeracao = 1450; // Tempo de saída da função Refrigeração
// DATADOR
const unsigned long inicio_datador = 0; // Tempo de entrada da função Datador
const unsigned long fim_datador = 400; // Tempo de saída da função Datador
// SOLDAS VERTICAL E HORIZONTAL
const unsigned long inicio_vertical = 0; // Tempo de entrada da função Solda Vertical
const unsigned long fim_vertical = 400; // Tempo de saída da função Solda Vertical


  }
}

void funcaoBloqueante(const byte saida, String nome, unsigned long inicio, unsigned long fim){
  if (ligado(mandibula) && ativo(sensor_mandibula)){
    desligaFuncao(saida, nome);
