Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define button_pin 0 // gpio0 usually has a button
- #define led_pin 2 // gpio2 onboard led
- void setup() {
- Serial.begin(115200);
- pinMode(button_pin, INPUT_PULLUP);
- pinMode(led_pin, OUTPUT);
- // if woken by button (ext0)
- if (esp_sleep_get_wakeup_cause() == ESP_SLEEP_WAKEUP_EXT0) {
- Serial.println("woke up! blinking led for 5 seconds...");
- unsigned long start_time = millis();
- while (millis() - start_time < 5000) {
- digitalWrite(led_pin, !digitalRead(led_pin));
- delay(500);
- }
- digitalWrite(led_pin, LOW); // ensure led off after blink
- }
- Serial.println("going to deep sleep. press button to wake...");
- delay(1000);
- esp_sleep_enable_ext0_wakeup(GPIO_NUM_0, 0); // wake on low signal
- esp_deep_sleep_start();
- }
- void loop() {
- // will not run unless woken again
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement