Advertisement
CHU2

ELEC 2 LAB 3.6

May 11th, 2025
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Arduino 0.91 KB | Source Code | 0 0
  1. #define led_pin 2               // gpio2 onboard led
  2. #define wake_duration_sec 5      // wake duration in seconds
  3.  
  4. void setup() {
  5.   Serial.begin(115200);
  6.   pinMode(led_pin, OUTPUT);
  7.  
  8.   // if woken by timer
  9.   if (esp_sleep_get_wakeup_cause() == ESP_SLEEP_WAKEUP_TIMER) {
  10.     Serial.println("timer wake up! blinking led for 5 seconds...");
  11.     unsigned long start_time = millis();
  12.     while (millis() - start_time < wake_duration_sec * 1000UL) {
  13.       digitalWrite(led_pin, !digitalRead(led_pin));
  14.       delay(500);
  15.     }
  16.     digitalWrite(led_pin, LOW);  // ensure led off after blink
  17.   }
  18.  
  19.   Serial.print("going to deep sleep for ");
  20.   Serial.print(wake_duration_sec);
  21.   Serial.println(" seconds...");
  22.   delay(1000);
  23.  
  24.   // configure timer-based wakeup
  25.   esp_sleep_enable_timer_wakeup(wake_duration_sec * 1000000ULL);
  26.   esp_deep_sleep_start();
  27. }
  28.  
  29. void loop() {
  30.   // not used; device sleeps in setup
  31. }
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement