m5paper_deep_sleep_timer.ino

M5Paper : Kit de développement IoT à écran e-Ink tactile · Fichier : m5paper_deep_sleep_timer.ino · Langage : Arduino · Usage : Mettre le M5Paper en sommeil profond et le réveiller par minute pour une consommation ultra-faible.

Illustre la gestion de l'énergie avec le mode deep sleep de l'ESP32 pour les applications sur batterie.

L'ESP32-D0WDQ6 supporte le deep sleep. Cette fonction réduit la consommation à quelques microampères. Le réveil se fait par timer (RTC). L'écran e-Ink conserve l'image sans alimentation, ce qui est idéal pour les affichages statiques périodiques.

m5paper_deep_sleep_timer.ino

#include <M5EPD.h>

M5EPD m5;

void setup() {
  m5.begin();
  Serial.begin(115200);
  Serial.println("Awake");
  
  m5.clear();
  m5.drawCentreString("Waking up...", 480, 270, 4);
  m5.updateFrame();
  delay(1000);
  
  // Configure RTC for deep sleep wake up
  // Wake up every 60 seconds
  esp_sleep_enable_timer_wakeup(60 * 1000000);
  
  // Turn off screen to save power before sleeping
  m5.powerOff(); // Note: Check if powerOff is available, otherwise just stop update
  
  Serial.println("Going to sleep...");
  esp_deep_sleep_start();
}

void loop() {
  // Loop is not reached after deep sleep start
}

← Retour à la fiche