文/李梅 蔡武德
該系統(tǒng)組成如圖1所示,以Arduino 單片機作為主控芯片,外圍包含短信模塊、顯示模塊、傳感器模塊、網(wǎng)絡(luò)拓展模塊。紅外檢測器負(fù)責(zé)人體紅外信號的收集并將之傳輸?shù)紸rduino 上分析判斷;煙霧檢測探頭負(fù)責(zé)煙霧信號的采集并將之傳輸?shù)紸rduino上分析判斷;煤氣檢測探頭負(fù)責(zé)煤氣濃度信號的采集并將之傳輸?shù)紸rduino 上分析判斷。Arduino 對熱釋電傳感器、煙霧檢測探頭和煤氣濃度檢測探頭采集的信號做分析處理,判斷其是否超過安全閾值,在判斷有危險時,Arduino 控制GSM短信模塊向用戶發(fā)出報警信息,實現(xiàn)遠(yuǎn)程報警。Arduino 與GSM 模塊之間的通信是通過串口來實現(xiàn)的,只需要將TX、RX、GND 這三根線連接起來即可實現(xiàn)串口通信。
GSM 模塊采用SIM900A,通過單片機給SIM900A 芯片發(fā)送AT 指令便可實現(xiàn)遠(yuǎn)距離無線通信。煙霧傳感器是MQ-2,其作用是將采集到的煙霧信號發(fā)送到Arduino 上讓其分析判斷,一旦超過閾值就通過GSM 向用戶發(fā)送短信報警。煤氣傳感器采用MQ-5,其作用是將采集到的煤氣信號發(fā)送到Arduino 上讓其分析判斷,一旦超過閾值就通過GSM 向用戶發(fā)送短信報警。紅外傳感器是BISS0001,其作用是將采集到的紅外信號發(fā)送到Arduino 上,讓其分析判斷,一旦超過閾值就通過GSM 向用戶發(fā)送短信報警。溫度傳感器是單總線數(shù)字式DS18B20。
程序流程分為統(tǒng)主程序流程如圖2所示;人體紅外模塊程序流程如圖3所示;煤氣檢測模塊程序流程如圖4所示;煙霧檢測模塊程序流程如圖5所示。各個模塊采集到的信號由Arduino 集中處理和分析,并將信息發(fā)給主人。

圖1:系統(tǒng)框圖

圖2:系統(tǒng)主程序流程圖

圖3:人體紅外模塊程序流程

圖4:煤氣檢測模塊程序流程

圖5:煙霧檢測模塊程序流程
本系統(tǒng)主要應(yīng)用了GSM 模塊的短信功能進行報警,將報警信息通過GSM 傳輸至系統(tǒng)預(yù)設(shè)手機上。故在模塊初始化時需進行相關(guān)配置:
Serial.print ("AT ");//AT 指令:檢查模塊是否響應(yīng)
Serial.print ("AT+CSQ ");//AT+CSQ 指令:查詢信號強度
Serial.print ("AT+CREG? ");//AT+CREG?指令:查詢GSM 網(wǎng)絡(luò)注冊
Serial.print ("AT+COPS? ");//AT+COPS?指令:查詢GSM 網(wǎng)絡(luò)運營商
短信發(fā)送之前,需明確短信的內(nèi)容和短信接收者的號碼,在程序中就體現(xiàn)為在Arduino中創(chuàng)建緩存來存放短信內(nèi)容和手機號碼。在SIM900A 芯片中,短信有TEXT 和PDU 兩種發(fā)送模式,因為發(fā)送的內(nèi)容較為簡潔,所以選用TEXT 模式。程序的主要內(nèi)容有設(shè)置短信發(fā)送號碼、設(shè)置短信發(fā)送模式、短信發(fā)送結(jié)束標(biāo)志以及短信發(fā)送內(nèi)容。
單片機通過AT 指令可以很方便地對GSM 模塊進行相關(guān)配置,如檢測GSM 模塊是否響應(yīng)、查詢當(dāng)前信號強度、查詢GSM 模塊是否已注冊、查詢GSM 網(wǎng)絡(luò)運營商。使用AT 指令可以非常方便地發(fā)送短消息,通過單片機給SIM900A 芯片發(fā)送AT 指令便可實現(xiàn)遠(yuǎn)距離無線通信。
經(jīng)過對傳感器模塊、Arduino、短信模塊、電源等系統(tǒng)部件的組裝調(diào)試,本系統(tǒng)可以達(dá)到煤氣泄漏報警、火災(zāi)報警和防盜的設(shè)計要求。當(dāng)人體紅外傳感器感應(yīng)到人體信息時,當(dāng)煙霧傳感器檢測到煙霧濃度超過安全標(biāo)準(zhǔn)時,當(dāng)煤氣濃度超過設(shè)定閾值時,手機都能收到報警短信。