// Mapeamento de I/Os
#define BT0 13
// Variável de contagem
int contador;
// Variáveis booleanas de status das entradas
bool stBT0, flag0;
void setup() {
Serial.begin(9600);
pinMode(BT0, INPUT_PULLUP);
}
void loop() {
/*
if(stBT0 == LOW){ // Verificando se o botão foi pressionado.
contador++;
delay(500); // 0.5s
Serial.println(contador);
}
*/
stBT0 = digitalRead(BT0);
delay(10);
// Detectando a borda de descida do sinal (HIGH ---> LOW):
if(stBT0 == LOW && flag0 == LOW){
// O botão foi pressionado (HIGH --> LOW)
Serial.println("BT0 passou de HIGH para LOW");
flag0 = HIGH;
// Informa ao microcontrolador que o botão
// foi pressionado.
}
// Detectando a borda de subida do sinal (LOW ---> HIGH):
if(stBT0 == HIGH && flag0 == HIGH){
// O botão foi desligado (LOW --> HIGH)
Serial.println("BT0 passou de LOW para HIGH");
flag0 = LOW;
}
//
}
//if(digitalRead(BT1) == HIGH){
//}
// Devido ao uso do resistor PullDown (externo):
// pinMode(BT1, INPUT);
// Botão ON ---> HIGH
// Botão OFF ---> LOW
// Devido ao uso do resistor PullUp (interno):
// pinMode(BT1, INPUT_PULLUP);
// Botão ON ---> LOW
// Botão OFF ---> HIGH
// Testando o botão ligado (LOW)
// if(digitalRead(BT1) == LOW){
//}