Анализатор качества воздуха на ардуино
Прибор предназначен для контроля качества воздуха в помещении и отображения таких параметров, как температура, влажность, содержание CO2 а также выявления загрязнения воздуха угарным газом (CO), табачным дымом, парами спирта, ацетона, формальдегидов и других токсичных газов. “Сердцем” устройства является Seeeduino Nano - клон Arduino, присалнный на обзор компанией Seeed Studio.
Плата Seeeduino Nano поставляется в картонной коробке и выглядит следующим образом:
Отличительной особенностью этой платы является использование разъёма USB type-C и преобразователя USB-UART на базе микросхемы cp2102.
Для отображения информации используется дисплей 16х2, также от Seeed Studio. Его особенность - красная подсветка (чёрный текст на красном фоне) и I2C - интерфейс.
Наконец, третья плата от Seeed Studio - модуль контроля качества воздуха на базе датчика MP503. Предназначен для обнаружения загрязнений воздуха (паров алкоголя, ацетона, табачного дыма, формальдегидов и CO). Подключается к Arduino по аналоговому интерфейсу (формирует аналоговый сигнал, величина которого тем больше, чем сильнее загрязнён воздух).
Для удобного подключения всех модулей к Arduino Seeed Studio предлагает такой шилд:
На нём выведены 3 цифровых, 3 аналоговых разъёма (в каждом из которых линии питания и две линии GPIO), разъёмы I2C и UART.
Для измерения уровня влажности и температуры используется модуль AM2302 (DHT22). Он позволяет измерять относительных влажность воздуха в диапазоне 0-100% с точностью 2% и температуру от 40°С до 80°С с точностью 0.5 °C.
Наконец, для определения содержания углекислого газа в воздухе используется датчик MH-Z19, позволяющий измерять содержание CO2 от 0 до 5000 ppm и работающий как по интерфейсу UART, так и по аналоговому интерфейсу (PWM).
Т.к., у меня не оказалось в наличии подходящих разъёмов для подключения последних двух модулей к плате Grove shield, я использовал цанговые зажимы (выломанные из панели для DIP-микросхемы), поместив их в термоусадочную трубку. Подошли идеально.
Для заливки прошивки в Seeeduino потребуется установить драйвера для микросхемы CP2102 (если Arduino не отображается соответствующий порт).
Я использовал Mac OS X и опишу, как установить драйвер под неё.
Чтобы убедиться, что устройство подключено, вводим в терминале команду lsusb
и в результате видим список, подобный этому:
Bus 020 Device 003: ID 05ac:0274 Apple Inc. Apple Internal Keyboard / Trackpad Serial: D3H63422BL1GHMFAF6FF
Bus 020 Device 000: ID 05ac:8290 Apple Inc. Bluetooth USB Host Controller
Bus 020 Device 015: ID 10c4:ea60 Silicon Laboratories, Inc. Seeeduino Nano Serial: 0001
Bus 000 Device 001: ID 1d6b:LPTH Linux Foundation USB 3.0 Bus
Тут третья строка - наша Seeeduino.
Для поиска драйверов идём на сайт SiLabs www.silabs.com и … ничего годного там не находим. Рабочие драйвера под MacOS X можно скачать в конце статьи.
Если версии системы High Sierra и выше, то ОС будет блокировать модуль ядра SiLabs.
Чтобы разрешить его, открываем "System Preferences" -> "Security & Privacy”, внизу окна видим сообщение
"System software from developer "SiLabs" was blocked from loading."
Нажимаем кнопку "Allow" и перегружаем компьютер.
После чего в файловой системе должно появиться устройство /dev/cu.SLAB_USBtoUART
. Его и надо выбрать в Arduino IDE.
После чего за полчаса была наговнокоженанаписана прошивка под Arduino (скачать вместе с исходниками можно по ссылке в конце статьи).
Уровень загрязнения воздуха отображается в верхнем левом углу экрана. В верхнем правом углу выводится уровень содержания CO2. Нижняя строка отображает влажность воздуха (слева) и его температуру (справа).
Для чистого воздуха уровень загрязнения должен не превышать 50. Значения от 50 до 200 - слабое загрязнение. От 200 до 400 - сильное загрязнение. Выше 400 - караул, спасайся кто может.
При этом важно помнить, что для выхода в рабочий режим датчику надо дать прогреться несколько минут. Аналогично, датчик MH-Z19 требует 3 минуты прогрева, чтобы его показания соответствовали действительности.
Для анализатора был смоделирован корпус под 3D-принтер. Сам корпус состоит из двух половинок, которые туго втсавляются друг-в друга. Дисплей, датчик загрязнения и Grove-шилд привинчиваются к пластмассовой плате (дисплей - с одной стороны, шилд с MP503 - с другой).
Датчики AM2302 и MH-Z19 устанавливаются непосредственно на заднюю панель. Там же есть отверстие для сенсора MP503.
В собранном виде с проводами:
По ссылкам можно скачать исходники проекта и модели для корпуса, а также драйвера для cp2102 под MacOS X.
Файлы
Исходники прошивкиМодель корпуса (STL)
Mac_OSX_VCP_Driver.zip (драйвер для cp2102)
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
rem
пт, 01/10/2020 - 11:48
Постоянная ссылка (Permalink)
Seeeduino Nano
В этом магазине заказывать, больно крутой ценник, понимаю что мож качественно, Алик наше все
Статья я так понял прорекламить этот магазин, и Китайскую компанию .
Устройство понравилось, спору нет.
trol
пн, 01/13/2020 - 09:14
Постоянная ссылка (Permalink)
...
Статья появилась потому, что Seed предложили сделать мини-обзор на свои модули. Что послужило мотивом наконец доделать девайс по измерению СО2, который используется уже пару лет в незаконченном виде, без корпуса.
Цены у них, согласен, высокие. Но ничего не мешает собрать то же самое на алишных компонентах. Лично я вообще не перевариваю все эти ардуины, предпочитая разводить печатную плату под конкретное устройство, вместо того, чтобы соединять зарослями "лапши" готовые модули. Справедливости ради, надо заметить, что модули тут сделаны качественно и хорошо проработаны в плане удобства подключения к ардуине - просто берём и подключаем к плате кабелем через разъём. Вообще ничего паять не надо. Результат выглядит относительно культурно, но, всё равно - последней фото можно видеть кучу [ненужных] проводов.