#31. MQ135 датчик углекислого газа. Библиотека MQ135 Arduino library.

.#31. MQ135 датчик углекислого газа. Библиотека MQ135 Arduino library.

Данный датчик позиционируют на рынке, как датчик качества воздуха. Так как он измеряет не только концентрацию CO2 в воздухе, но и концентрацию других газов.

концентрацию CO2 в воздухе, но и концентрацию других газов

Для того чтобы добиться приемлемых показаний, нужно его откалибровать, и при этом показания не на 100% точные. Несмотря на это, данный датчик можно использовать дома или в офисе, для контроля качества воздуха, и выводить данные значений на дисплей, подавать звуковой или световой сигнал. При желании можно сделать автоматическое проветривание помещения.

MQ135 датчик углекислого газа

ВНИМАНИЕ! Перед работай с датчиком его нужно прогреть не менее 12-24 часов. Для этого подаем питание и оставляем датчик на указанное время. Затем его нужно вынести на свежий воздух, рекомендуемая температура +20 С и провертеть.Только после этого датчик будет показывать корректные значение.

Еще один минус, после включения датчик должен прогреться, только после этого можно снимать показание.

Для Arduino урока нам понабиться:

Что из себя представляет датчик качества воздуха MQ135?

Сам датчик MQ-135 представляет собой цилиндрическое устройства с 6 контактами. И выполняется в 2 корпусах.

Сам датчик MQ-135 представляет собой цилиндрическое устройства с 6 контактами.

MQ-135 представляет собой цилиндрическое устройства с 6 контактами

 датчик MQ-135

Для работы с датчика необходима небольшая обвязка.

Для работы с датчика необходима небольшая обвязка

В данном Arduino уроке, мы будем рассматривать подключения модуля, на основе датчика MQ135. Модуль имеет необходимую обвязку, а также оснащен компаратором и подстроечным резистором. Это позволяет получить сигнал на цифровую ножку модуля D0. Когда концентрация ниже установленного параметра, на цифровом выходе датчика логическая 1, и зеленый светодиод не светиться, задать чувствительность датчика можно с помощью подстроечного резистора. При повышении концентрации, светодиод включается и на цифровом пине появляется логический ноль. Используя данный пин, датчик можно использовать без микроконтроллера.

При повышении концентрации, светодиод включается и на цифровом пине появляется логический ноль. Используя данный пин, датчик можно использовать без микроконтроллера.

Схема модуля выглядит примерно так. В интернете нет точной схемы данного модуля.

Схема модуля выглядит примерно так

Для подключения модуля необходим источник питания 5в. Не менее 800 мВт. Это связано с тем, что чувствительный элемент датчика нужно подогревать. По документации, температура чувствительного элемента не ниже 42 С. При этом корпус датчика не нагревается и при прикосновении теплый. Для отвода тепла датчик закрыт металлической сеткой.

Разберем технические характеристики газоанализатора:

  • напряжение питания: 5V;
  • время прогрева: около 1 мин;
  • потребляемый ток: 130-150 мА;
  • диапазон рабочих температур: -10 ... 45 С;
  • выходной сигнал TTL уровня;
  • габариты: 35 х 20 х 21 мм;
  • вес: около 10 г.

Схема подключения MQ135 к Arduino.

Назначение пинов датчика MQ135:

  • Vcc – питания 5в.
  • GND – «-» питания.
  • D0 – цифровой пин.
  • A0 – аналоговый пин.

Назначение пинов датчика MQ135:

Подключаем модуль MQ135 к Arduino UNO по схеме. Подключаем модуль MQ135 к Arduino UNO по схеме.

Подключаем модуль MQ135 к Arduino NANO по схеме. Подключаем модуль MQ135 к Arduino NANO по схеме.

Пример кода MQ135 для Arduino.

Снять показание с датчика можно без использования сторонних библиотек. Вот такой простой пример кода, поможет получить данные с цифрового и аналогового пина, и вывести полученные значения в монитор порта.

#define analogPin A0 // аналоговый выход MQ135 подключен к пину A0 Arduino
#define digitalPin 3 // цифровой выход подключен к пину 3

float analogValue; // для аналогового значения
byte digitalValue; // для цифрового значения, можно, кстати и boolean, но не суть

void setup() {
  Serial.begin(9600); // инициализация последовательного порта
  pinMode(analogPin, INPUT); // режим работы аналогового пина
  pinMode(digitalPin, INPUT); // режим работы цифрового пина
  delay(1000); // устаканимся
}

void loop() {
  analogValue = analogRead(analogPin); // чтение аналогового значения
  digitalValue = digitalRead(3); // чтение цифрового значения

  Serial.print("Current value: "); // вывод аналогового значения в последовательный порт
  Serial.println(analogValue);

  Serial.print("Threshold: "); // вывод цифрового значения в аналоговый порт
  Serial.println(digitalValue);

  delay(5000); // задержка, чтобы не мельтешило перед глазами
}

 пример кода, поможет получить данные с цифрового и аналогового пина

Но это значения не приведены к стандартным, а хотелось бы снять показание в PPM. Для этого можно использовать библиотеку MQ135.h, которую можно скачать на github или внизу страницы.

Для того чтобы установить библиотеку. Заходим в Arduino IDE и выбираем в меню: Скетч –> Подключить библиотеку –> Добавить .ZIP библиотеку… Заходим в Arduino IDE и выбираем в менюВыбираем скаченный архив MQ135-master.zip и нажимаем кнопку «Открыть». После установки вы увидите надпись, что библиотека успешно добавлена.

Затем загрузим в Arduino пример кода.

В мониторе порта мы получим непонятные значения. Это связанно с тем, что датчик нужно откалибровать и в библиотеки настроить необходимые параметры.

#include <MQ135.h> // подключение библиотеки

#define analogPin A0 // аналоговый выход MQ135 подключен к пину A0 Arduino
MQ135 gasSensor = MQ135(analogPin); // инициализация объекта датчика

void setup() {
  Serial.begin(9600); // последовательный порт для отображения данных
  delay(1000); // устаканимся
}

void loop() {
  float ppm = gasSensor.getPPM(); // чтение данных концентрации CO2
  Serial.println(ppm); // выдача в последовательный порт

  float rzero = gasSensor.getRZero(); // чтение калибровочных данных
  Serial.println(rzero); // выдача в последовательный порт
  
  delay(1000); // просто задержка, чтобы не мельтешило перед глазами
}

Первый параметр, который нужно знать, это концентрация углекислого газа в атмосфере. Для этого заходим в поисковик и получаем вот такой результат:

«Концентрация углекислого газа (CO2) в земной атмосфере впервые в истории человечества превысила 415 частей на миллион (ppm) - то есть в каждом куб. м воздуха присутствует не менее 415 мл углекислого газа.»

 концентрация углекислого газа в атмосфере


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

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

Также нам нужно знать номинал нагрузочного резистора RL.

Также нам нужно знать номинал нагрузочного резистора RL

В моем случае это 1 кОм. Данное значение нужно указать в библиотеке. Заходим в папку библиотеки и открываем файл MQ135.h с помощью любого текстового редактора.

Заходим в папку библиотеки и открываем файл MQ135.h

И меняем полученные значения. У вас эти данные могут быть другими.

И меняем полученные значения. У вас эти данные могут быть другими.

На этом калибровка завершена. Сейчас можно снимать показание с датчика. Вот что у меня, выводим в монитор порта.

Вот что у меня, выводим в монитор порта.

Показание ниже, чем концентрация углекислого в атмосфере. Возможно, это связанно с тем, что я живу в небольшом городе или просто датчик меня обманывает. Буду надеяться, что это все-таки связанно с хорошей экологической обстановкой в моем городе!

Сейчас полученные показания можно использовать для реализации информера

Сейчас полученные показания можно использовать для реализации информера, сигнализации или просто для мониторинга изменения качества воздуха в помещении.

Вывод по работе с датчика MQ135.

Датчик имеет ряд минусов:

  • Прогрев перед работай.
  • Сложность настройки и калибровки.
  • Неточные показания.

Плюсы. Их ни так и много. Один плюс — это стоимость. Данный датчик в разы дешевле аналогичных датчиков качества воздуха.

Вывод по работе с датчика MQ135.

Итог можно сделать следующий, датчик использовать можно только для мониторинга качества воздуха в неответственных помещениях и для сигнализации, которая будет реагировать на резкое увеличение углекислого газа в воздухе. Например, пожарная сигнализация.

Смотрите другие уроки подключения датчиков к Arduino:

Появились вопросы или предложения, не стесняйся, пиши в комментарии!

Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.

Всем Пока-Пока.

И до встречи в следующем уроке.

Понравилась статья? Поделитесь ею с друзьями:

Файлы для скачивания

Библиотека MQ135 library Библиотека MQ135 library.zip14 Kb 181 Скачать
Пример кода MQ135 для Arduino без библиотеки Пример кода MQ135 для Arduino без библиотеки .ino1 Kb 104 Скачать
Пример кода MQ135 для Arduino с библиотекой MQ135.h Пример кода MQ135 для Arduino с библиотекой MQ135.h.ino1 Kb 115 Скачать
Вернуться в раздел: Уроки Arduino: Подключение датчиков и модулей к Arduino Дата публикации 27 февраля , 2021

Комментарии

Ваше Имя*
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.

Владимир
#1 Гость: Владимир (7 мая, 2021 в 22:34)

Ну не знаю на счёт пожарки, возможно для этого нужно использовать другой датчик из серии mq. Жена пшикнула дезодорантом в комнате, значения подлетели до небес. Датчик ещё час не мог в себя прийти - завышал.


Cлучайные товары


Посмотреть товар в Магазине »

Мы в соц сетях

Подпишись на канал Мы на facebook

Portal-PK (Портал ПК) © 2015 - 2021
ЧПУ
Карта сайта
RSS