Schema :
Le bouton est branché sur le port GPIO 14 (D5 sur la carte).
Sketch :
unsigned long lastResetPressTime; int lastResetPressState = HIGH; const int RESET_PRESS_TIME = 3000; const int RESET_BUTTON = 14; const int LED_PIN = LED_BUILTIN; void setup() { Serial.begin(115200); pinMode(RESET_BUTTON, INPUT_PULLUP); pinMode(LED_PIN, OUTPUT); digitalWrite(LED_PIN, HIGH); } void loop() { if (digitalRead(RESET_BUTTON) == LOW) { if(lastResetPressState == HIGH) { lastResetPressState = LOW; lastResetPressTime = millis(); } else if ((millis() - lastResetPressTime) > RESET_PRESS_TIME) { digitalWrite(LED_PIN, LOW); delay(1500); digitalWrite(LED_PIN, HIGH); delay(1500); lastResetPressState = HIGH; Serial.println("reset"); } } else { lastResetPressState = HIGH; digitalWrite(LED_PIN, HIGH); } }