Приветствую всех! Может кто подправить мою ошибку?
Как правильно составить функцию ожидания, в секундах..?
if (analogRead(PHOTO) < BRIGHT_THRESHOLD) >= (secs == 15)) { - не работает.
Типа, если освещение меньше назначенного, в течении (держится) 15сек., то яркость дисплея на минимум..
Может ни так вписываю ожидание?
.
Приветствую всех! Может кто подправить мою ошибку?
Как правильно составить функцию ожидания, в секундах..?
if (analogRead(PHOTO) < BRIGHT_THRESHOLD) >= (secs == 15)) { - не работает.
Типа, если освещение меньше назначенного, в течении (держится) 15сек., то яркость дисплея на минимум..
Может ни так вписываю ожидание?
.
Разобрался ))
Вот код, может кому понадобится..
unsigned long timing;
unsigned long period_time = (long)15000; // 15 секунд
void checkBrightness() {
if (analogRead(PHOTO) > BRIGHT_THRESHOLD) timing = millis();
if ((hm(hrs, mins) >= hm(23, 15) || hm(hrs, mins) <= hm(5, 46)) && (millis() - timing > period_time)) {
analogWrite(BACKLIGHT, LCD_BRIGHT_MIN);
#if (LED_MODE == 0)
LED_ON = (LED_BRIGHT_MIN);
#else
LED_ON = (255 - LED_BRIGHT_MIN);
#endif
} else
analogWrite(BACKLIGHT, LCD_BRIGHT_MAX);
}
Затухание дисплея по времени.
У меня с 23:15 по 5:46, если освещение ниже установленного держится в течении 15 сек (избежать дребезжание фоторезиста), то яркость дисплея на Мин... иначе Макс...