Projekt upozorenja za GSM vatrogasce

Isprobajte Naš Instrument Za Uklanjanje Problema





U ovom ćemo članku izgraditi GSM sustav kruga upozorenja na požar koristeći Arduino i DHT11 senzor, koji će upozoriti korisnika putem tekstualne poruke (SMS), na opasnost od požara u prostoru u kojem je instaliran.

Korištenje senzora DHT11

Koristimo DHT11 senzor za osjetiti neobičan porast temperature oko lokalnog područja. U programu možemo precizno postaviti temperaturu praga, ako temperatura poraste iznad unaprijed postavljenog praga, GSM modem započinje slanje SMS upozorenja primatelju.



Kako radi

Postavljanje GSM kruga upozorenja na požar sastoji se od 3 dijela, senzora, Arduina koji je mozak projekta i GSM modema koji šalje SMS upozorenje.

Ožičenje instalacije je isto kao i ostalo Projekti temeljeni na GSM-u o čemu je bilo riječi na ovoj web stranici. Jedina razlika je dodavanje DHT11 senzora Arduinu.



TX GSM-a spojen je na pin # 9 Arduina, a RX GSM-a spojen je na pin # 8 Arduina, a također je povezan i uzemljenje. Priključak napajanja i podataka senzora optimiziran je za smanjenje zagušenja ožičenja tijekom izrade prototipa.

Pažljivo obratite pažnju na veze i umetnite senzor od A0 do A2 u ispravnoj orijentaciji kao što je prikazano dolje.

Preokretom orijentacije senzora na serijskom monitoru pojavit će se 'NO DATA'. Ako se obrnuta orijentacija drži dulje vrijeme, to čak može oštetiti senzor. Stoga, budite oprezni u vezi s priključkom senzora.

Evo dovršenog autorskog prototipa:

Uvijek napajajte GSM modem vanjskim napajanjem. A 9V adapter od 500 mA bit će dovoljno za GSM modem. Serijski monitor nije obvezan za ovaj projekt jer će to biti samostalni projekt. Trebamo serijski monitor samo tijekom testiranja prototipa.

Napraviti DC UPS sustav , sheme su dostupne na ovom web mjestu i pokušajte učiniti gumb za napajanje lako dostupnim izvan kućišta vašeg projekta, tako da se GSM modem može UKLJUČITI nakon kratkog nestanka struje.

Vanjski gumb za napajanje može se izraditi lemljenjem žica s klinova gumba za napajanje na GSM modemu. DC UPS smanjit će potrebu za uključivanjem GSM modema nakon svakog nestanka struje. Omogućuje 'uključi i zaboravi' značajku. Sada da vidimo kako funkcionira cijela postavka.

U slučaju požara, sobna temperatura brzo raste u kratkom razdoblju, senzor ima sposobnost mjerenja od 0 do 50 Celzijevih stupnjeva.

Kada temperatura poraste iznad unaprijed zadane vrijednosti praga u programu (unutar 0 do 50), on šalje SMS upozorenje s porukom „Upozorenje na požar: 45,00 Celzijevih stupnjeva“. 45 stupnjeva Celzijusa temperatura je sobe tijekom slanja SMS-a temperatura bi dosegla više od 100 Celzijevih stupnjeva u roku od nekoliko minuta nakon požara. Dva SMS upozorenja šalju se radi suvišnosti, u slučaju da jedan od poslanih poruka ne uspije.

Ako senzor nije uspio ili se senzor prekine s Arduinom, podaci se dva puta šalju korisniku SMS porukom 'Nema podataka sa senzora / senzora nije povezan'

Program se zaustavlja na 30 minuta nakon slanja SMS upozorenja za požar ili isključenje senzora. Ponovno provjerava ima li abnormalnosti u sobnoj temperaturi i povezanosti žice senzora nakon 30 minuta, ako postoje, ponovno šalje SMS upozorenje i čeka još 30 minuta.

Kad je cijelo postavljanje dovršeno i UKLJUČENO, GSM modem šalje testni SMS s porukom 'Ovo je testni SMS s GSM modema' ako ovu poruku primite na broj primatelja, znači da vaš projekt dobro funkcionira.

Program:

//--------------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---------------//

Napomena: Broj primatelja morate smjestiti na 3 mjesta u programu koji je u programu opisan kao

('AT + CMGS = ' + 91xxxxxxxxx ' r') // Zamijenite x brojem mobitela

• Postavite prag temperature

int th = 45 // zadana temperatura praga

Prag temperature mora biti postavljen na više, veće nego obično kolebanje temperature u sobi .Na primjer: DHT11 ima maksimalni mjerni kapacitet od 50 Celzijevih stupnjeva, tako da se temperatura praga može postaviti od 45 do 47. Vrijednost visokog praga postavlja se tako da neće slati lažno aktivirano SMS upozorenje za male promjene u sobnoj temperaturi.

Ako imate dodatnih nedoumica ili pitanja u vezi s raspravljenim sustavom GSM vatrogasnog kruga upozorenja, nemojte se ustručavati iznijeti ih putem svojih vrijednih komentara.




Prethodno: Kako dizajnirati krug indukcijskog grijača Dalje: Istraženo 6 najboljih IC 555 pretvaračkih krugova