Переписал скетч управления газовым котлом. Тем, кто уже сделал прибор, особого смысла менять прошивку нет, нового функционала не появилось. Новая прошивка может быть полезна тем, кто разрабатывает управление для своих газовых и электрических котлов. Обратите внимание на файл controller.ino, в него вынесена вся логика управления котлом на основе температурных кривых. Достаточно скопировать файл в папку со своим проектом и использовать функцию getController. В параметрах функции задаются: желаемая температура, температура в доме, уличная температура. Возвращает функция необходимую температуру жидкости в контуре отопления. Для задания температурной кривой используйте функцию setCurve().
Исходники выложил на GitHub: https://github.com/maxvdovin/termostat
Коротко о содержимом файлов:
- termostat.ino, основной файл проекта с функциями loop(), setup() и объявлением глобальных переменных.
- controller.ino, файл с логикой управления котлом на основе температурных кривых.
- sensors.ino, считывание показаний температурных датчиков и управление блоком реле.
- ir.ino, ИК порт - считываем сигналы с пульта и управляем прибором.
- screen.ino, отвечает за взаимодействие с экраном, выводит информацию на дисплей.
- timers.ino, таймеры для инициации событий.