#include #define STATUS_LED_PIN 1 #define LED_PIN 6 #define BUTTON_PIN A0 #define NUM_LEDS 144 #define LED_TYPE WS2812B #define COLOR_ORDER GRB CRGB leds[NUM_LEDS]; uint8_t RED = 255; uint8_t GREEN = 20; uint8_t BLUE = 147; unsigned long lastPrintTime = 0; const unsigned long printInterval = 1000; bool buttonPressed = false; void setup() { pinMode(BUTTON_PIN, INPUT_PULLUP); pinMode(STATUS_LED_PIN, OUTPUT); digitalWrite(STATUS_LED_PIN, LOW); Serial.begin(115200); FastLED.addLeds(leds, NUM_LEDS); FastLED.clear(); FastLED.show(); randomSeed(analogRead(A2)); updateLEDs(); } void loop() { if (digitalRead(BUTTON_PIN) == LOW && !buttonPressed) { buttonPressed = true; Serial.println("Button pressed"); digitalWrite(STATUS_LED_PIN, HIGH); delay(300); digitalWrite(STATUS_LED_PIN, LOW); delay(200); digitalWrite(STATUS_LED_PIN, HIGH); delay(300); digitalWrite(STATUS_LED_PIN, LOW); RED = random(0, 256); GREEN = random(0, 256); BLUE = random(0, 256); updateLEDs(); } if (digitalRead(BUTTON_PIN) == HIGH) { buttonPressed = false; } if (millis() - lastPrintTime >= printInterval) { lastPrintTime = millis(); Serial.print("R: "); Serial.print(RED); Serial.print(" | G: "); Serial.print(GREEN); Serial.print(" | B: "); Serial.print(BLUE); Serial.print(" | Button raw: "); Serial.println(digitalRead(BUTTON_PIN)); } } void updateLEDs() { fill_solid(leds, NUM_LEDS, CRGB(RED, GREEN, BLUE)); FastLED.show(); }