Регулятор собран на базе микроконтроллера ATMEGA8A, с выводом показаний на двухстрочный индикатор. Для ввода настроек применен энкодер с кнопкой. Введенные настройки сохраняются в энергонезависимой памяти микроконтроллера, поэтому пропадание питания не грозит пропаданием настроек.
В качестве исполнительного устройства выбраны 12-и вольтовые реле, поэтому устройству необходимо это напряжение. Для питания цифровой части использован линейный стабилизатор L7805, который обеспечивает схему пятью вольтами.
Датчиком влажности/температуры служит венец китайской научной мысли DHT22. Также пойдет более дешевый DHT11, о методике работы с которым писалось ранее.
Плата разведена на одностороннем текстолите с использованием нескольких перемычек. Все элементы, за исключением микроконтроллера и кварцевого резонатора, использованы в выводном исполнении.
Настройка порогов температуры и влажности происходит с помощью энкодера с кнопкой, для этого организовано простое меню. При нажатии на кнопку появляется возможность установить порог температуры, значение устанавливается вращением ручки энкодера. При повторном нажатии кнопки, появляется возможность установить порог влажности. Следующее нажатие кнопки сохранит установки в EEPROM, но только в том случае, если новые значения отличаются от прошлых (для уменьшения количества циклов записи энергонезависимой памяти).
Настройка порога температуры
Настройка порога влажности
Дисплей который тут применен имеет подсветку, поэтому решил использовать и ее. Если активно меню настроек, то подсветка не погаснет. При выходе из меню она проработает еще примерно 15 секунд и погаснет. Чтобы активировать подсветку достаточно крутануть энкодер в любую сторону. Кстати, на случай если пользователь забудет выйти из меню настроек, микроконтроллер это сделает самостоятельно. В этом случае установленные настройки не сохраняются.
Еще на плате предусмотрено место для пьезопищалки (слева от реле), она пока не установлена.
В основном режиме на дисплей выводятся измеренные показания. Когда температура или влажность достигают заданного предела, напротив значения появляется специальный символ.
Для индикации работы устройства имеются 5 светодиодов. Светодиод D3 (светит зеленым на фото выше) показывает наличие питания схемы. Светодиод D4 моргает с интервалом 5 сек, сразу будет видно, выполняется ли основная программа или нет. Светодиод D2 индицирует проблемы работы с датчиком. А светодиоды D7-D8 показывают какое из реле находится во включенном состоянии.
Ниже можно скачать файлы к проекту. Прошивка скомпилирована под частоту работы микроконтроллера 10МГц.
Прошивка (обновление от 25.05.12г)
Последние статьи
- Лучшая практика проектирования при размещении компонентов печатной платы
- Android 6.0 на lancer X
- Простой усилитель мощности класса АВ своими руками.
- Двухтактный ультралинейный ламповый УНЧ на EL84 (6П14П).
- Люксметр на ATmega8 и цифровом датчике BH1750
- Контроллер для светодиодной ленты с ИК управлением
- Самодельный LED светильник на основе ИК датчика HC-SR501
- Простой усилитель низкой частоты на TDA7377 и NE5532
- Простейший звонок с двумя мелодиями
- LED Cube 8x8x8 на Arduino с RTC