// Definições de pinos
#define RELAY_PIN 16 // Pino conectado ao relé
#define LED_PIN 2 // Pino conectado ao LED (no ESP32, geralmente o pino 2 é o LED onboard)
#define BUTTON_PIN 4 // Pino conectado ao botão
// Variáveis para o estado
bool relayState = false;
void setup() {
// Configura os pinos
pinMode(RELAY_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
pinMode(BUTTON_PIN, INPUT_PULLUP);
// Inicializa os estados
digitalWrite(RELAY_PIN, LOW); // Relé desligado inicialmente
digitalWrite(LED_PIN, LOW); // LED desligado inicialmente
Serial.begin(115200);
}
void loop() {
if (digitalRead(BUTTON_PIN) == LOW) { // Botão pressionado
delay(200); // Debounce
relayState = !relayState; // Inverte o estado do relé
if (relayState) {
digitalWrite(RELAY_PIN, HIGH); // Liga o relé
digitalWrite(LED_PIN, HIGH); // Liga o LED
Serial.println("Relé e LED LIGADOS");
} else {
digitalWrite(RELAY_PIN, LOW); // Desliga o relé
digitalWrite(LED_PIN, LOW); // Desliga o LED
Serial.println("Relé e LED DESLIGADOS");
}
}
}