Кімнатний монітор мікроклімату
Не буду долго расписывать вред «спёртого» воздуха, нормы температуры, влажности и содержания углекислого газа в жилых помещениях, всё уже описано до меня, и значительно подробнее. Полюбопытствовать можно, например, тут или поискать ещё, в Сети достаточно информации.
В Сети уже есть несколько конструкций аналогичными функциями, но все по разным причинам меня не устроили (слабая информативность, излишества вроде wifi, приардуинивание «на соплях», связь с датчиком по pwm и так далее), поэтому, сделал свой вариант.
Устройство чисто утилитарное, создавалось для постоянного использования в комнате, где спит ребёнок, с возможностью отключить от сети и использовать в другом помещении при необходимости.
В конструкции также заложена возможность подключения вентилятора или сервопривода форточки/окна, для автоматического проветривания помещения при превышении порога содержания CO2.
Использованы датчики:
DHT-22 (AM2302) – влажность и температура
BMP180 – атмосферное давление
MH-Z19 – уровень CO2, датчик дорогой (~15$ на AliExpress), но точный и дающий достоверные данные
Дисплей – китайский "ILI9341" с SPI, без тачскрина, подойдёт любой диагонали из этой серии, я использовал 2.8` - недорого и читабельно.
Микроконтроллер ATmega128, просто потому, что дешевый, их есть под рукой и не стесняет по месту во flash.
Схема:
Основной экран(он же единственный в этой конструкции):
Добавлю, что текстовая информация о качестве воздуха("Свежий воздух" на скриншоте выше) взята из данных таблицы "норм" по датчику MH-Z19, вот этой:
и выводится соответственно измеренному уровню углекислого газа.
Этапы сборки:
Готовый прибор:
В программе есть ряд параметров, которые настраиваются 1 раз под конкретную роль устройства, они находятся в начале кода в main.c и откомментированы. Исходники приложены к статье, написаны под Atmel Studio 7, каждый может сам переделать убрать/добавить функционал «под себя» в любых некоммерческих целях, свободного места во флэше МК ещё очень много.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание |
---|---|---|---|---|
R1 | Резистор | 2-20R | 1 | |
R2, R5, R9 | Резистор | 300R | 3 | |
R3, R10 | Резистор | 1M | 2 | |
R4 | Резистор | 750R | 1 | |
R6 | Резистор |
7.5 кОм
|
1 | |
R7, R8 | Резистор |
10 кОм
|
2 | |
C1, C4 | Танталовый конденсатор | 10uF 10v | 2 | |
C2 | Танталовый конденсатор | 150uF 10v | 1 | |
C3, C5, C7 | Керамический конденсатор | 100nF | 3 | |
C6 | Керамический конденсатор | 1uF | 1 | |
C8, C9 | Керамический конденсатор | 10-18pF | 2 | |
ZQ1 | Пьезодинамик | 1 | ||
QZ1 | Кварцевый резонатор | 32.768kHz | 1 | |
QZ2 | Кварцевый резонатор | 12MHz | 1 | |
D1, D7 | Выпрямительный диод |
1N4007
|
2 | |
D2, D3 | Диод Шоттки | SS14 | 2 | |
D4, D5, D6 | Светодиод 3мм | 3 | ||
Q1, Q2 | MOSFET-транзистор |
2N7002
|
2 | |
U1 | МК AVR 8-бит |
ATmega128A
|
1 | |
LCD1 | LCD-дисплей | ILI9341 | 1 | Без тачскрина, с SPI, диагональ любая |
U2 | Датчик | BMP180 | 1 | |
U3 | Датчик | MH-Z19 | 1 | |
U5 | Датчик | DHT-22 | 1 | |
U4 | Линейный регулятор |
AMS1117-3.3
|
1 | |
U6 | Контроллер заряда LI-Po | LTC4054-4,2 | 1 | |
B1 | Вентилятор | 1 | ||
K1 | Реле | 5v | 1 |
Прикрепленные файлы:
- AirTester_FW.zip (345 Кб)
- AirTester_PCB.zip (87 Кб)
- AirTester_SRC.zip (351 Кб)