// flash 3 Pixel LED WS2812B strips randomly, version 2, www.steamtraininfo.com.
//Цветные кубики - см.внизу
#include <FastLED.h>
#define NUM_LEDS 15 //the number of leds that will light
#define DATA_PINA 8 // Connect to the data wires on the pixel strips
#define DATA_PINB 7
#define DATA_PINC 6
CRGB ledsA[NUM_LEDS]; // sets number of pixels that will light on each strip.
CRGB ledsB[NUM_LEDS];
CRGB ledsC[NUM_LEDS];
void loop() { BlinkRandomly(); }
void setup() {
FastLED.addLeds<WS2812B, DATA_PINA, GRB>(ledsA, NUM_LEDS);
FastLED.addLeds<WS2812B, DATA_PINB, GRB>(ledsB, NUM_LEDS);
FastLED.addLeds<WS2812B, DATA_PINC, GRB>(ledsC, NUM_LEDS);
randomSeed(analogRead(A0)); } /*sets the pin to create "static so the the initial LED to light is different
each time through the loop */
void fillStrip(int number, const struct CRGB &color) {
switch (number) {
case 1: fill_solid(ledsA, NUM_LEDS, color); break;
case 2: fill_solid(ledsB, NUM_LEDS, color); break;
case 3: fill_solid(ledsC, NUM_LEDS, color); break;
}
FastLED.show(); }
void BlinkRandomly() {
int delayTime = random(25, 200); // sets the blink rate in milliseconds
int stripIndex = random(1, 4);
fillStrip(stripIndex, CRGB::Red); delay(delayTime);
fillStrip(stripIndex, CRGB::Black); delay(delayTime);
}