Детектор утечки газа на Arduino
В то время как сжиженный нефтяной газ (LPG) необходим почти в каждом домохозяйстве, его утечка может привести к катастрофе. Для предупреждения об утечке газа и предотвращения любой аварии существуют различные устройства обнаружения утечек. В данной статье мы разработаем сигнализацию утечки газа на основе Arduino. Если произойдет утечка газа, эта система обнаружит ее и просигнализирует об этом с помощью зуммера, включенного в схему. Собрать эту систему легко, и каждый, у кого есть минимальные знания в электронике и программировании, сможет сделать это.
Для обнаружения утечки мы использовали модуль датчика сжиженного нефтяного газа (LPG). Когда происходит утечка газа, он выдает импульс высокого логического уровня на своем выводе D0, а Arduino непрерывно считывает состояние этого вывода. Когда Arduino обнаруживает импульс высокого логического уровня от модуля детектора газа, она показывает сообщение «LPG Gas Leakage Alert» на LCD дисплее 16x2 и активирует зуммер, который подает звуковой сигнал снова и снова, пока модуль детектора газа не перестанет обнаруживать газ в воздухе. Когда модуль детектора LPG газа подает импульс низкого логического уровня на Arduino, LCD показывает сообщение «No LPG Gas Leakage».
- Arduino Pro Mini
- Модуль датчика LPG газа
- Зуммер
- Транзистор BC547
- 16x2 LCD
- Резистор 1 кОм
- Макетная плата
- Батарея 9 вольт
- Перемычки
Модуль датчика LPG газа
Данный модуль содержит датчик MQ3, который и обнаруживает LPG газ, компаратор (LM393) для сравнения выходного напряжения MQ3 с опорным напряжением. Когда LPG газ обнаружен, он выдает напряжение высокого логического уровня. Потенциометр используется для регулировки чувствительности обнаружения газа. Данный модуль очень прост в использовании с микроконтроллерами и Arduino и легко доступен в продаже под названием «LPG Gas Sensor Module». Мы также можем собрать его самостоятельно, используя LM358, LM393 и MQ3.
Принципиальная схема и описание
Как показано на приведенной выше принципиальной схеме, система включает в себя плату 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);
}
}