#include <FastLED.h>
#define NUM_STRIPS 8
#define LEDS_PER_STRIP 30
CRGB leds[NUM_STRIPS][LEDS_PER_STRIP];
const int buttonOnPin = 2;
const int buttonOffPin = 3;
boolean buttonOnState = false;
boolean buttonOnPreviousState = false;
boolean buttonOffState = false;
boolean buttonOffPreviousState = false;
void setup() {
FastLED.addLeds<WS2812B, 6>(leds[0], LEDS_PER_STRIP);
FastLED.addLeds<WS2812B, 7>(leds[1], LEDS_PER_STRIP);
FastLED.addLeds<WS2812B, 8>(leds[2], LEDS_PER_STRIP);
FastLED.addLeds<WS2812B, 9>(leds[3], LEDS_PER_STRIP);
FastLED.addLeds<WS2812B, 10>(leds[4], LEDS_PER_STRIP);
FastLED.addLeds<WS2812B, 11>(leds[5], LEDS_PER_STRIP);
FastLED.addLeds<WS2812B, 12>(leds[6], LEDS_PER_STRIP);
FastLED.addLeds<WS2812B, 13>(leds[7], LEDS_PER_STRIP);
pinMode(buttonOnPin, INPUT_PULLUP);
pinMode(buttonOffPin, INPUT_PULLUP);
FastLED.setBrightness(255);
}
void loop() {
buttonOnState = digitalRead(buttonOnPin);
if (buttonOnState == LOW && buttonOnPreviousState == HIGH) {
for (int i = 0; i < NUM_STRIPS; i++) {
fill_solid(leds[i], LEDS_PER_STRIP, CRGB::Green);
FastLED.show();
}
}
buttonOffState = digitalRead(buttonOffPin);
if (buttonOffState == LOW && buttonOffPreviousState == HIGH) {
for (int i = 0; i < NUM_STRIPS; i++) {
fill_solid(leds[i], LEDS_PER_STRIP, CRGB::Black);
FastLED.show();
}
}
buttonOnPreviousState = buttonOnState;
buttonOffPreviousState = buttonOffState;
}