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

В данном материале предлагается проект беспроводного устройства безопасности для обнаружения утечки газа на основе Arduino. Устройство предназначено для использования в домашних условиях, где приборы и обогреватели, работающие на природном газе и сжиженном газе, могут быть источником риска.
Также после некоторых доработок данная система также может использоваться для других приложений в промышленности или на заводах, которые зависят от сжиженного нефтяного газа и природного газа в своей деятельности.
Блок-схема системы обнаружения утечки газа на основе Arduino с возможностью передачи оповещений по GSM и звуковым оповещением представлена далее.

Принципиальная схема соединений компонентов данной системы следующая:

Код программы системы обнаружения утечки газа приведен далее:
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
#include <SoftwareSerial.h>
SoftwareSerial mySerial(9, 10);
int gasValue = A0;
int data = 0;
int buzzer = 13;
int G_led = 8;
int R_led = 9;
void setup()
{
pinMode(buzzer,OUTPUT);
pinMode(R_led,OUTPUT);
pinMode(G_led,OUTPUT);
randomSeed(analogRead(0));
mySerial.begin(9600);
Serial.begin(9600);
lcd.begin(16,2);
pinMode(gasValue, INPUT);
lcd.print (" Gas Leakage ");
lcd.setCursor(0,1);
lcd.print (" Detector Alarm ");
delay(3000);
lcd.clear();
}
void loop()
{
data = analogRead(gasValue);
Serial.print("Gas Level: ");
Serial.println(data);
lcd.print ("Gas Scan is ON");
lcd.setCursor(0,1);
lcd.print("Gas Level: ");
lcd.print(data);
delay(1000);
if ( data > 90)
{
digitalWrite(buzzer, HIGH);
digitalWrite(R_led, HIGH);
digitalWrite(G_led, LOW);
SendMessage();
Serial.print("Gas detect alarm");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Gas Level Exceed");
lcd.setCursor(0,1);
lcd.print("SMS Sent");
delay(1000);
}
else
{
digitalWrite(buzzer, LOW);
digitalWrite(R_led, LOW);
digitalWrite(G_led, HIGH);
Serial.print("Gas Level Low");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Gas Level Normal");
delay(1000);
}
lcd.clear();
}
void SendMessage()
{
Serial.println("I am in send");
mySerial.println("AT+CMGF=1");
delay(1000);
mySerial.println("AT+CMGS=\"+91xxxxxxxxxx\"\r");
delay(1000);
mySerial.println("Excess Gas Detected.");
mySerial.println(data);
delay(100);
mySerial.println((char)26);
delay(1000);
}
В случае утечки газа зуммер начинает подавать сигнал тревоги, загорается красный светодиод, а значение уровня газа отображается на ЖК-дисплее, при этом пользователю отправляется SMS для предупреждения об утечке.
© digitrode.ru