Advertisement
CHU2

ELEC 2 LAB 3.5

May 11th, 2025 (edited)
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Arduino 0.82 KB | Source Code | 0 0
  1. #define button_pin 0  // gpio0 usually has a button
  2. #define led_pin    2  // gpio2 onboard led
  3.  
  4. void setup() {
  5.   Serial.begin(115200);
  6.   pinMode(button_pin, INPUT_PULLUP);
  7.   pinMode(led_pin, OUTPUT);
  8.  
  9.   // if woken by button (ext0)
  10.   if (esp_sleep_get_wakeup_cause() == ESP_SLEEP_WAKEUP_EXT0) {
  11.     Serial.println("woke up! blinking led for 5 seconds...");
  12.     unsigned long start_time = millis();
  13.     while (millis() - start_time < 5000) {
  14.       digitalWrite(led_pin, !digitalRead(led_pin));
  15.       delay(500);
  16.     }
  17.     digitalWrite(led_pin, LOW);  // ensure led off after blink
  18.   }
  19.  
  20.   Serial.println("going to deep sleep. press button to wake...");
  21.   delay(1000);
  22.   esp_sleep_enable_ext0_wakeup(GPIO_NUM_0, 0);  // wake on low signal
  23.   esp_deep_sleep_start();
  24. }
  25.  
  26. void loop() {
  27.   // will not run unless woken again
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement