const int BTN = D2; const uint8_t LED_PINS[] = { PIN_LED_R, PIN_LED_G, PIN_LED_B }; const int LED_COUNT = 3; bool ledOn = false; void ledApply() { for (int i = 0; i < LED_COUNT; i++) { digitalWrite(LED_PINS[i], ledOn ? LOW : HIGH); } Serial.println(ledOn ? F("LED ON") : F("LED OFF")); } void setup() { for (int i = 0; i < LED_COUNT; i++) { pinMode(LED_PINS[i], OUTPUT); digitalWrite(LED_PINS[i], HIGH); } pinMode(BTN, INPUT_PULLUP); Serial.begin(115200); } void loop() { if (Serial.available()) { String cmd = Serial.readStringUntil('\n'); cmd.trim(); if (cmd == "on") { ledOn = true; ledApply(); } else if (cmd == "off") { ledOn = false; ledApply(); } } if (digitalRead(BTN) == LOW) { ledOn = !ledOn; ledApply(); delay(300); } }