Датчик дыма и газа MQ-2. Беспроводной датчик газа. Ардуино и ESP.

Датчик дыма и газа MQ-2. Беспроводной датчик газа. Ардуино и ESP. Анемометр

Arduino-kit | электронные конструкторы и наборы, контроллеры, модули и датчики

Одна из самых важных задач в вопросе безопасности умного дома –обнаружение утечки газа. Для того, чтобы плата Arduino успешно решала задачи такого рода, нужно подключить к ней датчик газа MQ-2. Датчик MQ-2 (рис. 4.24) определит концентрацию углеводородных газов (пропан, метан, н-бутан), дыма (взвешенных частиц, являющихся результатом горения) и водорода в окружающей среде. Датчик можно использовать для обнаружения утечек газа и задымления. В газоанализатор встроенный нагревательный элемент, который необходим для химической реакции. Поэтому во время работы сенсор будет горячим. Для получения стабильных показаний новый сенсор необходимо один раз прогреть (оставить включенным) в течение 24 часов. После этого стабилизация после включения занимать около минуты.
Датчик дыма и газа MQ-2. Беспроводной датчик газа. Ардуино и ESP.
Рис. 4.24. Датчик газов MQ-2.

В зависимости от уровня газа в атмосфере меняется внутреннее сопротивление датчика. MQ-2 имеет аналоговый выход, поэтому напряжение на этом выходе будет меняться пропорционально уровню газа в окружающей среде. Для определения по логическому уровню также имеется цифровой выход. На модуле датчика есть встроенный потенциометр, который позволяет настроить чувствительность этого датчика в зависимости от того, насколько точно вы хотите регистрировать уровень газа.
Теперь об единицах измерения. На территории бывшего Советского Союза, показатели принято измерять в процентах (%) или же непосредственно в массе к объему (мг/м3). В зарубежных странах применяет такой показатель как ppm.
Сокращение ppm расшифровывается как parts per million (частей на миллион). Например, 1 ppm = 0,0001%.
Диапазон измерений датчика:

•    Пропан: 200–5000 ppm;
•    Бутан: 300–5000 ppm;
•    Метан: 500–20000 ppm;
•    Водород: 300–5000 ppm.

Рассмотрим подключение датчика MQ-2 к плате Arduino Mega и модулю NodeMcu ESP8266.

4.5.1. Подключение датчика MQ-2 к плате Arduino Mega

Подключение датчика MQ-2 к плате Arduino Mega мы будем производить по аналоговому входу. Питание для датчика берем также с платы Arduino. Схема соединений представлена на рис. 4.25.
Датчик дыма и газа MQ-2. Беспроводной датчик газа. Ардуино и ESP.
Рис. 4.25. Схема подключений датчика MQ-2 к плате Arduino Mega

Загрузим на плату Arduino Mega скетч получения данных с датчика MQ-2 и вывода в последовательный порт Arduino. Процедуры определения по данным, приходящим с аналогового входа:

•    get_data_ppmpropan() – содержание пропана в  ppm;
•    get_data_ppmmethan() – содержание пропана в  ppm;
•    get_data_ppmsmoke() – содержание дыма.

Содержимое скетча представлено в листинге 4.10.
Листинг 4.10

#include <TroykaMQ.h>#define INTERVAL_GET_DATA 2000  // интервала измерений, мс #define MQ2PIN         A10MQ2 mq2(MQ2PIN);


unsigned long millis_int1=0;
 
voidsetup() {
  
  Serial.begin(9600);
  
  mq2.calibrate();
  mq2.getRo();
}
 
voidloop() {
   if(millis()-millis_int1 >= INTERVAL_GET_DATA) {
      float  propan= get_data_ppmpropan();
      
      Serial.print("propan=");
      Serial.print(propan);
      Serial.println(" ppm ");
      float  methan= get_data_ppmmethan();
      
      Serial.print("methan=");
      Serial.print(methan);
      Serial.println(" ppm ");
      float  smoke= get_data_ppmsmoke();
      
      Serial.print("smoke=");
      Serial.print(smoke);
      Serial.println(" ppm ");
      
      millis_int1=millis();
   }
}

floatget_data_ppmpropan()  {

  Serial.println(mq2.readRatio());
  floatvalue=mq2.readLPG();
  
  returnvalue;
}
floatget_data_ppmmethan()  {

  Serial.println(mq2.readRatio());
  floatvalue=mq2.readMethane();
  
  returnvalue;
}
floatget_data_ppmsmoke()  {

  Serial.println(mq2.readRatio());
  floatvalue=mq2.readSmoke();
  
  returnvalue;
}

Загрузим скетч на плату Arduino Mega, откроем монитор последовательного порта и увидите вывод данных о содержании пропана, метана и дыма (рис. 4.26).
Датчик дыма и газа MQ-2. Беспроводной датчик газа. Ардуино и ESP.

Рис. 4.26. Вывод данных датчика MQ-2 в монитор последовательного порта.

Скачать данный скетч можно на сайте www.anemometers.ru по ссылке .

Про анемометры:  Устройство и принцип действия датчика давления - Авто Брянск

4.5.2. Подключение датчика MQ-2 к модулю NodeMcu ESP8266

Теперь рассмотрим подключение датчика MQ-2 к модулю NodeMcu ESP8266. Датчик MQ-2  подключаем к входу y2 мультиплексора. Для выбора аналогового входа мультиплексора используем контакты D5, D7, D8 модуля Node Mcu. Схема соединений представлена на рис. 4.27.
Датчик дыма и газа MQ-2. Беспроводной датчик газа. Ардуино и ESP.

Рис. 4.27. Схема подключений датчика MQ-2 к NodeMcu ESP8266

Загрузим на модуль NodeMcu скетч получения данных с датчика MQ-2 и вывода в последовательный порт Arduino. Для выбора аналогового входа мультиплексора y2 подаем на контакты D5, D8 сигнал низкого уровня LOW, на контакт D7 сигнал высокого уровня HIGH.
Процедуры определения по данным, приходящим с аналогового входа:

•    get_data_ppmpropan() – содержание пропана в  ppm;
•    get_data_ppmmethan() – содержание пропана в  ppm;
•    get_data_ppmsmoke() – содержание дыма.

Содержимое скетча представлено в листинге 4.11.
Листинг 4.11

#include <TroykaMQ.h>#define INTERVAL_GET_DATA 2000  // интервала измерений, мс #define MQ2PIN         A0MQ2 mq2(MQ2PIN);


unsigned long millis_int1=0;
 
voidsetup() {
   
   pinMode(14,OUTPUT);
   pinMode(13,OUTPUT);
   pinMode(15,OUTPUT);  
  
  Serial.begin(9600);
  
  digitalWrite(14,LOW);
  digitalWrite(13,HIGH);
  digitalWrite(15,LOW);    
  
  mq2.calibrate();
  mq2.getRo();
}
 
voidloop() {
   if(millis()-millis_int1 >= INTERVAL_GET_DATA) {
      
      digitalWrite(14,LOW);
      digitalWrite(13,HIGH);
      digitalWrite(15,LOW);    
      float  propan= get_data_ppmpropan();
      
      Serial.print("propan=");
      Serial.print(propan);
      Serial.println(" ppm ");
      float  methan= get_data_ppmmethan();
      
      Serial.print("methan=");
      Serial.print(methan);
      Serial.println(" ppm ");
      float  smoke= get_data_ppmsmoke();
      
      Serial.print("smoke=");
      Serial.print(smoke);
      Serial.println(" ppm ");
      
      millis_int1=millis();
   }
}

floatget_data_ppmpropan()  {
  Serial.println(mq2.readRatio());
  floatvalue=mq2.readLPG();
  returnvalue;
}
floatget_data_ppmmethan()  {
  Serial.println(mq2.readRatio());
  floatvalue=mq2.readMethane();
  returnvalue;
}
floatget_data_ppmsmoke()  {
  Serial.println(mq2.readRatio());
  floatvalue=mq2.readSmoke();
  returnvalue;
}

Загрузим скетч на модуль Node Mcu, откроем монитор последовательного порта и видим вывод данных, получаемых с датчика MQ-2 (рис. 4.28).
Датчик дыма и газа MQ-2. Беспроводной датчик газа. Ардуино и ESP.

Рис. 4.28. Вывод данных датчика MQ-2 в монитор последовательного порта.

Скачать данный скетч можно на сайте www.anemometers.ru по ссылке .

Выбор режима питания нагревателя

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

Датчик газа mq-9

Датчик MQ-9 относиться к полупроводниковым приборам. Принцип работы датчика основан на изменении сопротивления тонкопленочного слоя диоксида олова SnO2 при контакте с молекулами определяемого газа. Чувствительный элемент датчика состоит из керамической трубки с покрытием Al2O3 и нанесенного на неё чувствительного слоя диоксида олова.

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

Датчик дыма и газа mq-2. беспроводной датчик газа. ардуино и esp.

Если у вас есть газовое оборудование, то вам надо подумать как обезопасить себя от утечки газа. Для этого можно собрать датчик обнаружения газов  на mq-2. Такой датчик  газа и дыма можно собрать на Ардуино, или на ESP. Сигнал тревоги можно отправлять в Телеграм. MQ-2 это датчик бытового газа. Собрав такой электронный датчик газа вы можете забыть про утечку газа и быть спокойным. За вас теперь будет работать датчик MQ-2, датчик дыма и газа.

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

Прелесть этих датчиков в том, их можно использовать и без микроконтроллеров. Для этого надо подать на него 5 вольт. Тогда при работе, на цифровом выходе будет напряжение питания, то есть около 5 вольт, а при обнаружении газа, напряжение резко упадёт до 0,15 вольт. Это напряжение будет у каждого датчика немного отличаться. К датчику можно напрямую подключить реле. Так как многие реле управляются низким уровнем, то они будут срабатывают при обнаружении газа и смогут включать любую нагрузку.
Характеристики Датчика mq-2.
Вы видите диапазон измерений газов. Он выражается в ppm.
PPM – это Миллионная доля, от англ. parts per million, читается «пи-пи-эм» — «частей на миллион».
Напряжение питания 5 вольт. Потребление 150 ма.
При первом включении надо дать нагревателю прогреться примерно 1 минуту. После этого датчик будет готов к работе.

Про анемометры:  В чём измеряется освещенность: единицы измерения, лк, как замеряют

Диапазон измерений
Пропан: 200–5000 ppm
Бутан: 300–5000 ppm
Метан: 500–20000 ppm
Водород: 300–5000 ppm

Характеристики
Напряжение питания нагревателя: 5 В
Напряжение питания датчика: 3,3–5 В
Потребляемый ток: 150 мА
Габариты: 25,4×25,4 мм

Теперь давайте проверим как он работает.
Сначала будем использовать цифровой выход. Плата ESP 8266 у меня сейчас задействована только для питания датчика. На зелёный провод не обращайте внимания – это осталось от предыдущего примера. Мне лень было искать блок на 5 вольт, поэтому я запитался от платы.
Потенциометром устанавливаем чувствительность датчика. Крутим пока не погаснет светодиод.
Так как у меня дома нет ничего что работает от газа, то я использовал обычную зажигалку. При обнаружении газа на датчике загорается светодиод. Потом горит некоторое время, пока датчик не очистится от газа и гаснет. Теперь датчик снова в режиме ожидания.

Загрузим первый скетч.
Он нам нужен для проверки подключения датчика, для определения значений в режиме покоя и вывода сообщений в монитор порта сообщения о тревоге.
Схему подключения я рисовать не буду. Здесь всё просто. Если вы питаете плату ESP от 5 вольт, то надо подключить датчик к контакту VIN. А аналоговый выход датчика подключить к контакту A0 платы.
Прошиваем скетч и открываем монитор.
Смотрим какие значения выводятся в состоянии покоя. Напоминаю, что датчик сначала должен прогреться. Затем поддаём газку и смотрим на значения. Проделываем так несколько раз и запоминаем значения.
У меня это. В состоянии покоя до 100, а при обнаружении газа от 300 до 400.

Теперь раскомментируем условия и вставим свои значения. Хотя у меня значения в состоянии покоя были 80-90, я установлю чуть побольше. Например 100. А состояние срабатывания выставлю в 150. Между значений покоя и срабатывания должен быть небольшой зазор, а то датчик в пограничном состоянии может многократно срабатывать.
Помимо вывода в монитор состояния датчика, я так же сделал так, что при обнаружении газа, на плате ESP зажигается светодиод.
Смотрим что получилось. В состоянии покоя в монитор выводится сообщение что всё ОК. Если датчик обнаружит утечку газа, то на плате ESP загорится светодиод, а в монитор выводится сообщение Тревога. После того как датчик перестаёт ощущать признаки газа, то он встаёт в обычное состояние и снова готов к работе.
Если у вас всё так же работает как у меня, то значит датчик подключен правильно и можно переходить к следующему этапу. Отправке сообщений в Телеграм.

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

Про анемометры:  Usbxtaf - Xbox 360 USB Storage Explorer (Xplorer) - UsbXtaf v45 Download | Digiex

Теперь скетч.
Эти библиотеки уже должны быть установлены.
Сюда вписываем настройки WIFI сети.
Вставляем токен бота и ID чата, кстати, чатов может быть несколько. Я потом сделаю отдельное видео, как добавлять несколько чатов.
Указываем, что датчик подключен к Аналоговому входу А0.
Переменная для хранения состояния датчика. В начале она равна false.
И количество сообщений которое будет отправлено в бот при обнаружении протечки. Если не указать количество, то сообщения в бот будут поступать бесконечно.
Сюда я вынес значение полученное в прошлом примере.  Это порог срабатывания датчика.

Дальше делаем внутреннюю подтяжку – это спасёт нас от случайных значений на входе А0.
Это код для соединения с WIFI сетью и получения IP адреса.
А это первое сообщение боту, что датчик подключен и начал свою работу.

Ни и сам код проверки.
Если на датчик учуял газ и счётчик не равен 0, то отправить сообщение в бот, что обнаружена утечка.
Уменьшить счётчик на единицу и подождать 10 секунд.
Если условие всё ещё верно, то отправить новое сообщение, уменьшить счётчик и снова подождать 10 секунд.
Если датчик всё ещё ощущает газ, то снова отправить сообщение, уменьшить счётчик и подождать 10 секунд.
А вот теперь условие не будет верно. Так как счётчик равен 0. И если датчик в воде, то нового сообщения не придёт.
Это сработает когда датчик выветрится, и снова установит счётчик на тройку.
Датчик снова готов к работе.

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

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

Если вам интересна эта тема, то я могу снять ещё много видео про Использование Телеграм и не только про это.
Объём вашего интереса, я буду оценивать по количеству лайков и комментариев. Чем их будет больше, тем быстрее выйдет новое видео.
Ну, а если вам нравятся мои уроки, то ставьте лайк и делитесь моими видео, с другими. Это очень поможет мне в продвижении канала, а меня будет стимулировать выпускать уроки чаще и интереснее.

Вы видите ссылки на видео, которые, я думаю будут вам интересны. Перейдя на любое из этих видео вы узнаете что-то новое, а ещё поможете мне. Ведь любой ваш просмотр – это знак YOUTUBE, что это кому-то интересно и что его надо показывать чаще.

Спасибо.

А пока на этом всё.

Подключение и настройка

Датчик газа MQ9 подключается к управляющей электронике по 5 проводам. Для подключения используются два трёхпроводных шлейфа. Для быстрого подключения модуля к Iskra JS или Arduino используйте Troyka Shield.
Датчик дыма и газа MQ-2. Беспроводной датчик газа. Ардуино и ESP.
С Troyka Slot Shield можно обойтись без лишних проводов.
Датчик дыма и газа MQ-2. Беспроводной датчик газа. Ардуино и ESP.

Оцените статью
Анемометры
Добавить комментарий