Open Cyliazar opened 6 years ago
понял только что нужно использовать lcd.backlight(); и lcd.noBacklight();.
Как отключить понял, делаю вот так:
void timeoutTick() { if ((millis() - timeout > 5000) && timeOut_flag) { lcd.clear(); lcd.setCursor(5, 1); lcd.print("CONNECTION"); lcd.setCursor(7, 2); lcd.print("FAILED"); timeOut_flag = 0; reDraw_flag = 1; delay(10000); lcd.noBacklight(); } }
Но вот как включить её, после того как на экране появилась инфа о состоянии ПК не могу догнать.
Разобрался сам! Фух! )))
Добавил в основной цикл строку " if (timeOut_flag > 0) lcd.backlight(); "
Вот так получилось:
void loop() { parsing(); // парсим строки с компьютера updatePlot(); // обновляем массив данных графика getTemperature(); // получить значения с датчиков температуры dutyCalculate(); // посчитать скважность для вентиляторов Timer1.pwm(FAN_PIN, duty * 10); // управлять вентиляторами LEDcontrol(); // управлять цветом ленты buttonsTick(); // опрос кнопок и смена режимов if (timeOut_flag > 0) lcd.backlight(); updateDisplay(); // обновить показания на дисплее timeoutTick(); // проверка таймаута }
добавил в прошивку настройку, но реализовал более правильно (без постоянного вызова функции backlight() )
У меня ПК всегда дает 5В на порт, даже когда выключился (кроме отключения по питанию). Ночью когда ложишься спать, экран мешает. Помогите доработаться код, чтоб когда потерялось соединение и на экране появилась надпись, подсветка экрана отключалась через например секунд 10. А после восстановления соединения, когда на экране снова появляются значения, то подсветка экрана снова включалась.