Проект за GSM предупреждение за GSM пожар

Опитайте Нашия Инструмент За Премахване На Проблемите





В тази статия ще изградим GSM верига за пожароизвестяване, използваща Arduino и DHT11 сензор, който ще предупреждава потребителя чрез текстово съобщение (SMS) относно опасност от пожар в помещението, където е инсталиран.

Използване на сензор DHT11

Ние използваме DHT11 сензор за усещане на необичайно покачване на температурата в района. Можем точно да зададем праговата температура в програмата, ако температурата се повиши над предварително зададения праг, GSM модемът започва да изпраща предупредителен SMS на получателя.



Как работи

Настройката на GSM схемата за пожароизвестяване се състои от 3 части, сензор, Arduino, който е мозъкът на проекта, и GSM модем, който изпраща SMS предупреждение.

Окабеляването на настройката е същото като другото Проекти, базирани на GSM което беше обсъдено в този уебсайт. Единствената разлика е добавянето на DHT11 сензор към Arduino.



TX на GSM е свързан към пин # 9 на Arduino и RX на GSM е свързан към пин # 8 на Arduino и връзката земя към земя също е свързана. Връзката за захранване и данни на сензора е оптимизирана за намалено претоварване на кабелите по време на прототипиране.

Моля, обърнете внимание на връзките внимателно и поставете сензора от A0 до A2 в правилна ориентация, както е показано по-долу.

Обръщането на ориентацията на сензора ще изведе “NO DATA” на серийния монитор. Ако обратната ориентация се запази за продължителен период, това може дори да повреди сензора. Така че, бъдете внимателни относно връзката на сензора.

Ето завършен авторски прототип:

Винаги захранвайте GSM модема с външно захранване. A 9V 500mA захранващ адаптер ще бъде достатъчно за GSM модем. Серийният монитор не е задължителен за този проект, тъй като ще бъде самостоятелен проект. Нуждаем се от сериен монитор само докато тестваме прототипа.

Направи DC UPS система , схемите са достъпни на този уебсайт и се опитайте да направите бутона за захранване лесно достъпен извън шасито на вашия проект, така че GSM модемът да може да се включи след кратък прекъсване на захранването.

Външният бутон за захранване може да бъде направен чрез запояване на проводници от щифтове на бутона за захранване на GSM модема. DC UPS ще намали необходимостта от включване на GSM модема след всяко спиране на захранването. Той дава вид функция за включване и забравяне. Сега да видим как функционира цялата настройка.

В случай на пожар стайната температура се повишава бързо за кратък период, сензорът има способността да измерва от 0 до 50 градуса по Целзий.

Когато температурата се повиши над зададената прагова стойност в програмата (в рамките на 0 до 50), тя изпраща SMS предупреждение с надпис „Пожарен сигнал: 45.00 градуса по Целзий“. 45 градуса по Целзий е температурата в стаята по време на изпращане на SMS, температурата ще достигне над 100 градуса по Целзий в рамките на минути след пожар. Предупреждение за два SMS се изпраща за съкращаване, в случай че едно от изпратеното съобщение не е успешно.

Ако сензорът не успее или сензорът бъде прекъснат от Arduino, информацията се изпраща на потребителя чрез SMS два пъти, като се казва „Няма данни от сензора / сензорът е изключен“

Програмата спира за 30 минути след изпращане на SMS сигнал за пожар или изключване на сензора. Той проверява отново за аномалии в стайната температура и свързването на проводника на сензора след 30 минути, ако има такива, изпраща SMS предупреждение отново и изчаква още 30 минути.

Когато цялата настройка приключи и се включи, GSM модемът изпраща тестов SMS, казвайки „Това е тестов SMS от GSM модем“, ако получите това съобщение на номера на получателя, това означава, че вашият проект работи добре.

Програма:

//--------------Program developed by R.Girish---------------//
#include
#include
SoftwareSerial gsm(9,8)
#define DHTxxPIN A1
dht DHT
int p = A0
int n = A2
int ack
int msgsend=0
int th=45 //set threshold temperature
unsigned long A = 1000L
unsigned long B = A * 60
unsigned long C = B * 30
void setup()
{
Serial.begin(9600)
gsm.begin(9600)
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
digitalWrite(p,1)
digitalWrite(n,0)
gsm.println('AT+CMGF=1')
delay(1000)
gsm.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
gsm.println('This is a test SMS from GSM modem')// The SMS text you want to send
delay(100)
gsm.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void loop()
{
top:
msgsend=0
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.println(' ')
delay(2000)
}
if(ack==1)
{
goagain:
msgsend=msgsend+1
Serial.print('NO DATA')
Serial.print(' ')
Serial.println('Sending SMS...... ')
delay(500)
gsm.println('AT+CMGF=1')
delay(1000)
gsm.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
gsm.println('No data from sensor/Sensor disconnected')// The SMS text you want to send
delay(100)
gsm.println((char)26) // ASCII code of CTRL+Z
delay(1000)
Serial.println('Message is sent ')
if(msgsend==2)
{
delay(C)
goto top
}
else
{
delay(10000)
goto goagain
}
}
if(DHT.temperature>=th)
{
doagain:
msgsend=msgsend+1
Serial.println('Sending SMS...... ')
gsm.println('AT+CMGF=1')
delay(1000)
gsm.println('AT+CMGS='+91xxxxxxxxx' ') // Replace x with mobile number
delay(1000)
gsm.println('Fire Alert:')// The SMS text you want to send
gsm.print(DHT.temperature)
gsm.print(' degree celsius')
delay(100)
gsm.println((char)26) // ASCII code of CTRL+Z
delay(1000)
Serial.println('Message is sent ')
if(msgsend==2)
{
delay(C)
goto top
}
else
{
delay(10000)
goto doagain
}
}
}
//--------------Program developed by R.Girish---------------//

Забележка: Трябва да поставите номера на получателя на 3 места в програмата, която е описана в програмата като

('AT + CMGS = ' + 91xxxxxxxxx ' r') // Заменете x с мобилен номер

• Задайте праговата температура

int th = 45 // задайте прагова температура

Праговата температура трябва да бъде зададена висока, по-висока от обикновено температурни колебания в помещението . Например: DHT11 има максимален измервателен капацитет от 50 градуса по Целзий, така че праговата температура може да бъде зададена от 45 до 47. Високата прагова стойност е зададена, така че да не изпраща фалшиво задействано SMS предупреждение за малки промени в стайната температура.

Ако имате допълнителни съмнения или въпроси относно обсъжданата GSM система за пожароизвестителни SMS, моля, не се колебайте да ги представите чрез вашите ценни коментари.




Предишна: Как да проектираме схема на индукционен нагревател Напред: Изследвани 6 най-добри инверторни схеми IC 555