Термостат управления обогревателем
И так, зима близится и хочется тепла. Как обычно я расчехляю свой обогреватель ибо центральное отопление оставляет желать лучшего, а мой комфорт 25 градусов тепла!
В прошлом году я задумался над автоматизацией сего процесса и приобрёл себе термостат за $12, который приколхозил к обогревателю. Получилось неплохо, но сие китайское чудо периодически зависало (раз в три дня), и температура падала - я мёрз.
В этом году (этой зимой) было решено самостоятельно сделать термостат лучше, технологичнее и дешевле купленного.
И так, нам понадобятся:
1) Arduino nano 3 - $2
2) Датчик температуры DHT-11 - $1
3) ЖК-дисплей 1602 + контроллер i2C PCF8574 - $2.3
4) Кнопочки 2 шт. и светодиод - $0.5
5) Розетка внутренняя 230 В - $1.5
6) Трансформатор + выпрямитель (и фильтр на 2000 мФ) - $0 (нарыл в загашнике)
7) Резисторы 220 Ом 1 шт., 10 кОм 2 шт. - $0 (понавыпаивал из разных плат)
8) Провода, припой, паяльник, клей - $0 (всегда имеется в хозяйстве)
9) Какой-нить корпус (отлично подходит от компьютерного БП, нерабочего).
Схему сборки представил на иллюстрации.
Лампочка статуса розетки, чтобы ночью не светила прямо в глаз подвергалась множеству "издевательств".
Сперва я её посадил на ШИМ вывод ардуинки (5 контакт), и поставил пульсацию 30. Но ночью лампа всё равно светила в глаз шо дурная. Уменьшил до 20-ти, не помогло. Ну а меньше ставить нету смысла, т.к. днём плохо будет видно. Поэтому была принята следующая модификация.
А именно, увеличено отверстие в корпусе сверлом на 6, затем продел в него кусок колпачка от иголки (шприца), напёр туда немного ваты как светорассеиватель а затем воткнул диод. Корпус колпачка замотал изолентой в районе диода.
Так же в программе задал отключение подсветки дисплея через 5 минут, чтобы не светило почём зря. Обновление изображения на дисплее тоже оптимизировано, чтобы не напрягать шину. Написал простенькую анимацию отображения изменения числа температуры кнопочками - для наглядности. Настройки сохраняются в EEPROM сразу после изменения.
Так же реализована защита от скачка показаний датчика, чтобы реле не щёлкало как умалишённое туда-сюда. По умолчанию задержка 120 секунд. На этот период программа игнорирует показания датчика, но отображает их.
При нажатии кнопок, сперва активируется дисплей (если был погашен), а только затем меняются значения. Сделано для защиты памяти от лишней перезаписи (увеличивает срок службы), если просто хочется глянуть показания с подсветкой.
Получилось довольно неплохо. Неаккуратно, но работает стабильно и не зависает. Конечо, можно допилить отдельную схему питания компонентов (релле + дисплей + датчик) на стабилизаторе 7805 (я их кстати заказал), чтобы разгрузить таковой в ардуинке. Может я так и сделаю. Но покуда, потрогал пальцем стабилизатор на плате и понял что он сильно не греется - и так походит.
Скачать проект/скетч:
Архив + необходимые библиотеки.zip --> 2754 загрузок
07.10.2019. 17:23
Комментарии
Статью еще не комментировали.
Меню
Статьи
- Настраиваем Windows 10 LTSC 2021
- Сброс аккаунта (FRP) huawei и honor
- Блок питания 200 Ватт (>10А) из трансформатора компьютерного блока ATX
- Программируемое реле дворников ВАЗ 2101 своими руками
- Настраиваем Windows 10 LTSC. Более "мягкий" способ
- Отключение телеметрии MS office 2019/2021 (и обновлений)
- Модернизация стабилизатора напряжения Daewoo DW-TZM2kVA и аналогичных.
- Термостат управления обогревателем
- Настраиваем Windows 10 LTSC
- Самые лучшие электронные часы в мире.
- Сохраняем пароли в облаке
- Правда о 3D-Secure
- Клавиатурный тренажёр
- Список изменений Mbux
- Разлочка аккаунта google на android
Закладки
Комментарии
- Антон (Спасибо тебе добрый человек!)
- homa (Сайт virustotal ругается на файл nullprog...)
- Стас (Здравствуйте! Подскажите как решить ту ж...)
- fc00d (Отключать обновления - это, имхо, нонсенс.)
- rezorustavi (Да и у меня проблем не замеченно и...)
Написать комментарий
* - обязательное поле