GSM Fire SMS Alert Project

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V tomto článku se chystáme zkonstruovat systém požárního výstražného systému GSM využívající čidla Arduino a DHT11, který uživatele upozorní prostřednictvím textové zprávy (SMS) na nebezpečí požáru v prostorách, kde je nainstalován.

Použití senzoru DHT11

Používáme Senzor DHT11 pro snímání neobvyklého nárůstu teploty v okolí oblasti. Můžeme přesně nastavit prahovou teplotu v programu, pokud teplota stoupne nad nastavenou prahovou hodnotu, GSM modem začne odesílat výstražné SMS příjemci.



Jak to funguje

Nastavení obvodu požárního poplachu GSM se skládá ze 3 částí, snímače, Arduino, které je mozkem projektu, a GSM modemu, který odesílá výstrahu SMS.

Zapojení instalace je stejné jako ostatní Projekty založené na GSM o kterém se diskutovalo na tomto webu. Jediným rozdílem je přidání senzoru DHT11 do Arduina.



TX GSM je připojen k pinu č. 9 Arduina a RX GSM je připojen k pinu č. 8 Arduina a je také připojeno zemnění. Napájení a datové připojení snímače je optimalizováno pro snížení přetížení kabeláže při prototypování.

Pečlivě si zapamatujte zapojení a zasuňte snímač z A0 do A2 ve správné orientaci, jak je znázorněno níže.

Při obrácení orientace senzoru se na sériovém monitoru zobrazí „NO DATA“. Při dlouhodobém zachování obrácené orientace může dojít dokonce k poškození snímače. Buďte tedy opatrní ohledně připojení senzoru.

Zde je dokončený autorův prototyp:

Vždy napájejte GSM modem externím zdrojem napájení. A 9V 500mA napájecí adaptér bude stačit pro GSM modem. Sériový monitor není pro tento projekt povinný, protože se bude jednat o samostatný projekt. Sériový monitor potřebujeme pouze při testování prototypu.

Udělat Systém stejnosměrného napájení , schémata jsou k dispozici na této webové stránce a pokuste se snadno zpřístupnit tlačítko napájení mimo šasi vašeho projektu, aby bylo možné po krátkém výpadku napájení zapnout GSM modem.

Tlačítko externího napájení lze vyrobit pájením vodičů z kolíků tlačítka napájení na GSM modemu. DC UPS sníží nutnost zapnutí GSM modemu po každém výpadku napájení. Poskytuje funkce typu plug and forget. Nyní se podívejme, jak celé nastavení funguje.

V případě požáru teplota v místnosti rychle vzroste v krátkém období, snímač má schopnost měřit od 0 do 50 stupňů Celsia.

Když teplota stoupne nad nastavenou prahovou hodnotu v programu (v rozmezí 0 až 50), odešle výstrahu SMS s hlášením „Požární výstraha: 45,00 stupňů Celsia“. 45 stupňů Celsia je teplota místnosti během odesílání SMS, teplota by dosáhla nad 100 stupňů Celsia během několika minut po požáru. Pro redundanci se odešlou dvě výstrahy SMS, v případě, že jedna z odeslaných zpráv selže.

Pokud senzor selhal nebo se senzor odpojil od Arduina, informace se uživateli zašle dvakrát pomocí SMS se zprávou „Žádná data ze senzoru / senzor odpojen“

Program se zastaví po dobu 30 minut po odeslání výstrahy SMS na požár nebo odpojení senzoru. Po 30 minutách znovu zkontroluje abnormality teploty v místnosti a připojení čidla, pokud existují, znovu odešle výstrahu SMS a čeká dalších 30 minut.

Když je celé nastavení dokončeno a zapnuto, GSM modem pošle testovací SMS se zprávou „Toto je testovací SMS z GSM modemu“, pokud obdržíte tuto zprávu na číslo příjemce, znamená to, že váš projekt funguje dobře.

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

Poznámka: Číslo příjemce musíte umístit na 3 místa v programu, který je v programu popsán jako

('AT + CMGS = ' + 91xxxxxxxxx ' r') // Nahraďte x číslem mobilního telefonu

• Nastavte mezní teplotu

int th = 45 // nastavená prahová teplota

Prahová teplota musí být nastavena vysoko, vyšší než obvykle kolísání teploty v místnosti Například: DHT11 má maximální měřicí kapacitu 50 stupňů Celsia, takže prahovou teplotu lze nastavit od 45 do 47. Vysoká prahová hodnota je nastavena tak, aby při malých změnách teploty v místnosti neposílala falešně spuštěné výstrahy SMS.

Pokud máte další pochybnosti nebo dotazy týkající se diskutovaného výstražného obvodu GSM požární SMS, neváhejte je uvést prostřednictvím svých cenných komentářů.




Předchozí: Jak navrhnout obvod indukčního ohřívače Další: Prozkoumáno 6 nejlepších obvodů střídače IC 555