#include <Adafruit_NeoPixel.h>
#define LED_PIN1 12
#define LED_PIN2 3
#define LED_PIN3 8
#define LED_COUNT 24
Adafruit_NeoPixel ring1 = Adafruit_NeoPixel(LED_COUNT, LED_PIN1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel ring2 = Adafruit_NeoPixel(LED_COUNT, LED_PIN2, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel ring3 = Adafruit_NeoPixel(LED_COUNT, LED_PIN3, NEO_GRB + NEO_KHZ800);
void setup() {
ring1.begin();
ring2.begin();
ring3.begin();
ring1.setBrightness(150);
ring2.setBrightness(150);
ring3.setBrightness(150);
}
void loop() {
// Chase clockwise
for (int i = 0; i < LED_COUNT; i++) {
int j = (i + LED_COUNT - 5) % LED_COUNT;
int k = (i + LED_COUNT - 5) % LED_COUNT;
ring1.setPixelColor(i, Wheel(i * 256 / LED_COUNT));
ring2.setPixelColor(j, Wheel(i * 256 / LED_COUNT));
ring3.setPixelColor(k, Wheel(i * 256 / LED_COUNT));
ring1.show();
ring2.show();
ring3.show();
delay(50);
}
// Chase anticlockwise
for (int i = LED_COUNT - 1; i >= 0; i--) {
int j = (i + LED_COUNT - 6) % LED_COUNT;
int k = (i + LED_COUNT - 3) % LED_COUNT;
ring1.setPixelColor(i, Wheel(i * 256 / LED_COUNT));
ring2.setPixelColor(j, Wheel(i * 256 / LED_COUNT));
ring3.setPixelColor(k, Wheel(i * 256 / LED_COUNT));
ring1.show();
ring2.show();
ring3.show();
delay(100);
}
// Repeat the loop after a delay of 1000 milliseconds
delay(1000);
}
// Input a value 0 to 255 to get a color value.
// The colors are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 - WheelPos;
if(WheelPos < 85) {
return ring1.Color(255 - WheelPos * 3, 0, WheelPos * 6);
} else if(WheelPos < 170) {
WheelPos -= 85;
return ring1.Color(0, WheelPos * 3, 255 - WheelPos * 3);
} else {
WheelPos -= 170;
return ring1.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
ring1:GND
ring1:VCC
ring1:DIN
ring1:DOUT
ring2:GND
ring2:VCC
ring2:DIN
ring2:DOUT
ring3:GND
ring3:VCC
ring3:DIN
ring3:DOUT