// Definição de pinos
const int botao = 2; // Pino do botão
const int led = 3; // Pino do LED
const int rele = 4; // Pino do relé
// Variáveis para controle do estado
bool estado = false; // Estado atual do sistema
bool ultimoEstadoBotao = HIGH; // Último estado do botão
void setup() {
pinMode(botao, INPUT_PULLUP); // Ativa o pull-up interno do botão
pinMode(led, OUTPUT); // Define LED como saída
pinMode(rele, OUTPUT); // Define relé como saída
digitalWrite(led, LOW); // Garante que o LED inicie apagado
digitalWrite(rele, LOW); // Garante que o relé inicie desligado
}
void loop() {
bool leituraBotao = digitalRead(botao); // Lê o estado do botão
// Verifica se houve uma mudança no botão (pressionado)
if (leituraBotao == LOW && ultimoEstadoBotao == HIGH) {
estado = !estado; // Alterna o estado
digitalWrite(led, estado); // Acende/apaga o LED
digitalWrite(rele, estado); // Liga/desliga o relé
delay(200); // Pequeno atraso para evitar múltiplas leituras
}
ultimoEstadoBotao = leituraBotao; // Atualiza o estado do botão
}