#define BUTTON_PIN 16
#define RELAY_PIN 21
bool relayState = false;
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP); // Botão com resistor pull-up
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW); // Relé começa desligado
Serial.begin(115200);
}
void loop() {
static bool lastButtonState = HIGH;
bool currentButtonState = digitalRead(BUTTON_PIN);
// Detecta mudança no estado do botão
if (lastButtonState == HIGH && currentButtonState == LOW) {
relayState = !relayState; // Alterna o estado do relé
digitalWrite(RELAY_PIN, relayState ? HIGH : LOW);
Serial.println(relayState ? "Relé LIGADO" : "Relé DESLIGADO");
delay(200); // Debounce para evitar leituras erradas
}
lastButtonState = currentButtonState;
}