// Analog StateChange Detection for
// https://wokwi.com/projects/391124361363049473
// for https://forum.arduino.cc/t/esp8266-analog-input-triggering-issue-for-one-shot/1229757/24
int lastButtonState = 0;
const int AnalogPin = 15;
int currentButtonState = 0;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
void setup() {
Serial.begin(115200);
}
void loop() {
currentButtonState = analogRead(AnalogPin) / (1023/25); // make into distinct ranges
if (currentButtonState != lastButtonState && millis() - lastDebounceTime >= debounceDelay) {
lastDebounceTime = millis();
Serial.print(char('A'+currentButtonState));
lastButtonState = currentButtonState;
}
}