deep_sleep_battery_saver.ino
Pone el microcontrolador en sueño profundo y lo despierta periódicamente para ahorrar batería.
Usa las API de gestión de energía de ESP-IDF. El PaperDIY tiene una batería de 140 mAh, lo que hace que esta función sea crucial. Tenga en cuenta que la RAM se pierde durante el sueño profundo. Use RTC RAM para retener datos críticos.
deep_sleep_battery_saver.ino
#include <Arduino.h>
// Broche de réveil (ex: bouton ou timer)
#define WAKE_PIN 0
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("Waking up...");
// Vérifier la cause du réveil
esp_sleep_wakeup_cause_t wakeup_reason = esp_sleep_get_wakeup_cause();
if (wakeup_reason == ESP_SLEEP_WAKEUP_TIMER) {
Serial.println("Woken by timer");
} else if (wakeup_reason == ESP_SLEEP_WAKEUP_EXT0) {
Serial.println("Woken by external trigger");
}
// Effectuer une tâche (ex: lecture capteur)
Serial.println("Doing work...");
delay(1000);
// Configurer le réveil par minute
esp_sleep_enable_timer_wakeup(60 * 1000000ULL); // 60 secondes
Serial.println("Going to deep sleep...");
esp_deep_sleep_start();
}
void loop() {
// Jamais atteint en deep sleep
}