Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define led_pin 2 // gpio2 onboard led
- #define wake_duration_sec 5 // wake duration in seconds
- void setup() {
- Serial.begin(115200);
- pinMode(led_pin, OUTPUT);
- // if woken by timer
- if (esp_sleep_get_wakeup_cause() == ESP_SLEEP_WAKEUP_TIMER) {
- Serial.println("timer wake up! blinking led for 5 seconds...");
- unsigned long start_time = millis();
- while (millis() - start_time < wake_duration_sec * 1000UL) {
- digitalWrite(led_pin, !digitalRead(led_pin));
- delay(500);
- }
- digitalWrite(led_pin, LOW); // ensure led off after blink
- }
- Serial.print("going to deep sleep for ");
- Serial.print(wake_duration_sec);
- Serial.println(" seconds...");
- delay(1000);
- // configure timer-based wakeup
- esp_sleep_enable_timer_wakeup(wake_duration_sec * 1000000ULL);
- esp_deep_sleep_start();
- }
- void loop() {
- // not used; device sleeps in setup
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement