Розумний дім #10: Датчик CO₂

Контроль якості повітря в приміщенні — один із ключових елементів системи розумного дому. Концентрація вуглекислого газу безпосередньо впливає на самопочуття, концентрацію уваги та працездатність. У цій статті ми розглянемо, як підключити датчик CO₂ до контролера ESP32, обробити дані та інтегрувати їх у систему розумного дому. Матеріал буде корисним як початківцям, так і досвідченим розробникам, які хочуть реалізувати автоматизований моніторинг повітря.

Список обладнання та компонентів

  • Мікроконтролер ESP32 (підтримка Wi-Fi, можливість інтеграції з MQTT/Blynk)
  • Датчик CO₂ (наприклад, MH-Z19B або CCS811)
  • Датчик температури та вологості (опційно, для комплексного моніторингу)
  • Реле або модуль керування вентиляцією
  • Блок живлення 5В (або USB-адаптер)
  • З’єднувальні дроти, макетна плата або готова плата

Схема підключення та опис принципу роботи

Як приклад візьмемо популярний датчик MH-Z19B, який вимірює концентрацію CO₂ методом інфрачервоної абсорбції. Він підтримує інтерфейси UART та PWM. У зв’язці з ESP32 найчастіше використовується UART. Принцип роботи наступний:

Вивід датчика MH-Z19B Підключення до ESP32
VCC 5V
GND GND
TX GPIO16 (RX)
RX GPIO17 (TX)

Контролер ESP32 опитує датчик і отримує значення у ppm (parts per million — частин на мільйон). Ці дані можна вивести у Serial Monitor, передати у мобільний додаток або використати для керування системою вентиляції.

Приклад коду


// Приклад роботи з датчиком MH-Z19B на ESP32
#include 
#include 

MHZ19 myMHZ19;
HardwareSerial mySerial(2); // Використовуємо другий UART

#define RX_PIN 16  // RX ESP32
#define TX_PIN 17  // TX ESP32

unsigned long timer = 0;

void setup() {
  Serial.begin(115200);
  mySerial.begin(9600, SERIAL_8N1, RX_PIN, TX_PIN);
  myMHZ19.begin(mySerial);

  Serial.println("MH-Z19B CO2 sensor init...");
}

void loop() {
  if (millis() - timer >= 2000) { // кожні 2 секунди
    int co2 = myMHZ19.getCO2();
    Serial.print("CO2: ");
    Serial.print(co2);
    Serial.println(" ppm");

    // Приклад: якщо CO₂ вище норми — увімкнути вентиляцію
    if (co2 > 1000) {
      Serial.println("Увімкаємо вентиляцію!");
      // digitalWrite(pinRelay, HIGH);
    } else {
      // digitalWrite(pinRelay, LOW);
    }

    timer = millis();
  }
}

Коротке пояснення коду

У коді використовується бібліотека MHZ19.h для роботи з датчиком MH-Z19B. Через другий апаратний UART ESP32 зчитуються дані концентрації CO₂. Кожні 2 секунди контролер отримує показники, виводить їх у консоль та порівнює з порогом (наприклад, 1000 ppm). При перевищенні значення можна автоматично увімкнути вентиляцію, відкрити вікна через сервопривід або надіслати повідомлення у мобільний додаток.

Застосування та розширення проєкту

  • Моніторинг якості повітря у квартирі чи офісі
  • Автоматичне увімкнення вентиляції чи кондиціонера
  • Інтеграція з системами «розумного дому» (Home Assistant, MQTT, Blynk)
  • Надсилання сповіщень при перевищенні порогових значень
  • Комбінування з датчиками температури та вологості для комплексного аналізу мікроклімату
  • Використання у теплицях та зимових садах для контролю рівня CO₂
  • Створення портативного CO₂-монітора з відображенням на OLED-дисплеї

Висновок

Використання датчика CO₂ у розумному домі дозволяє контролювати мікроклімат і автоматично підтримувати оптимальні умови для здоров’я та комфорту. За допомогою ESP32 і датчиків, таких як MH-Z19B, можна побудувати гнучку систему моніторингу, яка попередить про підвищену концентрацію вуглекислого газу і допоможе своєчасно вжити заходів.

Якщо вам потрібен індивідуальний проєкт під ваші завдання, ми можемо розробити схему, виготовити друковані плати та повністю реалізувати рішення «під ключ». Ознайомтеся з прикладами у нашому портфоліо.

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Стерео підсилювач потужності 15Втх2 на TDA7297

Стерео підсилювач потужності 15Втх2 на TDA7297

Двохканальний підсилювач звукової частоти на основі мікросхеми TDA7297Містить захист від перевантаже..

125.21грн.

Стабілізатор напруги 5В 1,5А L7805CV

Стабілізатор напруги 5В 1,5А L7805CV

Стабілізатор напруги у вигляді мікросхеми з трьома ногамиВикористовується для стабілізації нестабілі..

12.54грн.

Спортивне табло таймер своїми руками

Спортивне табло таймер своїми руками

Постановка задачі Задачею проекту є виготовлення спортивного таймеру для міні-футбольного турні..

Модуль 8 — Фінальний проєкт Arduino: ідеї та збірка

Модуль 8 — Фінальний проєкт Arduino: ідеї та збірка

Модуль 8 — Фінальний проєкт (курс для початківців) Мета модуля: застосувати всі отримані знання..

Змінне жало паяльника 900M-T 1шт.

Змінне жало паяльника 900M-T 1шт.

Жало для паяльника 60Вт з регуляторомДіаметр робочої частини 3 ммВнутрішній діаметр отвору під ..

34.24грн.