Детектор утечки газа на Arduino

Добавлено 8 декабря 2018 в 03:30

В то время как сжиженный нефтяной газ (LPG) необходим почти в каждом домохозяйстве, его утечка может привести к катастрофе. Для предупреждения об утечке газа и предотвращения любой аварии существуют различные устройства обнаружения утечек. В данной статье мы разработаем сигнализацию утечки газа на основе Arduino. Если произойдет утечка газа, эта система обнаружит ее и просигнализирует об этом с помощью зуммера, включенного в схему. Собрать эту систему легко, и каждый, у кого есть минимальные знания в электронике и программировании, сможет сделать это.

Макет детектора утечки газа на Arduino
Макет детектора утечки газа на Arduino

Для обнаружения утечки мы использовали модуль датчика сжиженного нефтяного газа (LPG). Когда происходит утечка газа, он выдает импульс высокого логического уровня на своем выводе D0, а Arduino непрерывно считывает состояние этого вывода. Когда Arduino обнаруживает импульс высокого логического уровня от модуля детектора газа, она показывает сообщение «LPG Gas Leakage Alert» на LCD дисплее 16x2 и активирует зуммер, который подает звуковой сигнал снова и снова, пока модуль детектора газа не перестанет обнаруживать газ в воздухе. Когда модуль детектора LPG газа подает импульс низкого логического уровня на Arduino, LCD показывает сообщение «No LPG Gas Leakage».

Структурная схема сигнализации утечки газа
Структурная схема сигнализации утечки газа
  1. Arduino Pro Mini
  2. Модуль датчика LPG газа
  3. Зуммер
  4. Транзистор BC547
  5. 16x2 LCD
  6. Резистор 1 кОм
  7. Макетная плата
  8. Батарея 9 вольт
  9. Перемычки

Модуль датчика LPG газа

Данный модуль содержит датчик MQ3, который и обнаруживает LPG газ, компаратор (LM393) для сравнения выходного напряжения MQ3 с опорным напряжением. Когда LPG газ обнаружен, он выдает напряжение высокого логического уровня. Потенциометр используется для регулировки чувствительности обнаружения газа. Данный модуль очень прост в использовании с микроконтроллерами и Arduino и легко доступен в продаже под названием «LPG Gas Sensor Module». Мы также можем собрать его самостоятельно, используя LM358, LM393 и MQ3.

Модуль датчика LPG газа
Модуль датчика LPG газа

Принципиальная схема и описание

Принципиальная схема сигнализации утечки газа на Arduino
Принципиальная схема сигнализации утечки газа на Arduino

Как показано на приведенной выше принципиальной схеме, система включает в себя плату Arduino, модуль детектора LPG газа, зуммер и LCD дисплей 16x2. Arduino контролирует всю работу системы: считывание показаний датчика LPG газа, отправка сообщений на LCD, активирование зуммера. Чувствительность данного датчика мы можем установить с помощью установленного на нем потенциометра.

Вывод D0 датчика LPG газа напрямую подключен к выводу 18 (A4) Arduino, а выводы Vcc и GND подключены к выводам Vcc и GND на Arduino. Модуль датчика LPG газа содержит датчик MQ3, который и обнаруживает LPG газ. Этот датчик MQ3 содержит внутри себя нагреватель, который может потребовать до 15 минут для нагрева, чтобы подготовиться к обнаружению LPG газа. Схема компаратора используется для преобразования аналогового сигнала с MQ3 в цифровой. LCD дисплей 16x2 подключен к Arduino в 4-битном режиме. Выводы управления RS, RW и En напрямую подключены к выводам Arduino 2, GND и 3. Выводы данных D4-D7 подключены к выводам Arduino 4, 5, 6 и 7. Зуммер соединен с выводом 13 Arduino через NPN транзистор BC547 с резистором 1 кОм на базе.

Описание программы

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

Для проверки проекта мы использовали зажигалку со сжиженным газом.

Код

#include <LiquidCrystal.h>
LiquidCrystal lcd(3, 2, 4, 5, 6, 7);

#define lpg_sensor 18
#define buzzer 13

void setup() 
{
  pinMode(lpg_sensor, INPUT);
  pinMode(buzzer, OUTPUT);
  lcd.begin(16, 2);
  lcd.print("LPG Gas Detector");
  lcd.setCursor(0,1);
  lcd.print("Circuit Digest");
  delay(2000);
}

void loop() 
{
  if(digitalRead(lpg_sensor))
  {
    digitalWrite(buzzer, HIGH);
    lcd.clear();
    lcd.print("LPG Gas Leakage");
    lcd.setCursor(0, 1);
    lcd.print("     Alert     ");
    delay(400);
    digitalWrite(buzzer, LOW);
    delay(500);
  }
  
  else 
  {
    digitalWrite(buzzer, LOW);
    lcd.clear();
    lcd.print("  No LPG Gas ");
    lcd.setCursor(0,1);
    lcd.print("   Leakage   ");
    delay(1000);
  }
}

Видео

Теги

ArduinoДатчикДатчик газаДетектор утечки газа

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.