#include <Adafruit_NeoPixel.h>
// Pin definitions for each NeoPixel
#define LED_PIN_1 4
#define LED_PIN_2 5
#define LED_PIN_3 6
#define LED_PIN_4 8
#define LED_PIN_5 10
// Number of LEDs per strip (in this case, 1 per pin)
#define NUM_LEDS 1
// Create NeoPixel objects for each LED
Adafruit_NeoPixel led1 = Adafruit_NeoPixel(NUM_LEDS, LED_PIN_1, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel led2 = Adafruit_NeoPixel(NUM_LEDS, LED_PIN_2, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel led3 = Adafruit_NeoPixel(NUM_LEDS, LED_PIN_3, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel led4 = Adafruit_NeoPixel(NUM_LEDS, LED_PIN_4, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel led5 = Adafruit_NeoPixel(NUM_LEDS, LED_PIN_5, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel leds[] = {led1, led2, led3, led4, led5};
void setup() {
// Initialize each NeoPixel LED
for (int i = 0; i < 5; i++) {
leds[i].begin();
leds[i].show(); // Ensure all LEDs start off
}
// Seed random number generator
randomSeed(analogRead(0));
}
void loop() {
// Randomly select an LED to light up
int randomLedIndex = random(0, 5);
// Turn off all LEDs
for (int i = 0; i < 5; i++) {
leds[i].setPixelColor(0, leds[i].Color(0, 0, 0)); // Turn off
leds[i].show();
}
// Light up the selected LED with a random color
leds[randomLedIndex].setPixelColor(0, leds[randomLedIndex].Color(random(0, 256), random(0, 256), random(0, 256)));
leds[randomLedIndex].show();
// Wait for 1 second before the next LED is lit
delay(1000);
}