#include <FastLED.h>
#define dataPin 5
#define Color_Order GRB
#define CHIPSET WS2812B
#define NUM_LEDS 15
#define BRIGHTNESS 200
CRGB leds[NUM_LEDS];
DEFINE_GRADIENT_PALETTE(sunrise_gp) {
0, 0, 0, 0,
18, 98, 0, 0,
56, 161, 83, 0,
115, 212, 202, 0,
179, 255, 253, 213,
255, 255, 255, 255
};
CRGBPalette256 sunPal = sunrise_gp;
uint8_t paletteIndex = 0;
bool countUp = true;
void setup() {
FastLED.addLeds<CHIPSET, dataPin, Color_Order>(leds, NUM_LEDS);
}
void loop() {
EVERY_N_MILLISECONDS(100) {
for (int i = 0; i < NUM_LEDS; i++) {
leds[i] = ColorFromPalette(sunPal, paletteIndex);
}
FastLED.show();
if (countUp) {
paletteIndex += 1;
if (paletteIndex == 255) {
countUp = false;
}
} else {
paletteIndex -= 1;
if (paletteIndex == 0) {
countUp = true;
}
}
}
}