Кімнатний монітор мікроклімату

Не буду долго расписывать вред «спёртого» воздуха, нормы температуры, влажности и содержания углекислого газа в жилых помещениях, всё уже описано до меня, и значительно подробнее. Полюбопытствовать можно, например, тут или поискать ещё, в Сети достаточно информации.

В Сети уже есть несколько конструкций аналогичными функциями, но все по разным причинам меня не устроили (слабая информативность, излишества вроде 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

Прикрепленные файлы:

Top