//num 9
#define LED_CLOSED 9
#define LED_OPEN 5
#define LDR_PIN A0 // Фоторезистор
int ldrValue;
bool doorOpen = false;
unsigned long timer;
void setup() {
pinMode(LED_CLOSED, OUTPUT);
pinMode(LED_OPEN, OUTPUT);
Serial.begin(9600);
digitalWrite(LED_CLOSED, HIGH); // Начальное состояние
Serial.println("Система запущена");
}
void loop() {
ldrValue = analogRead(LDR_PIN);
if (!doorOpen && ldrValue > 512) {
openDoor(); // Обнаружен свет - открываем
}
else if (doorOpen && millis() - timer > 3000) {
checkDoor(); // Проверяем через 3 секунды
}
delay(100);
}
void openDoor() {
doorOpen = true;
timer = millis();
digitalWrite(LED_CLOSED, LOW);
digitalWrite(LED_OPEN, HIGH);
Serial.println("Дверь открыта");
}
void closeDoor() {
doorOpen = false;
digitalWrite(LED_CLOSED, HIGH);
digitalWrite(LED_OPEN, LOW);
Serial.println("Дверь закрыта");
}
void checkDoor() {
if (analogRead(LDR_PIN) > 512) {
Serial.println("Дверь остается открытой");
} else {
closeDoor();
}
}