GSM Yangın SMS Uyarı Projesi

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazıda, Arduino ve DHT11 sensörünü kullanarak, kurulduğu yerdeki bir yangın tehlikesine karşı kullanıcıyı kısa mesaj (SMS) ile uyaracak bir GSM yangın alarm devresi sistemi kuracağız.

DHT11 Sensörünün Kullanılması

Kullanıyoruz DHT11 sensörü yerel alan çevresindeki olağandışı sıcaklık artışını algılamak için. Sıcaklık önceden ayarlanmış eşiğin üzerine çıkarsa, programda eşik sıcaklığını tam olarak ayarlayabiliriz, GSM modem uyarı SMS'i göndermeye başlar alıcıya.



Nasıl çalışır

GSM yangın ihbar devresi kurulumu; sensör, projenin beyni olan Arduino ve SMS uyarısı gönderen GSM modem olmak üzere 3 parçadan oluşmaktadır.

Kurulumun kablolaması diğerleriyle aynı GSM tabanlı projeler Bu web sitesinde tartışılan. Tek fark, DHT11 sensörünün Arduino'ya eklenmesidir.



GSM'in TX'i Arduino'nun 9 numaralı pinine bağlanır ve GSM'nin RX'i Arduino'nun 8 numaralı pinine bağlanır ve ayrıca topraklama bağlantısı da yapılır. Sensörün güç ve veri bağlantısı, prototipleme sırasında kablo tıkanıklığını azaltmak için optimize edilmiştir.

Lütfen bağlantılara dikkatlice dikkat edin ve sensörü A0'dan A2'ye aşağıda gösterildiği gibi doğru yönde yerleştirin.

Sensörün yönünü ters çevirmek, seri monitörde 'VERİ YOK' mesajı verecektir. Ters yönelim uzun süre muhafaza edilirse, sensöre bile zarar verebilir. Bu nedenle, sensör bağlantısı konusunda dikkatli olun.

İşte tamamlanmış bir yazarın prototipi:

GSM modeme her zaman harici güç kaynağı ile güç verin. Bir 9V 500mA güç adaptörü GSM modem için yeterli olacaktır. Bağımsız bir proje olacağı için seri monitör bu proje için zorunlu değildir. Sadece prototipi test ederken seri monitöre ihtiyacımız var.

Yapmak DC UPS sistemi , şemalar bu web sitesinde mevcuttur ve güç düğmesini projenizin şasisi dışında kolayca erişilebilir hale getirmeye çalışın, böylece GSM modemi kısa bir elektrik kesintisinden sonra açılabilir.

Harici güç düğmesi, GSM modem üzerindeki güç düğmesinin pimlerinden teller lehimlenerek yapılabilir. DC UPS, her güç kesintisinden sonra GSM modemi AÇMA gerekliliğini azaltacaktır. Tak ve unut özelliği sağlar. Şimdi tüm kurulumun nasıl çalıştığını görelim.

Yangın durumunda oda sıcaklığı kısa sürede hızla yükselir, sensör 0 ile 50 Santigrat derece arasında ölçüm yapabilme özelliğine sahiptir.

Sıcaklık programda önceden belirlenmiş eşik değerin üzerine çıktığında (0 ile 50 arasında) “Yangın uyarısı: 45.00 derece Celsius” şeklinde bir SMS uyarısı gönderir. 45 derece Santigrat, SMS gönderimi sırasında odanın sıcaklığıdır, sıcaklık, yangın kazasından birkaç dakika sonra 100 santigrat derecenin üzerine çıkar. Gönderilen mesajlardan birinin başarısız olması durumunda yedeklilik için iki SMS uyarısı gönderilir.

Sensör arızalanırsa veya sensör Arduino ile bağlantısı kesilirse, bilgi kullanıcıya iki kez SMS yoluyla 'Sensörden / sensörden veri yok' diyerek gönderilir.

Yangın veya sensör bağlantısının kesilmesi durumunda SMS uyarısı gönderildikten sonra program 30 dakika durur. 30 dakika sonra oda sıcaklığında ve sensör kablo bağlantısında anormallik olup olmadığını tekrar kontrol eder, varsa tekrar SMS uyarısı gönderir ve 30 dakika daha bekler.

Tüm kurulum tamamlandığında ve çalıştırıldığında, GSM modem, alıcı numarasına bu mesajı alırsanız, 'Bu GSM modemden bir test SMSidir' diyen test SMS'i gönderir, projenizin iyi çalıştığı anlamına gelir.

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

Not: Programda aşağıdaki şekilde açıklanan programda 3 yere alıcı numarasını yerleştirmelisiniz.

('AT + CMGS = ' + 91xxxxxxxxx ' r') // x yerine cep telefonu numarası

• Eşik sıcaklığını ayarlayın

int th = 45 // eşik sıcaklığını ayarla

Eşik sıcaklığı normalden daha yüksek bir değere ayarlanmalıdır odanın sıcaklık dalgalanması Örneğin: DHT11, maksimum 50 derece Santigrat ölçüm kapasitesine sahiptir, bu nedenle eşik sıcaklığı 45 ila 47 arasında ayarlanabilir. Yüksek eşik değeri, oda sıcaklığındaki küçük değişiklikler için yanlış tetiklemeli SMS uyarısı göndermeyecek şekilde ayarlanır.

Tartışılan GSM yangın SMS uyarı devre sistemi ile ilgili başka şüpheleriniz veya sorularınız varsa, lütfen bunları değerli yorumlarınızda belirtmekten çekinmeyin.




Önceki: İndüksiyon Isıtıcı Devresi Nasıl Tasarlanır Sonraki: 6 En İyi IC 555 İnvertör Devresi Keşfedildi