deep-sleep-timer.ino
Utilise le sommeil profond pour minimiser la consommation d'énergie entre les tâches.
Le sommeil profond coupe l'alimentation de la plupart des circuits, y compris la RAM. La batterie de 140mAh sera préservée. Le réveil par minuteur est géré par le RTC interne. Attention, les variables globales sont perdues à chaque cycle de sommeil.
deep-sleep-timer.ino
#include <Arduino.h>
#define LED_PIN 2
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
// Réveil toutes les 10 secondes
esp_sleep_enable_timer_wakeup(10 * 1000000ULL);
Serial.println("Going to sleep...");
digitalWrite(LED_PIN, HIGH);
delay(100);
esp_deep_sleep_start();
// Le code ci-dessous ne s'exécute qu'au réveil
Serial.println("Awake!");
digitalWrite(LED_PIN, LOW);
}
void loop() {
// Boucle vide car le réveil relance setup()
}