GSM Fire SMS -hälytysprojekti

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä artikkelissa aiomme rakentaa GSM-palohälytyspiirijärjestelmän, jossa käytetään Arduino- ja DHT11-anturia, joka varoittaa käyttäjää tekstiviestillä (SMS) palovaarasta tiloissa, joihin se on asennettu.

DHT11-anturin käyttö

Käytämme DHT11-anturi havaitsemaan epätavallinen lämpötilan nousu lähialueella. Voimme asettaa kynnyslämpötilan tarkasti ohjelmassa, jos lämpötila nousee ennalta asetetun kynnyksen, GSM-modeemin alkaa lähettää hälytysviestiä vastaanottajalle.



Kuinka se toimii

GSM-palohälytyspiirin kokoonpano koostuu 3 osasta, anturista, Arduinosta, joka on projektin aivot, ja GSM-modeemista, joka lähettää tekstiviesti-ilmoituksen.

Asennuksen johdotus on sama kuin muu GSM-pohjaiset projektit josta keskusteltiin tällä verkkosivustolla. Ainoa ero on DHT11-anturin lisääminen Arduinoon.



GSM: n TX on kytketty Arduinon tapaan # 9 ja GSM: n RX on kytketty Arduinon tapaan # 8 ja myös maa-maahan-yhteys on kytketty. Anturin virta- ja datayhteys on optimoitu vähentämään johdotuksen ruuhkautumista prototyyppien muodostamisen aikana.

Huomaa liitännät huolellisesti ja aseta anturi A0: sta A2: een oikeassa asennossa alla olevan kuvan mukaisesti.

Anturin suunnan muuttaminen antaa sarjassa olevalle näytölle “NO DATA”. Jos taaksepäin pidetään pitkään, se voi jopa vahingoittaa anturia. Joten ole varovainen anturin liitännän suhteen.

Tässä on valmis kirjoittajan prototyyppi:

Käynnistä GSM-modeemi aina ulkoisella virtalähteellä. A 9V 500mA virtalähde riittää GSM-modeemille. Sarjamonitori ei ole pakollinen tälle projektille, koska se tulee olemaan erillinen projekti. Tarvitsemme sarjamoduulia vain prototyyppiä testattaessa.

Tehdä DC UPS -järjestelmä , kaaviot ovat saatavilla tällä verkkosivustolla ja yritä tehdä virtapainikkeesta helposti pääsy projektisi alustan ulkopuolelle, jotta GSM-modeemi voidaan käynnistää hetken virtakatkoksen jälkeen.

Ulkoinen virtapainike voidaan tehdä juottamalla johdot GSM-modeemin virtapainikkeen nastoista. DC UPS vähentää GSM-modeemin virran kytkemisen tarvetta jokaisen sähkökatkoksen jälkeen. Se antaa plug and unohda-ominaisuuden. Katsotaan nyt, kuinka koko asennus toimii.

Tulipalon sattuessa huonelämpötila nousee nopeasti lyhyessä ajassa, anturilla on kyky mitata muoto 0-50 celsiusastetta.

Kun lämpötila nousee ohjelmassa asetetun kynnysarvon yläpuolelle (0-50), se lähettää tekstiviestihälytyksen sanomalla 'Palohälytys: 45,00 celsiusastetta'. 45 astetta on huoneen lämpötila tekstiviestin lähettämisen aikana, jonka lämpötila nousee yli 100 celsiusasteeseen muutamassa minuutissa palo-onnettomuuden jälkeen. Kaksi tekstiviestihälytystä lähetetään redundanssia varten, jos lähetetty viesti epäonnistuu.

Jos anturi epäonnistui tai anturi irrotetaan Arduinosta, tiedot lähetetään käyttäjälle tekstiviestillä kahdesti sanomalla 'Ei tietoja anturista / anturista irrotettu'

Ohjelma pysähtyy 30 minuutiksi tekstiviestihälytyksen lähettämisen jälkeen palon tai anturin katkaisemista varten. Se tarkistaa uudelleen huonelämpötilan ja anturijohdon liitännän suhteen 30 minuutin kuluttua, jos sellaisia ​​on, se lähettää tekstiviesti-ilmoituksen uudelleen ja odottaa vielä 30 minuuttia.

Kun koko asennus on valmis ja virta kytketty päälle, GSM-modeemi lähettää testiviestin sanomalla 'Tämä on testiviesti GSM-modeemilta', jos saat tämän viestin vastaanottajanumeroon, se tarkoittaa, että projektisi toimii hyvin.

Ohjelmoida:

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

Huomautus: Vastaanottajanumero on sijoitettava 3 paikkaan ohjelmassa, joka kuvataan ohjelmassa nimellä

('AT + CMGS = ' + 91xxxxxxxxx ' r') // Korvaa x matkapuhelinnumerolla

• Aseta kynnyslämpötila

int th = 45 // asetettu kynnyslämpötila

Kynnyslämpötila on asetettava korkeaksi, tavallista korkeammaksi huoneen lämpötilan vaihtelu Esimerkiksi: DHT11: n suurin mittauskapasiteetti on 50 celsiusastetta, joten kynnyslämpötila voidaan asettaa 45: stä 47: een. Korkea kynnysarvo asetetaan siten, että se ei lähetä vääriä laukaistavia tekstiviestejä pienistä huonelämpötilan muutoksista.

Jos sinulla on vielä epäilyksiä keskustellusta GSM-palohälytyspiirijärjestelmästä, älä epäröi esittää niitä arvokkaiden kommentiesi avulla.




Pari: Kuinka suunnitella induktiolämmitinpiiri Seuraava: 6 parasta tutkittua IC 555 -invertteripiiriä