// Variáveis para controlar o estado
/*int estadoLed = LOW; // Guarda se o LED deve estar aceso ou apagado
bool botaoPressionado = false; // Trava para garantir um acionamento por clique
void setup() {
pinMode(13, OUTPUT); // LED interno
pinMode(2, INPUT_PULLUP); // Botão no pino 2 (conectar ao GND)
}
void loop() {
int leitura = digitalRead(2); // Lê o estado atual do botão
// 1. Verifica se o botão foi apertado (LOW) e se não estava travado
if (leitura == LOW && !botaoPressionado) {
estadoLed = !estadoLed; // Inverte o estado (! transforma HIGH em LOW e vice-versa)
digitalWrite(13, estadoLed); // Aplica o novo estado ao LED
botaoPressionado = true; // Trava o sistema para não repetir nesta pressão
delay(50); // "Debounce" para evitar ruído elétrico
}
// 2. Verifica se o botão foi SOLTO para destravar o próximo clique
if (leitura == HIGH && botaoPressionado) {
botaoPressionado = false; // Libera para o próximo aperto
delay(50);
}
}*/
int led = 13;
int botao = 2;
int estadoLed = LOW;
void setup() {
pinMode(led, OUTPUT);
pinMode(botao, INPUT_PULLUP);
}
void loop() {
if (digitalRead(botao) == LOW) { // botão pressionado
estadoLed = !estadoLed; // inverte o estado do LED
digitalWrite(led, estadoLed); // aplica no LED
delay(300); // pequeno tempo para evitar múltiplos acionamentos
}
}