基于nRF24L01的無(wú)線(xiàn)溫濕度檢測系統設汁
2.3 串行通信模塊
主機單片機接收到nRF24L01的數據后,經(jīng)MAX232電平轉換可實(shí)現單片機程序下載與升級,同時(shí)可實(shí)現單片機與PC機(上位機)的通信,以便將顯示數據信息通過(guò)此電路傳送到PC機,并存PC機上顯示,其串行通信電路如圖6所示。本文引用地址:http://dyxdggzs.com/article/155230.htm
3 軟件設計
3.1 下位機軟件
本系統使用C語(yǔ)言編程,應根據設計任務(wù)的要求確定系統程序的完整結構,盡可能采用模塊化程序設計方法,將任務(wù)劃分為相對獨立的功能模塊,明確各模塊的功能、時(shí)間順序和相互關(guān)系,系統的軟件設計可以分為幾個(gè)部分,首先是各個(gè)模塊的底層驅動(dòng)程序編寫(xiě),而后是系統聯(lián)機調試,最后再編寫(xiě)上位機的系統程序。
主程序是控制和管理的核心,系統上電后,首先進(jìn)行初始化,系統開(kāi)始正常運轉后,再進(jìn)行溫、濕度的監測與處理等操作。
3.2 上位機軟件設計
系統上位機能完成的功能有顯示串口號,提示串口是否已被成功打開(kāi);同時(shí),上位機能夠與下位機同步顯示溫度,而且能夠實(shí)時(shí)曲線(xiàn)顯示溫度;上位機能夠設置下限溫濕度和上限溫濕度,當高于上限溫濕度或低于下限溫濕度時(shí),還能夠報警。將主機單片機的控制電路串行接口與電腦串口經(jīng)過(guò)電平轉換連接后,選擇正確的通信協(xié)議,設置好波特率,即可進(jìn)行通信。圖7所示是上位機操作界面圖。
上位機軟件可在PC機上通過(guò)VC6.0編寫(xiě),主要是對MSComm控件及CserialPort類(lèi)進(jìn)行操作。
首先是串口設置。本系統利用的是CSERIALPORT類(lèi)中的初始化函數InitPort (this,nport,nbtl,‘N’,8,1,m_dwCommEvents,512).其巾nport為串口號,nbtl為波特率,可利用串口設置對話(huà)框中的串口號和波特率兩個(gè)組合框分別得到初始化函數中的nport和nbtl。
其次是對溫濕度上下限的設置??衫肅SERIALPORT類(lèi)中的啟動(dòng)串口監測進(jìn)程函數Start Monitoring、發(fā)送字符串函數WriteToPort以及關(guān)閉串口進(jìn)程StopMonitoring來(lái)進(jìn)行溫度上下限的設置,其信息通過(guò)這些函數發(fā)送到串口,單片機從RS232上收到數據后,與自身的溫度相比較,再進(jìn)行相應的處理。
第三是曲線(xiàn)顯示。動(dòng)態(tài)曲線(xiàn)顯示可利用CHistogram類(lèi)中的SetRange(200,400),SetPos(temp)函數,SetRange設置上下極限值,SetPos是在圖上顯示相應的數據點(diǎn),temp是從單片機傳來(lái)的溫濕度數據的處理結果,具體的移動(dòng)曲線(xiàn)可由CHistogram類(lèi)中函數實(shí)現。
4 結論
經(jīng)測試,在發(fā)射接收模塊沒(méi)加天線(xiàn)的情況下,無(wú)線(xiàn)發(fā)射接收模塊在大多數情況下的數據傳輸距離在200 m左右,發(fā)射頭發(fā)射功率、接收頭接收靈敏度等因素可能會(huì )影響傳輸距離,若外加天線(xiàn),則會(huì )大大增加傳輸距離。另外,在調試過(guò)程中,振蕩電阻必須匹配,否則接收距離會(huì )變短甚至無(wú)法接收。
本系統的數字信號由單片機采樣,基于DHT11的數字溫濕度傳感器構成的實(shí)時(shí)監控系統具有精度高、抗干擾能力強、電路簡(jiǎn)單等諸多優(yōu)點(diǎn)。然后利用單片機與PC機的通信可將數據送到PC機進(jìn)行數據的存儲、后期處理與顯示。本系統數據處理功能強大、顯示直觀(guān)、界面友好、性?xún)r(jià)比高,可廣泛應用于工業(yè)控制、儀器、儀表、農業(yè)養殖及智能家居等諸多領(lǐng)域。
評論