GSM tűz SMS riasztási projekt

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a cikkben egy GSM tűzjelző áramköri rendszert fogunk építeni az Arduino és a DHT11 érzékelő felhasználásával, amely SMS-ben (SMS) keresztül figyelmezteti a felhasználót a tűzveszélyre a telephelyen belül.

A DHT11 Sensor használata

Használjuk DHT11 érzékelő szokatlan hőmérséklet-emelkedés érzékelésére a helyi környezetben. A programban pontosan beállíthatjuk a küszöbhőmérsékletet, ha a hőmérséklet az előre beállított küszöb fölé emelkedik, akkor a GSM modemet figyelmeztető SMS-t küld a címzettnek.



Hogyan működik

A GSM tűzjelző áramkör beállítása 3 részből áll, az érzékelőből, az Arduino-ból, amely a projekt agya, és az SMS-riasztást küldő GSM-modemből.

A telepítés huzalozása megegyezik a többi vezetékével GSM alapú projektek amelyet ezen a weboldalon tárgyaltunk. Az egyetlen különbség a DHT11 érzékelő hozzáadása az Arduino-hoz.



A GSM TX-je az Arduino 9. számú csatlakozójához, a GSM RX-je pedig az Arduino 8. számú csatlakozójához van csatlakoztatva, és föld-föld kapcsolat is csatlakozik. Az érzékelő tápellátása és adatkapcsolata optimalizált a vezetékek torlódásának csökkentése érdekében prototípus készítés közben.

Kérjük, gondosan vegye figyelembe a csatlakozásokat, és helyezze az érzékelőt A0-tól A2-ig a megfelelő helyzetben, az alábbiak szerint.

Az érzékelő tájolásának megfordításával a „NO DATA” jelenik meg a soros monitoron. Ha a hátramenetet hosszabb ideig tartja, az az érzékelőt is károsíthatja. Tehát légy óvatos az érzékelő csatlakozásával kapcsolatban.

Íme egy kész szerző prototípusa:

A GSM modemet mindig külső tápegységgel táplálja. A 9V 500mA hálózati adapter elegendő lesz a GSM modemhez. A soros monitor nem kötelező ehhez a projekthez, mivel önálló projekt lesz. Csak a prototípus tesztelése során van szükségünk soros monitorra.

Csinálj egy DC UPS rendszer , a vázlatok ezen a weboldalon érhetők el, és próbálja meg a bekapcsológombot könnyen hozzáférhetővé tenni a projekt alvázán kívül, hogy a GSM modemet rövid áramszünet után bekapcsolhassa.

A külső bekapcsológombot úgy lehet elkészíteni, hogy a vezetékeket forrasztani kell a bekapcsológomb csapjaiból a GSM-modemen. Az egyenáramú UPS minden áramkimaradás után csökkenti a GSM modem bekapcsolásának szükségességét. Plug and forget féle funkciót ad. Most nézzük meg, hogyan működik az egész beállítás.

Tűz esetén a szobahőmérséklet rövid időn belül gyorsan emelkedik, az érzékelő képes 0-50 Celsius fok mérésére.

Amikor a hőmérséklet a programban beállított küszöbérték fölé emelkedik (0 és 50 között), SMS-riasztást küld: „Tűzjelzés: 45,00 Celsius fok”. 45 Celsius fok a szoba hőmérséklete az SMS küldés során, a tűz a tűzbalesetet követően perceken belül meghaladja a 100 Celsius fokot. Két SMS figyelmeztetést küld redundancia céljából, abban az esetben, ha az egyik elküldött üzenet meghiúsult.

Ha az érzékelő meghibásodott, vagy ha az érzékelőt leválasztják az Arduino-ról, az információt kétszer SMS-ben küldik el a felhasználónak, mondván: 'Nincsenek adatok az érzékelőtől / érzékelőtől nincsenek leválasztva'

A program 30 percig leáll, miután SMS-t küldött a tűz vagy az érzékelő lekapcsolása miatt. 30 perc múlva újra ellenőrzi, hogy nincs-e rendellenesség a szobahőmérsékleten és az érzékelő vezetékének csatlakoztatásakor, ha van ilyen, újra SMS-riasztást küld, és további 30 percet vár.

Amikor a teljes beállítás befejeződött és bekapcsolt állapotban van, a GSM modem tesztüzenetet küld: „Ez egy teszt SMS a GSM modemtől”, ha ezt az üzenetet a címzett számára kapja, ez azt jelenti, hogy a projekt megfelelően működik.

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

Megjegyzés: A címzett számát 3 helyen kell elhelyeznie a programban, amelyet a program leír

('AT + CMGS = ' + 91xxxxxxxxx ' r') // Cserélje le x számot mobilszámra

• Állítsa be a küszöbhőmérsékletet

int th = 45 // beállított küszöbhőmérséklet

A küszöbhőmérsékletet magasnak, a szokásosnál magasabbra kell beállítani a szoba hőmérséklet-ingadozása . Például: A DHT11 maximális mérési kapacitása 50 Celsius fok, így a küszöbhőmérséklet 45 és 47 között állítható be. A magas küszöbértéket úgy állítják be, hogy a helyiség hőmérsékletének kismértékű változása esetén ne küldjön hamis SMS-riasztást.

Ha további kétségei vannak vagy kérdései vannak a tárgyalt GSM tűz SMS riasztási áramkör rendszerrel kapcsolatban, kérjük, ne habozzon, ismertesse ezeket értékes megjegyzéseivel.




Előző: Hogyan tervezzünk indukciós fűtő áramkört Következő: 6 legjobb feltárt IC 555 inverter áramkör