// 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;
  }
}