// https://www.reddit.com/r/FastLED/comments/1ekg6jr/controlling_4_separate_screens_from_the_same_board/
#include <FastLED.h>
CRGB ledsLB[72], ledsLR[6], ledsRR[6], ledsRB[72];
void setup() {
FastLED.addLeds<WS2812B, 26, GRB>(ledsLB, 72);
FastLED.addLeds<WS2812B, 25, GRB>(ledsLR, 6);
FastLED.addLeds<WS2812B, 23, GRB>(ledsRR, 6);
FastLED.addLeds<WS2812B, 22, GRB>(ledsRB, 72);
}
void loop() {
uint8_t hueBase = beatsin8(12, 0, 255);
for (uint8_t row = 0; row < 6; row++) {
uint8_t brightness = beatsin8(30, 180, 255, 0, row * 25);
uint8_t hue = hueBase;
for (uint8_t ledno = 0; ledno < 12; ledno++) {
ledsLB[row * 12 + ledno] = CHSV(hue, 255, brightness);
hue += 6;
}
ledsLR[5 - row] = CHSV(hue, 255, brightness);
hue += 6;
ledsRR[5 - row] = CHSV(hue, 255, brightness);
hue += 6;
for (uint8_t ledno = 0; ledno < 12; ledno++) {
ledsRB[row * 12 + ledno] = CHSV(hue, 255, brightness);
hue += 6;
}
}
FastLED.show();
delay(20);
}