Dự án SMS cảnh báo cháy GSM

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Trong bài viết này, chúng tôi sẽ xây dựng một hệ thống mạch cảnh báo cháy GSM sử dụng Arduino và cảm biến DHT11, sẽ cảnh báo người dùng qua tin nhắn văn bản (SMS), liên quan đến nguy cơ hỏa hoạn trong khuôn viên nơi nó được lắp đặt.

Sử dụng cảm biến DHT11

Chúng tôi đang sử dụng Cảm biến DHT11 để cảm nhận sự gia tăng nhiệt độ bất thường xung quanh khu vực địa phương. Chúng tôi có thể đặt chính xác nhiệt độ ngưỡng trong chương trình, nếu nhiệt độ tăng trên ngưỡng cài đặt trước, modem GSM bắt đầu gửi SMS cảnh báo cho người nhận.



Làm thế nào nó hoạt động

Thiết lập mạch cảnh báo cháy GSM bao gồm 3 phần, cảm biến, Arduino là bộ não của dự án và modem GSM sẽ gửi cảnh báo qua SMS.

Hệ thống dây của thiết lập cũng giống như Các dự án dựa trên GSM đã được thảo luận trong trang web này. Sự khác biệt duy nhất là việc bổ sung cảm biến DHT11 cho Arduino.



TX của GSM được kết nối với chân số 9 của Arduino và RX của GSM được kết nối với chân số 8 của Arduino và kết nối nối đất với mặt đất cũng được kết nối. Nguồn và kết nối dữ liệu của cảm biến được tối ưu hóa để giảm tắc nghẽn dây điện trong khi tạo mẫu.

Vui lòng lưu ý các kết nối cẩn thận và lắp cảm biến từ A0 đến A2 theo đúng hướng như minh họa bên dưới.

Đảo ngược hướng của cảm biến sẽ cho ra thông báo “KHÔNG CÓ DỮ LIỆU” trên màn hình nối tiếp. Nếu hướng ngược được giữ trong thời gian dài, nó thậm chí có thể làm hỏng cảm biến. Vì vậy, hãy thận trọng về kết nối cảm biến.

Đây là nguyên mẫu hoàn chỉnh của tác giả:

Luôn cấp nguồn cho modem GSM bằng nguồn điện bên ngoài. A Bộ đổi nguồn 9V 500mA sẽ đủ cho modem GSM. Màn hình nối tiếp là không bắt buộc đối với dự án này vì nó sẽ là một dự án độc lập. Chúng tôi chỉ cần màn hình nối tiếp trong khi thử nghiệm nguyên mẫu.

Làm một Hệ thống UPS DC , các sơ đồ có sẵn trong trang web này và cố gắng làm cho nút nguồn dễ dàng truy cập bên ngoài khung của dự án của bạn, để modem GSM có thể được BẬT nguồn sau khi mất điện trong thời gian ngắn.

Nút nguồn bên ngoài có thể được thực hiện bằng cách hàn dây từ các chân của nút nguồn trên modem GSM. DC UPS sẽ giảm sự cần thiết phải BẬT modem GSM sau mỗi lần mất điện. Nó cung cấp loại tính năng cắm và quên. Bây giờ, hãy xem toàn bộ thiết lập hoạt động như thế nào.

Trong trường hợp hỏa hoạn, nhiệt độ phòng tăng nhanh trong thời gian ngắn, cảm biến có khả năng đo nhiệt độ từ 0 đến 50 độ C.

Khi nhiệt độ tăng cao hơn giá trị ngưỡng cài đặt trước trong chương trình (trong khoảng 0 đến 50), nó sẽ gửi cảnh báo SMS với nội dung “Cảnh báo cháy: 45,00 độ C”. 45 độ C là nhiệt độ của căn phòng trong quá trình gửi tin nhắn SMS, nhiệt độ sẽ đạt trên 100 độ C trong vòng vài phút sau khi tai nạn hỏa hoạn. Cảnh báo hai SMS được gửi để dự phòng, trong trường hợp nếu một trong các tin nhắn đã gửi bị lỗi.

Nếu cảm biến bị lỗi hoặc cảm biến bị ngắt kết nối khỏi Arduino, thông tin sẽ được gửi đến người dùng qua SMS hai lần với nội dung 'Không có dữ liệu từ cảm biến / cảm biến đã ngắt kết nối'

Chương trình sẽ tạm dừng trong 30 phút sau khi gửi SMS cảnh báo cháy hoặc ngắt kết nối cảm biến. Nó sẽ kiểm tra lại sự bất thường trong nhiệt độ phòng và kết nối dây cảm biến sau 30 phút, nếu có, nó sẽ gửi lại cảnh báo SMS và đợi thêm 30 phút nữa.

Khi toàn bộ quá trình thiết lập hoàn tất và được BẬT nguồn, modem GSM sẽ gửi tin nhắn SMS kiểm tra thông báo “Đây là SMS kiểm tra từ modem GSM” nếu bạn nhận được tin nhắn này đến số người nhận, điều đó có nghĩa là dự án của bạn đang hoạt động tốt.

Chương trình:

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

Lưu ý: Bạn phải đặt số người nhận ở 3 vị trí trong chương trình được mô tả trong chương trình là

('AT + CMGS = ' + 91xxxxxxxxx ' r') // Thay x bằng số di động

• Đặt nhiệt độ ngưỡng

int th = 45 // cài đặt nhiệt độ ngưỡng

Nhiệt độ ngưỡng phải được đặt cao, lớn hơn bình thường sự dao động nhiệt độ của phòng Ví dụ: DHT11 có khả năng đo tối đa là 50 độ C, do đó, nhiệt độ ngưỡng có thể được đặt từ 45 đến 47. Giá trị ngưỡng cao được đặt để nó không gửi cảnh báo SMS kích hoạt sai đối với những thay đổi nhỏ trong nhiệt độ phòng.

Nếu bạn có thêm nghi ngờ hoặc thắc mắc liên quan đến hệ thống mạch cảnh báo SMS hỏa hoạn GSM đã thảo luận, vui lòng đưa ra chúng thông qua các ý kiến ​​quý giá của bạn.




Một cặp: Cách thiết kế mạch sưởi cảm ứng Tiếp theo: 6 mạch biến tần IC 555 tốt nhất đã khám phá