王欣 李平
摘 要 本項目是專門針對兒童溫濕度檢測報警器的設計。本設計是以單片機AT89S51為主控芯片,并結合外圍溫度濕度模塊DHT11,藍牙模塊BLE-CC41-A組合而成。系統(tǒng)能夠完成采集溫度濕度等數(shù)據(jù),并實現(xiàn)數(shù)據(jù)顯示,報警等功能。整個設計在Keil開發(fā)環(huán)境下,用C語言對主控芯片AT89S51編程,來實現(xiàn)兒童溫濕度檢測及報警功能。
關鍵詞 AT89S51;藍牙;報警;溫度濕度感測
中圖分類號 TP2 文獻標識碼 A 文章編號 2095-6363(2017)15-0088-01
每個家庭對自己孩子的關心愛護是如此得無微不至,孩子的健康冷暖無時無刻不牽動著父母的神經(jīng),特別是初為人父母,沒有帶孩子的經(jīng)驗,對孩子的身體狀況不是很好地洞察。家長很難及時發(fā)現(xiàn)孩子是否熱著了,是否玩得出汗了,是否走遠了,并及時做出處理,最后導致孩子因著涼生病時有發(fā)生。因此,出于家長們對孩子的照顧的需求,兒童溫濕度檢測及報警器的設計可以輔助家長更好地照顧自己的孩子。
1 系統(tǒng)組成
系統(tǒng)主要由兩個部分組成:一個為兒童端(從機),一個為家長端(主機)。兒童端由單片機、溫濕度傳感器和藍牙通信模塊組成;家長端由藍牙模塊、顯示模塊和報警模塊組成。系統(tǒng)硬件結構圖如圖1所示。
2 設計原理
本系統(tǒng)選用AT89S51單片機作為主控芯片,驅動溫濕度傳感器工作,溫濕度傳感器將感應到的溫度濕度數(shù)據(jù)傳給從機,從機接收到數(shù)據(jù)后,通過藍牙模塊傳輸給主機,主機將接收到的數(shù)據(jù)通過LCD顯示出來,溫度和濕度的數(shù)值不斷實時刷新,當溫度或濕度超過設定值或丟失信號時報警。
3 系統(tǒng)硬件設計
3.1 溫濕度檢測模塊
本系統(tǒng)采用DHT11數(shù)字溫濕度傳感器,DHT11是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器[1]。它應用專用的數(shù)字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件[2],與AT89S51單片機相連接。單線制串行接口,使系統(tǒng)集成變得簡易快捷。
溫濕度傳感器DHT11有3個引腳VCC,GND,DATA。是單數(shù)據(jù)線傳輸,通過單片機控制高低電平來啟動讀取溫度濕度數(shù)據(jù),溫濕度檢測電路如圖2所示。
3.2 藍牙通訊模塊
本系統(tǒng)采用BLE-CC41-A藍牙模塊,配置有256kb空間,遵循V4.0 BLE藍牙規(guī)范,支持AT指令,用戶可根據(jù)需要更改串口波特率、設備名稱、配對密碼等參數(shù),使用靈活[3]。
藍牙通訊模塊有4個引腳,分別是VCC,GND,TXD,RXD。將藍牙模塊通上電,TXD和單片機RXD相連,RXD和單片機TXD相連。按照串口的方式進行通訊。
3.3 報警電路
當溫濕度超過所設定的上限值時,單片機AT89C51便通過P2.7口控制三極管來驅動揚聲器報警,當輸出低電平時三極管截止,當輸出高電平時三極管導通揚聲器報警。如圖3所示。
3.4 液晶顯示模塊
本設計采用LCD1602液晶顯示模塊。1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。該顯示模塊具有2行16列能顯示32個字符[4],管腳的電源引腳接到5V電源上,方便直接與單片機的I/0進行并行數(shù)據(jù)傳送。本設計的液晶與單片機的 P0 口連接。
4 系統(tǒng)軟件設計
本設計軟件程序設計采用C語言編寫,主要包括了主機程序設計、從機程序、溫濕度程序設計、藍牙程序設計、顯示程序5個方面。其主機程序流程圖如圖4所示。
5 結論
基于單片機實現(xiàn)的兒童溫濕度報警器,基本完成了溫濕度檢測、數(shù)據(jù)傳輸,數(shù)據(jù)處理、數(shù)據(jù)顯示、報警等多種功能。本系統(tǒng)具有結構簡單,硬件較少,容易實現(xiàn),性能穩(wěn)定可靠,成本低等特點,可以極其方便地幫助父母檢測孩子的溫濕度情況。
參考文獻
[1]趙娜,趙剛.基于51單片機的溫度測量系統(tǒng)[J].微計算機信息,2007(6):146-148.
[2]夏曉南.基于單片機的溫箱溫度和濕度的控制[J].現(xiàn)代電子技術,2005(24):117-118.
[3]徐小濤,熊華,高泳洪,等.藍牙技術標準的最新發(fā)展[J].電信工程技術與標準化,2008,21(9):44-47.
[4]劉明真,陳鴻.基于單片機智能節(jié)水灌溉系統(tǒng)設計[J].學術問題研究,2010(1):75-80.endprint