GSM 화재 SMS 경보 프로젝트

문제를 제거하기 위해 도구를 사용해보십시오





이 기사에서는 Arduino 및 DHT11 센서를 사용하여 GSM 화재 경보 회로 시스템을 구성 할 것입니다.이 시스템은 설치된 전제 내 화재 위험에 대해 문자 메시지 (SMS)를 통해 사용자에게 경고합니다.

DHT11 센서 사용

우리는 사용하고 있습니다 DHT11 센서 주변의 비정상적인 온도 상승을 감지합니다. 프로그램에서 임계 값 온도를 정확하게 설정할 수 있습니다. 온도가 사전 설정된 임계 값 이상으로 상승하면 GSM 모뎀 알림 SMS 보내기 시작 받는 사람에게.



작동 원리

GSM 화재 경보 회로 설정은 센서, 프로젝트의 두뇌 인 Arduino, SMS 경보를 보내는 GSM 모뎀의 세 부분으로 구성됩니다.

설정의 배선은 다른 것과 동일합니다 GSM 기반 프로젝트 이 웹 사이트에서 논의되었습니다. 유일한 차이점은 Arduino에 DHT11 센서를 추가한다는 것입니다.



GSM의 TX는 Arduino의 9 번 핀에 연결되고 GSM의 RX는 Arduino의 8 번 핀에 연결되며 접지 대 접지 연결도 연결됩니다. 센서의 전원 및 데이터 연결은 프로토 타이핑하는 동안 배선 혼잡을 줄이기 위해 최적화되었습니다.

연결을주의 깊게 확인하고 아래 그림과 같이 올바른 방향으로 A0에서 A2까지 센서를 삽입하십시오.

센서 방향을 반대로하면 직렬 모니터에 '데이터 없음'이 표시됩니다. 반대 방향을 장기간 유지하면 센서가 손상 될 수도 있습니다. 따라서 센서 연결에주의하십시오.

완성 된 저자의 프로토 타입은 다음과 같습니다.

항상 외부 전원 공급 장치로 GSM 모뎀에 전원을 공급하십시오. ㅏ 9V 500mA 전원 어댑터 GSM 모뎀에 충분합니다. 직렬 모니터는 독립 실행 형 프로젝트가 될 것이기 때문에이 프로젝트에서 필수는 아닙니다. 프로토 타입을 테스트하는 동안에 만 직렬 모니터가 필요합니다.

을 만들다 DC UPS 시스템 , 회로도는이 웹 사이트에서 구할 수 있으며 프로젝트 섀시 외부에서 전원 버튼에 쉽게 액세스 할 수 있도록하여 잠시 정전 후 GSM 모뎀의 전원을 켤 수 있도록하십시오.

외부 전원 버튼은 GSM 모뎀의 전원 버튼 핀에서 와이어를 납땜하여 만들 수 있습니다. DC UPS는 정전 후 GSM 모뎀의 전원을 켤 필요성을 줄여줍니다. 플러그 앤 잊을 수있는 기능을 제공합니다. 이제 전체 설정이 어떻게 작동하는지 살펴 보겠습니다.

화재가 발생하면 단시간에 실내 온도가 급격히 상승하며 센서는 섭씨 0도에서 50도까지 측정 할 수 있습니다.

온도가 프로그램에서 미리 설정된 임계 값 이상으로 상승하면 (0 ~ 50도 이내) '화재 경보 : 섭씨 45.00도'라는 SMS 경고를 보냅니다. 섭씨 45 도는 SMS를 보내는 동안 방의 온도가 화재 사고 후 몇 분 안에 섭씨 100도를 넘어서는 온도입니다. 전송 된 메시지 중 하나가 실패 할 경우 중복성을 위해 두 개의 SMS 경고가 전송됩니다.

센서가 고장 나거나 센서가 아두 이노에서 분리되면 SMS를 통해 '센서 / 센서에서 데이터 연결이 끊겼습니다.'라는 정보가 두 번 사용자에게 전송됩니다.

화재 또는 센서 단선에 대한 SMS 경보를 보낸 후 30 분 동안 프로그램이 중지됩니다. 30 분 후 상온 및 센서 배선의 이상 유무를 다시 확인하고, 존재하는 경우 다시 SMS 경보를 보내고 30 분 더 기다립니다.

전체 설정이 완료되고 전원이 켜지면 GSM 모뎀이 수신인 번호로이 메시지를 받으면 '이것은 GSM 모뎀의 테스트 SMS입니다'라는 테스트 SMS를 전송합니다. 이는 프로젝트가 제대로 작동하고 있음을 의미합니다.

프로그램:

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

참고 : 프로그램에서 다음과 같이 설명 된 프로그램의 3 자리에 수신자 번호를 입력해야합니다.

( 'AT + CMGS = '+ 91xxxxxxxxx ' r') // x를 휴대폰 번호로 대체

• 임계 온도 설정

int th = 45 // 임계 온도 설정

임계 온도는 평소보다 높게 설정해야합니다. 방의 온도 변동 . 예 : DHT11의 최대 측정 용량은 섭씨 50도이므로 임계 값 온도는 45에서 47로 설정할 수 있습니다. 높은 임계 값은 실내 온도의 작은 변화에 대해 잘못된 트리거 SMS 경고를 보내지 않도록 설정됩니다.

논의 된 GSM 화재 SMS 경보 회로 시스템에 대해 더 궁금한 점이나 질문이 있으시면 주저하지 마시고 소중한 의견을 보내주십시오.




Previous : 유도 히터 회로 설계 방법 다음 : 6 개의 최고의 IC 555 인버터 회로 탐색