#include "waitfor.h"
#define plusButtonPin 5
#define minusButtonPin 17
uint8_t counter;
void setup() {
Serial.begin(115200);
pinMode(plusButtonPin, INPUT_PULLUP);
pinMode(minusButtonPin, INPUT_PULLUP);
counter = 0;
Serial.println("ESP32 button debounce test");
}
void loop() {
static boolean plusButtonPreviousState = false;
static boolean plusButtonCurrentState = false;
plusButtonCurrentState = digitalRead((plusButtonPin));
if((plusButtonCurrentState == true) && (plusButtonPreviousState == false)){
waitfor(20);
plusButtonCurrentState = digitalRead(plusButtonPin);
if(plusButtonCurrentState == true){
counter++;
Serial.print("p:");Serial.println(counter);
}
}
plusButtonPreviousState = plusButtonCurrentState;
static boolean minusButtonPreviousState = false;
static boolean minusButtonCurrentState = false;
minusButtonCurrentState = digitalRead((minusButtonPin));
if((minusButtonCurrentState == true) && (minusButtonPreviousState == false)){
waitfor(20);
minusButtonCurrentState = digitalRead(minusButtonPin);
if(minusButtonCurrentState == true){
counter--;
Serial.print("m:");Serial.println(counter);
}
}
minusButtonPreviousState = minusButtonCurrentState;
}