const int ledPin = 13;
const int lightSensor = A1;
int lightLevel = 0;
int brightness = 0;
bool wasDark = false; // Флаг для отслеживания наступления темноты
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
lightLevel = analogRead(lightSensor);
// Если стало темно (значение меньше 500)
if (lightLevel < 500) {
if (!wasDark) {
// Плавное включение при наступлении темноты
for (brightness = 0; brightness <= 150; brightness++) {
analogWrite(ledPin, brightness);
delay(20);
}
wasDark = true;
} else {
// Поддерживаем приглушенный свет
analogWrite(ledPin, 150);
}
}
// Если светло
else {
if (wasDark) {
// Плавное выключение
for (brightness = 150; brightness >= 0; brightness--) {
analogWrite(ledPin, brightness);
delay(20);
}
wasDark = false;
} else {
analogWrite(ledPin, 0);
}
}
delay(100);
}