#include <Adafruit_NeoPixel.h>
#define LED_PIN PB3
#define LED_COUNT 60
Adafruit_NeoPixel pixels(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin();
}
void loop() {
rainbowChase(20, 50); // Change the values as per your preference
}
void rainbowChase(int delayTime, int trailLength) {
for (int j = 0; j < 256; j++) {
for (int i = 0; i < pixels.numPixels() + trailLength; i++) {
pixels.setPixelColor(i, Wheel(((i * 256 / pixels.numPixels()) + j) & 255));
pixels.show();
delay(delayTime);
if (i >= trailLength) {
pixels.setPixelColor(i - trailLength, 0);
}
}
}
}
uint32_t Wheel(byte WheelPos) {
if (WheelPos < 85) {
return pixels.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
} else if (WheelPos < 170) {
WheelPos -= 85;
return pixels.Color(255 - WheelPos * 3, 0, WheelPos * 3);
} else {
WheelPos -= 170;
return pixels.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
}