Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Кстати о допиливании. Я похоже влип.
Думал только слегка ковырнуться в коде контроллера (вывод больше инфы на главный экран, замена многих элементов интерфейса на псевдографику, упрощение граф. библиотеки, замена библиотеки часов для работы с аппаратным I2C) Визуально код изменился не сильно. Почти прямая замена функций с легкой коррекцией Что-то вроде замен
myGLCD.drawLine(0, 8, 83, 8); на
myGLCD.drawHLine(0, 8, 83);
Но в результате пришел к необходимости коренных изменений.
А именно:
В оригинале контроллер каждую минуту сверяет текущее время со списком что именно в это время надо сделать «здесь и сейчас». Таким образом, если он проспал момент (свет пропал, я розетку переткнул...), то функция выполнена не будет. Или если вдруг проц уйдет в перезагруз – выполнится setup(); и все выходы примут дефолтные значения до ближайшего для данного выхода времени срабатывания. А это могут быть почти сутки. Легко проверить нажав ресет.
Теряется весь смысл энергонезависимых RTC часов.
Так что буду менять идеологию таймеров. Не срабатывание On или Off в данный момент, а диапазон времени включения т.е. врубить нагрузку с 8ч30м до 12ч45м а в коде (где ALARM) проверять не наступление нужного момента включения/выключеня, а попадание в диапазон.
Результатом поделюсь.
P.S. Вот со временем туго. Так что звиняйте конечный результат выложу явно не скоро.
Пользователь, который поблагодарил AlexNT за данный пост: