#define BOTAO 12
#define LED 13
unsigned long ultimoDebounce = 0;
const unsigned long tempoFiltro = 50;
bool estadoBotaoAnterior = HIGH;
void setup() {
pinMode(BOTAO, INPUT_PULLUP);
pinMode(LED, OUTPUT);
}
void loop() {
bool leitura = digitalRead(BOTAO);
if (leitura != estadoBotaoAnterior) {
ultimoDebounce = millis();
estadoBotaoAnterior = leitura;
}
if ((millis() - ultimoDebounce) > tempoFiltro) {
if (leitura == LOW) {
digitalWrite(LED, HIGH);
} else {
digitalWrite(LED, LOW);
}
}
}