Мониторинг СО2 на Arduino Nano и MQ-135

Решил поразбираться с ардуино и заодно решить спорный вопрос с тем жарко у нас в офисе или душно или и то и другое вместе.
Почитав интернеты было принято решение купить Arduino Nano, датчик газа MQ-135, LCD дисплей и макетную плату с проводами.

Итоговый список деталей выглядит следующим образом:

  1. Arduino Nano v3.0 Type-C https://www.ozon.ru/product/arduino-nano-v3-0-type-c-1420302632
  2. MQ-135 модуль датчика газа угарного, углекислого и детектор СО2 качества воздуха https://www.ozon.ru/product/mq-135-modul-datchika-gaza-ugarnogo-uglekislogo-i-detektor-so2-kachestva-vozduha-807128774/
  3. Дисплей LCD1602C https://www.ozon.ru/product/displey-lcd1602c-zelenyy-1525641160/
  4. Набор соединительных проводов папа-папа 65 штук, беспаечная макетная плата 830 точек и модуль питания mb-102 для макетных плат https://www.ozon.ru/product/nabor-soedinitelnyh-provodov-papa-papa-65-shtuk-bespaechnaya-maketnaya-plata-830-tochek-i-modul-667320484/
  5. Кабель мама-папа 20 см https://www.ozon.ru/product/audiokabel-0-2-m-zelenyy-623490819/
  6. Кабель мама-мама 20 см https://www.ozon.ru/product/kabel-dlya-podklyucheniya-periferiynyh-ustroystv-0-2-m-krasnyy-625459033/
  7. Кабели в комплекте с макетной платой не очень удобные, так как имеют круглый штекер, поэтому прикупил еще кабель папа-папа 20 см https://www.ozon.ru/product/instrumentalnyy-kabel-0-2-m-siniy-623459581/

Данные на датчик MQ-135:
Схема
Описание датчика (на китайском)
Мануал

Код:

#include "MQ135.h"
#include<Wire.h>
#include <LCDI2C_Multilingual.h>
LCDI2C_Russian lcd(0x27, 16, 2); // Устанавливаю дисплей

void setup()
{
lcd.init();
lcd.backlight();// Включаю подсветку дисплея
// Оформление экрана
// Блок CO2
lcd.setCursor(0, 0);
lcd.print("CO2");
lcd.setCursor(12, 0);
lcd.print("PPM");
// Блок калибровки
lcd.setCursor(0, 1);
lcd.print("RZERO");
}

void loop()
{
// Возможные измеряемые параметры:
// getResistance
// getCorrectedResistance
// getPPM
// getCorrectedPPM
// getRZero
// getCorrectedRZero
// Использование:
// MQ135 gasSensor(PIN_MQ135, RZERO);
MQ135 gasSensorDefault = MQ135(A0); // Выбираю для работы MQ-135 сенсором на пине A0
float rzero = gasSensorDefault.getRZero(); // Значение калибровки
MQ135 gasSensorCalibrated = MQ135(A0,rzero); // Выбираю для работы MQ-135 сенсором на пине A0
float ppm = gasSensorCalibrated.getPPM(); // Значение CO2 PPM

// Значение CO2
lcd.setCursor(5, 0);
lcd.print(ppm);
// Значение калибровки
lcd.setCursor(7, 1);
lcd.print(rzero);
delay(1000);
}

Статьи по теме:
https://microkontroller.ru/arduino-projects/izmerenie-konczentraczii-uglekislogo-gaza-co2-s-pomoshhyu-arduino-i-datchika-mq-135/
https://microkontroller.ru/arduino-projects/sistema-monitoringa-zagryazneniya-vozduha-na-osnove-arduino/
https://voltiq.ru/mq-135-arduino-uno-connection/

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *