   return digitalRead(pino);
 }
 
+void liga(byte saida){
+  digitalWrite(saida, HIGH);
+}
+
+void desliga(byte saida){
+  digitalWrite(saida, LOW);
+}
+
+
+void modoTeste(){
+  if (maquina_ligada){
+    liga(led_geral);
+  } else {
+    desliga(led_geral);
+  }
+  if (dosador_ligado){
+    liga(led_dosador);
+  } else {
+    desliga(led_dosador);
+  }
+  if (datador_ligado){
+    liga(led_datador);
+  } else {
+    desliga(led_datador);
+  }
+}

  pinMode(led_datador, OUTPUT);

  // Define estado inicial das saídas
  digitalWrite(led_geral, est_led_geral);
  digitalWrite(led_dosador, est_led_dosador);
  digitalWrite(led_datador, est_led_datador);
}


void loop() {
  standBy();
}

void acionaGeral(){
  btUmClique(bt_geral, &estbt_geral, &estbta_geral, &atr_geral, led_geral, &est_led_geral);
}

void acionaDosador(){
  btUmClique(bt_dosador, &estbt_dosador, &estbta_dosador, &atr_dosador, led_dosador, &est_led_dosador);
}

void acionaDatador(){
  btUmClique(bt_datador, &estbt_datador, &estbta_datador, &atr_datador, led_datador, &est_led_datador);
}

void standBy(){


}

void btUmClique(byte botao, int *estado, int *est_ant, long *atr_ant, boolean *funcao){
  byte leitura = leEntrada(botao);
  if (leitura != *est_ant) {
    *atr_ant = millis();
