#define Botao 13
#define Led 12
#define t_filtro 5
byte b_bt1_pressionado;
byte b_filtro1;
byte b_contador;
void setup() {
// put your setup code here, to run once:
pinMode(Botao, INPUT_PULLUP);
pinMode(Led, OUTPUT);
b_bt1_pressionado = false;
b_contador = 0;
b_filtro1 = t_filtro;
}
void loop() {
// put your main code here, to run repeatedly:
if (!digitalRead(Botao)) {
delay(10);
if (b_bt1_pressionado == false) {
if (b_filtro1 != 0) {
b_filtro1--;
} else {
b_bt1_pressionado = true;
}
}
} else {
b_filtro1 = t_filtro;
}
// Controle da ação do Botão, verifica se pode incrementar o contador
if (b_bt1_pressionado == true && b_filtro1 == t_filtro) {
b_contador++;
b_bt1_pressionado = false;
}
// Verifica se deve acender o Led
if (b_contador >= 2) {
b_contador = 0;
digitalWrite(Led, HIGH);
}
// Verifica se deve apagar o Led
if (b_contador == 1 && (digitalRead(Led) == HIGH)) {
b_contador = 0;
digitalWrite(Led, LOW);
}
}