Projet d'alerte SMS incendie GSM

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article, nous allons construire un système de circuit d'alerte incendie GSM utilisant un capteur Arduino et DHT11, qui alertera l'utilisateur par message texte (SMS), concernant un risque d'incendie dans les locaux où il est installé.

Utilisation du capteur DHT11

Nous utilisons Capteur DHT11 pour détecter une élévation de température inhabituelle autour de la zone locale. Nous pouvons définir précisément la température seuil dans le programme, si la température dépasse le seuil prédéfini, le modem GSM commence à envoyer un SMS d'alerte au destinataire.



Comment ça fonctionne

La configuration du circuit d'alerte incendie GSM se compose de 3 parties, le capteur, Arduino qui est le cerveau du projet et le modem GSM qui envoie une alerte SMS.

Le câblage de l'installation est le même que celui des autres Projets basés sur le GSM qui a été discuté dans ce site Web. La seule différence est l'ajout du capteur DHT11 à Arduino.



Le TX du GSM est connecté à la broche n ° 9 d'Arduino et le RX du GSM est connecté à la broche n ° 8 d'Arduino et la connexion terre-terre est également connectée. La connexion d'alimentation et de données du capteur est optimisée pour réduire l'encombrement du câblage lors du prototypage.

Veuillez noter attentivement les connexions et insérer le capteur de A0 à A2 dans le bon sens comme illustré ci-dessous.

L'inversion de l'orientation du capteur donnera «PAS DE DONNÉES» sur le moniteur série. Si l'orientation inverse est maintenue pendant une période prolongée, cela peut même endommager le capteur. Alors, soyez prudent concernant la connexion du capteur.

Voici un prototype d’auteur terminé:

Alimentez toujours le modem GSM avec une alimentation externe. UNE Adaptateur secteur 9V 500mA suffira pour le modem GSM. Le moniteur série n'est pas obligatoire pour ce projet car il s'agira d'un projet autonome. Nous n'avons besoin d'un moniteur série que pour tester le prototype.

Faire un Système UPS DC , des schémas sont disponibles sur ce site Web et essayez de rendre le bouton d'alimentation facilement accessible à l'extérieur du châssis de votre projet, afin que le modem GSM puisse être mis sous tension après une brève panne de courant.

Le bouton d'alimentation externe peut être fait en soudant des fils à partir des broches du bouton d'alimentation sur le modem GSM. DC UPS réduira la nécessité de mettre sous tension le modem GSM après chaque panne de courant. Il donne une sorte de fonctionnalité plug and forget. Voyons maintenant comment fonctionne l'ensemble de la configuration.

En cas d'incendie, la température ambiante augmente rapidement en peu de temps, le capteur a la capacité de mesurer de 0 à 50 degrés Celsius.

Lorsque la température dépasse la valeur de seuil prédéfinie dans le programme (entre 0 et 50), il envoie une alerte SMS disant «Alerte incendie: 45,00 degrés Celsius». 45 degrés Celsius est la température de la pièce lors de l'envoi de SMS, la température atteindrait au-delà de 100 degrés Celsius quelques minutes après un incendie. Deux alertes SMS sont envoyées pour redondance, en cas d'échec de celui du message envoyé.

Si le capteur échoue ou si le capteur est déconnecté d'Arduino, les informations sont envoyées à l'utilisateur via SMS deux fois en disant «Aucune donnée du capteur / capteur déconnecté»

Le programme s'arrête pendant 30 minutes après l'envoi d'une alerte SMS en cas d'incendie ou de déconnexion du capteur. Il vérifie à nouveau toute anomalie de la température ambiante et de la connexion du fil du capteur après 30 minutes, le cas échéant, il envoie à nouveau une alerte SMS et attend encore 30 minutes.

Lorsque toute la configuration est terminée et allumée, le modem GSM envoie un SMS de test disant «Ceci est un SMS de test du modem GSM» si vous recevez ce message au numéro du destinataire, cela signifie que votre projet fonctionne correctement.

Programme:

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

Remarque: vous devez placer le numéro du destinataire à 3 endroits dans le programme qui est décrit dans le programme comme

('AT + CMGS = ' + 91xxxxxxxxx ' r') // Remplacez x par le numéro de portable

• Réglez la température seuil

int th = 45 // réglage de la température seuil

La température seuil doit être réglée à un niveau élevé, supérieur à la normale fluctuation de la température de la pièce Par exemple: DHT11 a une capacité de mesure maximale de 50 degrés Celsius, de sorte que la température de seuil peut être réglée de 45 à 47. La valeur de seuil élevée est définie de manière à ne pas envoyer de fausses alertes SMS déclenchées pour de petits changements de température ambiante.

Si vous avez d'autres doutes ou questions concernant le système de circuit d'alerte SMS incendie GSM discuté, n'hésitez pas à les faire part de vos précieux commentaires.




Une paire de: Comment concevoir un circuit de chauffage par induction Un article: 6 meilleurs circuits d'onduleur IC 555 explorés