const int relayPin = 7; // Пин управления реле (виртуальный)
const int ledPin = 10; // LED вместо лампы
unsigned long lastAuto = 0;
void setup() {
pinMode(relayPin, OUTPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(relayPin, LOW);
digitalWrite(ledPin, LOW);
Serial.begin(9600);
Serial.println("Введите ON или OFF для управления лампой (LED)");
}
void loop() {
// Управление через Serial
if (Serial.available()) {
String command = Serial.readStringUntil('\n');
command.trim();
command.toUpperCase();
if (command == "ON") {
digitalWrite(relayPin, HIGH);
digitalWrite(ledPin, HIGH); // включаем светодиод
Serial.println("Лампа ВКЛ (LED загорается)");
} else if (command == "OFF") {
digitalWrite(relayPin, LOW);
digitalWrite(ledPin, LOW); // выключаем светодиод
Serial.println("Лампа ВЫКЛ (LED гаснет)");
} else {
Serial.println("Неизвестная команда. Используйте ON или OFF");
}
}
// Автоматический режим: каждые 10 секунд включаем на 2 секунды
unsigned long currentMillis = millis();
if (currentMillis - lastAuto >= 10000) {
lastAuto = currentMillis;
digitalWrite(relayPin, HIGH);
digitalWrite(ledPin, HIGH);
delay(2000);
digitalWrite(relayPin, LOW);
digitalWrite(ledPin, LOW);
}
}