En aquest article anem a construir un sistema de circuit d’alerta contra incendis GSM que utilitzi el sensor Arduino i DHT11, que avisarà l’usuari mitjançant un missatge de text (SMS) sobre un risc d’incendi dins del recinte on s’instal·la.
Utilitzant el sensor DHT11
Estem utilitzant Sensor DHT11 per detectar un augment de temperatura inusual a la zona local. Podem establir amb precisió la temperatura llindar al programa, si la temperatura augmenta per sobre del llindar predeterminat, el mòdem GSM comença a enviar SMS d'alerta al destinatari.
Com funciona
La configuració del circuit d’alerta contra incendis GSM consta de 3 parts, el sensor, Arduino que és el cervell del projecte i el mòdem GSM que envia una alerta per SMS.
El cablejat de la configuració és el mateix que altres Projectes basats en GSM que es va parlar en aquest lloc web. L’única diferència és l’addició del sensor DHT11 a Arduino.
El TX de GSM està connectat al pin # 9 d'Arduino i RX del GSM està connectat al pin # 8 d'Arduino i la connexió de terra a terra també està connectada. La connexió de potència i dades del sensor està optimitzada per reduir la congestió del cablejat mentre es fan prototips.
Tingueu en compte les connexions i introduïu el sensor d'A0 a A2 en una orientació correcta, tal com es mostra a continuació.
Si inverteix l'orientació del sensor, es mostrarà 'SENSE DADES' al monitor sèrie. Si es manté l'orientació inversa durant un període prolongat, fins i tot es pot danyar el sensor. Per tant, tingueu cura de la connexió del sensor.
Aquí teniu el prototip d’autor completat:
Enceneu sempre el mòdem GSM amb una font d'alimentació externa. A Adaptador de corrent de 9V 500mA serà suficient per al mòdem GSM. El monitor sèrie no és obligatori per a aquest projecte, ja que serà un projecte independent. Necessitem un monitor sèrie només mentre provem el prototip.
Fer una Sistema de SAI de CC , els esquemes estan disponibles en aquest lloc web i intenteu que el botó d’engegada sigui fàcilment accessible fora del xassís del vostre projecte, de manera que el mòdem GSM es pugui encendre després d’una breu fallada d’alimentació.
El botó d’engegada extern es pot fer mitjançant la soldadura de cables dels pins del botó d’engegada del mòdem GSM. El SAI de CC reduirà la necessitat d’engegar el mòdem GSM després de qualsevol fallada d’alimentació. Dóna tipus de connexió i oblit. Ara vegem com funciona tota la configuració.
En cas d'incendi, la temperatura de l'habitació augmenta ràpidament en un període curt, el sensor té la capacitat de mesurar de 0 a 50 graus centígrads.
Quan la temperatura augmenta per sobre del valor del llindar predeterminat al programa (entre 0 i 50), envia una alerta per SMS dient 'Alerta d'incendi: 45,00 graus centígrads'. 45 graus centígrads és la temperatura de l’habitació durant l’enviament d’SMS, la temperatura arribaria a superar els 100 graus centígrads pocs minuts després de l’accident de foc. S’envia dos avisos SMS per redundància, en cas que falli la del missatge enviat.
Si el sensor ha fallat o el sensor es desconnecta d'Arduino, la informació s'envia a l'usuari per SMS dues vegades dient 'No hi ha dades del sensor / sensor desconnectat'
El programa s’atura durant 30 minuts després d’enviar una alerta per SMS per desconnexió del sensor o incendi. Torna a comprovar si hi ha anomalies a la temperatura ambient i a la connexió del cable del sensor al cap de 30 minuts, si n'hi ha, envia un avís SMS de nou i espera 30 minuts més.
Quan es completa la configuració i s'encén, el mòdem GSM envia SMS de prova dient 'Aquest és un SMS de prova del mòdem GSM' si rebeu aquest missatge al número de destinatari, vol dir que el vostre projecte funciona bé.
Programa:
//--------------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: Heu de col·locar el número de destinatari en 3 llocs del programa que es descriu al programa com a
('AT + CMGS = ' + 91xxxxxxxxx ' r') // Substitueix x per número de mòbil
• Estableix la temperatura llindar
int th = 45 // estableix la temperatura del llindar
Cal establir la temperatura llindar alta, superior a l'habitual fluctuació de la temperatura de l'habitació Per exemple: DHT11 té una capacitat de mesura màxima de 50 graus centígrads, de manera que es pot establir la temperatura llindar de 45 a 47. Es defineix un valor llindar elevat perquè no enviï una falsa alerta SMS desencadenada per petits canvis de temperatura ambient.
Si teniu més dubtes o preguntes sobre el sistema de circuit d’alerta GSM contra incendis GSM, no dubteu a fer-los arribar a través dels vostres valuosos comentaris.
Anterior: Com dissenyar un circuit d’escalfament per inducció Següent: 6 millors circuits d’inversors IC 555 explorats