GSM tulekahju SMS-hoiatuse projekt

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles artiklis kavatseme ehitada Arduino ja DHT11 andurit kasutades GSM tulekahjusignalisatsiooni vooluahelasüsteemi, mis teavitab kasutajat tekstisõnumi (SMS) kaudu tuleohust ruumis, kuhu see on paigaldatud.

DHT11 anduri kasutamine

Me kasutame DHT11 andur kohaliku piirkonna ebatavalise temperatuuri tõusu tajumiseks. Saame programmis täpselt määrata lävetemperatuuri, kui temperatuur tõuseb üle etteantud künnise, siis GSM-modem hakkab saatma hoiatavaid SMS-e saajale.



Kuidas see töötab

GSM tulekahjuhäire koosneb kolmest osast, andurist, Arduino, mis on projekti aju, ja GSM-modem, mis saadab SMS-teateid.

Seadistuse juhtmestik on sama mis teistel GSM-põhised projektid mida arutati sellel veebisaidil. Ainus erinevus on DHT11 anduri lisamine Arduinole.



GSM-i TX on ühendatud Arduino kontaktiga nr 9 ja GSM-i RX on ühendatud Arduino tihvtiga nr 8 ning ühendatud on ka maa-maa-ühendus. Anduri toite- ja andmesideühendus on optimeeritud juhtmete ülekoormuse vähendamiseks prototüüpimise ajal.

Pange tähele ühendusi hoolikalt ja sisestage andur A0-st A2-ni õiges asendis, nagu allpool näidatud.

Anduri suuna ümberpööramine annab seeriamonitorile märke “NO DATA”. Pikemat aega vastupidises asendis hoidmine võib andurit isegi kahjustada. Seega olge anduri ühenduses ettevaatlik.

Siin on valminud autori prototüüp:

Toituge GSM-modemi alati välise toiteallikaga. A 9V 500mA toiteadapter piisab GSM-modemi jaoks. Seeriamonitor pole selle projekti jaoks kohustuslik, kuna see saab olema eraldiseisev projekt. Vajame jadamonitori ainult prototüübi testimise ajal.

Teha Alalisvoolu UPS-süsteem , skeemid on saadaval sellel veebisaidil ja proovige muuta toitenupp hõlpsasti juurdepääsetavaks väljaspool teie projekti šassii, et GSM-modem saaks pärast lühikest elektrikatkestust sisse lülitada.

Välise toitenupu saab teha juhtmete jootmisega GSM-modemi toitenupu tihvtidest. Alalisvoolu UPS vähendab vajadust GSM-modemi sisselülitamiseks pärast igat voolukatkestust. See annab pistiku ja unusta tüüpi funktsiooni. Vaatame nüüd, kuidas kogu seadistus toimib.

Tulekahju korral tõuseb toatemperatuur lühikese aja jooksul kiiresti, anduril on võimalus mõõta 0–50 kraadi Celsiust.

Kui temperatuur tõuseb programmis etteantud läviväärtusest kõrgemale (0 kuni 50), saadab see SMS-teate, milles öeldakse: 'Tulekahjuhäire: 45,00 kraadi Celsiuse järgi'. 45 kraadi Celsiuse järgi on ruumi temperatuur SMS-i saatmise ajal. Temperatuur tõuseb üle 100 kraadi mõne minuti jooksul pärast tuleõnnetust. Juhul, kui üks saadetud sõnumist nurjub, saadetakse koondamiseks kaks SMS-i hoiatust.

Kui andur ebaõnnestus või andur ühendatakse Arduinost lahti, saadetakse teave kasutajale kaks korda SMS-iga, öeldes: 'Andurit / andurit pole lahti ühendatud'

Pärast SMS-i teate saatmist tulekahju või anduri lahtiühendamiseks peatub programm 30 minutiks. 30 minuti pärast kontrollib see toatemperatuuri ja anduri juhtmeühenduse häireid, kui neid on, saadab ta uuesti SMS-teate ja ootab veel 30 minutit.

Kui kogu seadistamine on lõpule viidud ja see on sisse lülitatud, saadab GSM-modem test-SMS-i, öeldes „See on test-SMS GSM-modemilt”, kui saate selle sõnumi saaja numbrile, tähendab see, et teie projekt töötab hästi.

Programm:

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

Märkus. Peate paigutama saaja numbri programmi 3 kohta, mida programmis kirjeldatakse järgmiselt

('AT + CMGS = ' + 91xxxxxxxxx ' r') // Asenda x mobiilinumbriga

• Määrake künnistemperatuur

int th = 45 // seatud künnistemperatuur

Lävetemperatuur tuleb seada kõrgemale, tavapärasest kõrgemale ruumi temperatuuri kõikumine . Näiteks: DHT11 maksimaalne mõõtevõime on 50 kraadi Celsiuse järgi, nii et lävetemperatuuri saab seada vahemikku 45–47. Kõrge läviväärtus on seatud nii, et see ei saadaks valesid käivitatud SMS-teateid toatemperatuuri väikeste muutuste korral.

Kui teil on täiendavaid kahtlusi või küsimusi arutatava GSM tulekahju SMS-i häiresüsteemi osas, palun ärge kartke neid oma väärtuslike kommentaaride kaudu esitada.




Eelmine: Kuidas kujundada induktsioonsoojendi vooluahelat Järgmine: 6 parimat uuritud IC 555 inverterahelat