В последние годы повышение уровня углекислого газа (CO2) в атмосфере стало одной из главных проблем, связанных с изменением климата. Для эффективного контроля уровня CO2 в различных средах, таких как дома, офисы, и промышленные помещения, широко используются датчики CO2. Один из таких датчиков, MH-Z19B, предоставляет точные и надежные данные о концентрации CO2 в окружающей среде. Давайте рассмотрим, как устроены эти датчики и как их можно использовать. 1. Устройство MH-Z19B: MH-Z19B - это инфракрасный датчик CO2, разработанный для измерения концентрации углекислого газа в воздухе. Его основные компоненты включают в себя:
- Инфракрасный (ИК) сенсор: Основной элемент, отвечающий за измерение уровня CO2. Датчик использует принцип абсорбции инфракрасного излучения CO2 для точного определения его концентрации.
- Инфракрасный источник света: Излучает инфракрасное излучение в диапазоне, который поглощается CO2. Это излучение затем проходит через воздух и попадает на ИК сенсор для измерения.
- Компенсация температуры и влажности: MH-Z19B также оборудован системой компенсации температуры и влажности, что повышает точность измерений в различных условиях.
- VCC: Подключается к положительному питанию.
- GND: Подключается к земле.
- RX (Receive): Принимает данные от микроконтроллера.
- TX (Transmit): Передает данные микроконтроллеру.
- Контроль воздуха в помещениях: MH-Z19B может использоваться для мониторинга уровня CO2 в домах, офисах, классах и других помещениях для обеспечения здорового качества воздуха.
- Системы вентиляции: Интеграция с системами вентиляции для автоматического управления подачей свежего воздуха в зависимости от уровня CO2.
- Проекты Интернета вещей (IoT): MH-Z19B может быть включен в IoT-проекты для мониторинга уровня CO2 в реальном времени и передачи данных в облако.
#include <Arduino.h>
#include "MHZ19_uart.h"
MHZ19_uart mhz19;
void setup()
{
int status;
Serial.begin(9600);
mhz19.begin(2, 3);
mhz19.setAutoCalibration(false);
status = mhz19.getStatus();
Serial.println(status);
delay(2000);
status = mhz19.getStatus();
Serial.println(status);
delay(2000);
}
void loop()
{
Serial.println(mhz19.getPPM());
delay(1000);
}
Для работы вам понадобится еще 2 файла: MHZ19_uart.h и MHZ19_uart.cpp.
Обратите внимание, для конфигурирования датчика необходимо 2 раза вызвать функцию mhz19.getStatus(), после первого вызова она должна вернуть -1, после второго 0. Это означает что вы правильно подключили и он исправен.
После первого запуска программы датчик некоторое время может выводить неверные значения, например 5000 или другие. Спустя некоторое время (обычно пара минут) он начнет работать корректно.
Купить датчик можно по ссылкам в каталоге: нашем каталоге.