#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);
    }
  }
}