Загрузка данных


const int LED_PIN = 9;
const int BUTTON_PIN = 2;

bool ledState = false;
bool lastBtn = HIGH;

void setup() {
  pinMode(LED_PIN, OUTPUT);
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  Serial.begin(9600);
  Serial.println("Управление LED. Введите: ON или OFF");
}

void loop() {
  bool btn = digitalRead(BUTTON_PIN);
  if (lastBtn == HIGH && btn == LOW) {
    ledState = !ledState;
    digitalWrite(LED_PIN, ledState);
    Serial.println(ledState ? "OK: LED is ON." : "OK: LED is OFF.");
    delay(50);
  }
  lastBtn = btn;

  if (Serial.available() > 0) {
    String cmd = Serial.readStringUntil('\n');
    cmd.trim();
    cmd.toUpperCase();

    if (cmd == "ON") {
      digitalWrite(LED_PIN, HIGH);
      ledState = true;
      Serial.println("OK: LED is ON.");
    } 
    else if (cmd == "OFF") {
      digitalWrite(LED_PIN, LOW);
      ledState = false;
      Serial.println("OK: LED is OFF.");
    } 
    else {
      Serial.println("ERROR: Unknown command.");
    }
  }
}