   if (maquina_ligada) {
     btUmClique(bt_datador, &estbt_datador, &estbta_datador, &atr_datador,
                &datador_ligado);
-  }
-  if (datador_ligado) {
-    ligaFuncao(led_datador, NomeDatador);
-  } else {
-    desligaFuncao(led_datador, NomeDatador);
+    if (datador_ligado) {
+      ligaFuncao(led_datador, NomeDatador);
+    } else {
+      desligaFuncao(led_datador, NomeDatador);
+    }
   }
 }
 

             &maquina_ligada);
  if (maquina_ligada) {
    ligaFuncao(geral, NomeGeral);
  } else {
    if (ligado(geral) && !desligamento_suave){
      desligamento_suave = VERDADEIRO;
      escreveSerial("Fazendo desligamento suave.");
    } else if (desligamento_suave && conta_ciclos == desligarEm) {
      desligaFuncao(geral, NomeGeral);
      resetCompleto();
    }
  }
}


  } else if (tempo_atual >= fim || inativo(seguranca)) {
    desligaFuncao(saida, nome);
  }
}

void funcaoBloqueante(const byte saida, String nome, unsigned long inicio, unsigned long fim, boolean contra_mandibula){
