Progetto GSM Fire SMS Alert

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo articolo costruiremo un sistema di circuito di allarme antincendio GSM utilizzando Arduino e sensore DHT11, che avviserà l'utente tramite messaggio di testo (SMS), in merito a un pericolo di incendio all'interno della premessa in cui è installato.

Utilizzo del sensore DHT11

Stiamo usando Sensore DHT11 per rilevare un aumento insolito della temperatura nell'area locale. Possiamo impostare con precisione la temperatura di soglia nel programma, se la temperatura supera la soglia preimpostata, il modem GSM inizia a inviare SMS di avviso al destinatario.



Come funziona

La configurazione del circuito di allarme antincendio GSM è composta da 3 parti, il sensore, Arduino che è il cervello del progetto e il modem GSM che invia l'allarme SMS.

Il cablaggio del setup è lo stesso degli altri Progetti basati su GSM che è stato discusso in questo sito. L'unica differenza è l'aggiunta del sensore DHT11 ad Arduino.



Il TX del GSM è collegato al pin # 9 di Arduino e l'RX del GSM è collegato al pin # 8 di Arduino e anche la connessione da terra a terra è collegata. La connessione di alimentazione e dati del sensore è ottimizzata per ridurre la congestione del cablaggio durante la prototipazione.

Notare attentamente i collegamenti e inserire il sensore da A0 ad A2 con l'orientamento corretto come illustrato di seguito.

Invertendo l'orientamento del sensore verrà visualizzato 'NESSUN DATO' sul monitor seriale. Se l'orientamento inverso viene mantenuto per un periodo prolungato, potrebbe persino danneggiare il sensore. Quindi, fai attenzione alla connessione del sensore.

Ecco il prototipo di un autore completo:

Alimentare sempre il modem GSM con un alimentatore esterno. UN Adattatore di alimentazione 9V 500mA sarà sufficiente per il modem GSM. Il monitor seriale non è obbligatorio per questo progetto in quanto sarà un progetto autonomo. Abbiamo bisogno di un monitor seriale solo durante il test del prototipo.

Fare un Sistema DC UPS , gli schemi sono disponibili in questo sito Web e cercare di rendere il pulsante di accensione facilmente accessibile al di fuori dello chassis del progetto, in modo che il modem GSM possa essere acceso dopo una breve interruzione di corrente.

Il pulsante di accensione esterno può essere realizzato saldando i fili dai pin del pulsante di accensione sul modem GSM. DC UPS ridurrà la necessità di accendere il modem GSM dopo ogni interruzione di corrente. Fornisce plug and dimentica tipo di funzionalità. Ora vediamo come funziona l'intera configurazione.

In caso di incendio la temperatura ambiente aumenta rapidamente in un breve periodo, il sensore ha la capacità di misurare da 0 a 50 gradi Celsius.

Quando la temperatura sale al di sopra del valore di soglia preimpostato nel programma (da 0 a 50) invia un avviso SMS che dice 'Allarme incendio: 45,00 gradi Celsius'. 45 gradi Celsius è la temperatura della stanza durante l'invio di SMS la temperatura raggiungerebbe oltre 100 gradi Celsius entro pochi minuti dall'incidente. Vengono inviati due SMS di avviso per ridondanza, nel caso in cui quello del messaggio inviato non sia riuscito.

Se il sensore si guasta o il sensore viene disconnesso da Arduino, l'informazione viene inviata all'utente tramite SMS due volte dicendo 'Nessun dato dal sensore / sensore disconnesso'

Il programma si interrompe per 30 minuti dopo l'invio di un avviso SMS per incendio o scollegamento del sensore. Verifica nuovamente la presenza di anomalie nella temperatura ambiente e nel collegamento del cavo del sensore dopo 30 minuti, se presente, invia nuovamente un avviso SMS e attende altri 30 minuti.

Quando l'intera configurazione è completata e si accende, il modem GSM invia un SMS di prova dicendo 'Questo è un SMS di prova dal modem GSM'. Se ricevi questo messaggio al numero del destinatario, significa che il tuo progetto sta funzionando bene.

Programma:

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

Nota: è necessario inserire il numero del destinatario in 3 posizioni nel programma che è descritto nel programma come

('AT + CMGS = ' + 91xxxxxxxxx ' r') // Sostituisci x con numero di cellulare

• Impostare la temperatura di soglia

int th = 45 // imposta la temperatura di soglia

La temperatura di soglia deve essere impostata alta, maggiore del normale fluttuazione della temperatura della stanza Ad esempio: DHT11 ha una capacità di misurazione massima di 50 gradi Celsius, quindi la temperatura di soglia può essere impostata da 45 a 47. Il valore di soglia alto è impostato in modo che non invii falsi avvisi SMS attivati ​​per piccoli cambiamenti nella temperatura ambiente.

Se hai ulteriori dubbi o domande sul sistema del circuito di allarme SMS antincendio GSM discusso, non esitare a metterli avanti attraverso i tuoi preziosi commenti.




Precedente: Come progettare un circuito di riscaldamento a induzione Avanti: 6 migliori circuiti inverter IC 555 esplorati