#include <Adafruit_NeoPixel.h>
// While we wait for Feather ESP32 V2 to get added to the Espressif BSP,
// we have to select PICO D4 and UNCOMMENT this line!
//#define ADAFRUIT_FEATHER_ESP32_V2
// then these pins will be defined for us
#if defined(ADAFRUIT_FEATHER_ESP32_V2)
#define PIN_NEOPIXEL 0
#define NEOPIXEL_I2C_POWER 2
#endif
#if defined(PIN_NEOPIXEL)
Adafruit_NeoPixel pixel(1, PIN_NEOPIXEL, NEO_GRB + NEO_KHZ800);
#endif
void setup() {
Serial.begin(115200);
// Turn on any internal power switches for TFT, NeoPixels, I2C, etc!
enableInternalPower();
}
void loop() {
LEDon();
delay(1000);
disableInternalPower();
LEDoff();
esp_sleep_enable_timer_wakeup(1000000); // 1 sec
esp_light_sleep_start();
// we'll wake from light sleep here
// wake up 1 second later and then go into deep sleep
esp_sleep_enable_timer_wakeup(1000000); // 1 sec
esp_deep_sleep_start();
// we never reach here
}
void LEDon() {
#if defined(PIN_NEOPIXEL)
pixel.begin(); // INITIALIZE NeoPixel
pixel.setBrightness(20); // not so bright
pixel.setPixelColor(0, 0xFFFFFF);
pixel.show();
#endif
}
void LEDoff() {
#if defined(PIN_NEOPIXEL)
pixel.setPixelColor(0, 0x0);
pixel.show();
#endif
}
void enableInternalPower() {
#if defined(NEOPIXEL_POWER)
pinMode(NEOPIXEL_POWER, OUTPUT);
digitalWrite(NEOPIXEL_POWER, HIGH);
#endif
#if defined(NEOPIXEL_I2C_POWER)
pinMode(NEOPIXEL_I2C_POWER, OUTPUT);
digitalWrite(NEOPIXEL_I2C_POWER, HIGH);
#endif
#if defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2)
©Adafruit Industries Page 25 of 263