m5paper_deep_sleep.ino
Configures the microcontroller for deep sleep with external wake-up, crucial for battery-powered applications.
Uses ESP-IDF functions via Arduino. GPIO39 is often linked to touch. After waking, the program restarts completely. The e-Ink screen retains the image without power.
m5paper_deep_sleep.ino
#include <M5EPD.h>
#define WAKEUP_PIN 39 // Pin tactile ou bouton
void setup() {
M5.begin();
// Configuration pour le réveil
esp_sleep_enable_ext0_wakeup(GPIO_NUM_39, 0); // Réveil si pin LOW
M5.EPD.Clear(true);
M5.EPD.WriteFullFrameBuffer();
Serial.println("Entering Deep Sleep...");
delay(1000);
esp_deep_sleep_start();
}
void loop() {
// Ne s'exécute pas après deep sleep, le code redémarre dans setup()
}