《基于單片機(jī)和無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)設(shè)計(jì)》11000字(論文)_第1頁(yè)
《基于單片機(jī)和無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)設(shè)計(jì)》11000字(論文)_第2頁(yè)
《基于單片機(jī)和無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)設(shè)計(jì)》11000字(論文)_第3頁(yè)
《基于單片機(jī)和無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)設(shè)計(jì)》11000字(論文)_第4頁(yè)
《基于單片機(jī)和無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)設(shè)計(jì)》11000字(論文)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于單片機(jī)和無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)設(shè)計(jì)【摘要】基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)可實(shí)現(xiàn)用水自動(dòng)化、定量化、遠(yuǎn)程監(jiān)測(cè)管控。這有利于根據(jù)實(shí)際情況實(shí)行精準(zhǔn)灌溉,提升灌溉質(zhì)量和效益,實(shí)現(xiàn)水資源合理利用。本課題介紹了一種基于無(wú)線傳感器網(wǎng)絡(luò)、STC12C5A60S2單片機(jī)的智能節(jié)水灌溉系統(tǒng)的底層設(shè)計(jì),實(shí)現(xiàn)環(huán)境參數(shù)的實(shí)時(shí)數(shù)據(jù)采集、分析,并且通過(guò)Zigbee通信模塊與控制中心進(jìn)行信息交互,最后控制中心通過(guò)數(shù)據(jù)分析,做出決策指令。通過(guò)STC12C5A60S2的快速、靈活控制,PC機(jī)的強(qiáng)大監(jiān)測(cè)與管理能力,使得該方案具有穩(wěn)定性好、數(shù)據(jù)傳送可靠、使用靈活等特點(diǎn)。同時(shí),針對(duì)農(nóng)田灌區(qū)數(shù)據(jù)量大、實(shí)時(shí)傳輸困難等問(wèn)題,采用無(wú)線傳感器網(wǎng)絡(luò)技術(shù),解決了配線不便、靈活性差等問(wèn)題,實(shí)現(xiàn)了田間地情連續(xù)監(jiān)控和自動(dòng)控制,提升了灌溉用水量的利用率?!娟P(guān)鍵字】智能節(jié)水灌溉系統(tǒng);Zigbee;無(wú)線傳感器網(wǎng)絡(luò);STC12C5A60S2單片機(jī)目錄TOC\o"1-3"\h\u1引言 11.1研究背景 11.2國(guó)內(nèi)外研究現(xiàn)狀 11.3研究目標(biāo)及意義 11.4本文結(jié)構(gòu)安排 12需求分析 22.1功能需求分析 22.2開(kāi)發(fā)工具及環(huán)境介紹 33系統(tǒng)總體方案設(shè)計(jì) 43.1系統(tǒng)方案設(shè)計(jì) 43.2系統(tǒng)工作原理 53.2.1Zigbee通信節(jié)點(diǎn) 53.2.2土壤濕度節(jié)點(diǎn) 53.2.3溫濕度節(jié)點(diǎn) 63.2.4光照強(qiáng)度節(jié)點(diǎn) 63.2.5顯示電路節(jié)點(diǎn) 73.2.6驅(qū)動(dòng)電路節(jié)點(diǎn) 73.2.7按鍵節(jié)點(diǎn) 74系統(tǒng)硬件設(shè)計(jì) 84.1Zigbee通信節(jié)點(diǎn)設(shè)計(jì) 84.2土壤濕度節(jié)點(diǎn)設(shè)計(jì) 84.3溫濕度節(jié)點(diǎn)設(shè)計(jì) 94.4光照強(qiáng)度節(jié)點(diǎn)設(shè)計(jì) 94.5顯示電路節(jié)點(diǎn)設(shè)計(jì) 104.6驅(qū)動(dòng)電路節(jié)點(diǎn)設(shè)計(jì) 104.7按鍵節(jié)點(diǎn)設(shè)計(jì) 115系統(tǒng)軟件設(shè)計(jì) 115.1Zigbee通信節(jié)點(diǎn)設(shè)計(jì) 115.2土壤濕度節(jié)點(diǎn)設(shè)計(jì) 125.3溫濕度節(jié)點(diǎn)設(shè)計(jì) 135.4光照強(qiáng)度節(jié)點(diǎn)設(shè)計(jì) 145.5顯示電路節(jié)點(diǎn)設(shè)計(jì) 155.6驅(qū)動(dòng)電路節(jié)點(diǎn)設(shè)計(jì) 155.7按鍵節(jié)點(diǎn)設(shè)計(jì) 166系統(tǒng)功能測(cè)試 177總結(jié) 231引言1.1研究背景我國(guó)是一個(gè)以農(nóng)業(yè)為主的國(guó)家,全國(guó)范圍內(nèi),農(nóng)業(yè)用水占到了65%左右,其中灌溉用水占了很大比重。更值得一提,我國(guó)是一個(gè)水資源短缺、農(nóng)業(yè)用水利用率低的國(guó)家。在我國(guó),實(shí)行精準(zhǔn)灌溉,提高灌溉質(zhì)量和效益,實(shí)現(xiàn)水資源合理利用顯得相當(dāng)重要。由此可見(jiàn),農(nóng)業(yè)節(jié)水具有巨大潛力,發(fā)展節(jié)水型農(nóng)業(yè)是解決水資源短缺、推進(jìn)農(nóng)業(yè)可持續(xù)發(fā)展的關(guān)鍵REF_Ref19796\r\h[1]。在這一背景下,以無(wú)線傳感器網(wǎng)絡(luò)為核心的智能節(jié)水灌溉系統(tǒng)應(yīng)運(yùn)而生,以節(jié)水為主要目標(biāo),采用了先進(jìn)的土壤濕度、溫濕度和光照強(qiáng)度傳感器,實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè)土壤的綜合狀況和作物需水量,并以無(wú)線傳感器網(wǎng)絡(luò)為中介,向控制系統(tǒng)傳輸數(shù)據(jù)信息。只需要有一個(gè)人或者根本不需要有人介入,就能使農(nóng)作物得到實(shí)時(shí)的灌溉。此外通過(guò)進(jìn)一步設(shè)置自動(dòng)灌水閾值,可以有效地解決傳統(tǒng)的灌溉用水的不確定因素,可以更加精確地控制每一次的灌水量,避免浪費(fèi)。1.2國(guó)內(nèi)外研究現(xiàn)狀由于國(guó)外應(yīng)用比較早,國(guó)外的智能化節(jié)水灌溉技術(shù)已逐漸成熟,并廣泛推廣應(yīng)用,比如以色列的溫室滴灌技術(shù)。利用智能節(jié)水技術(shù),對(duì)農(nóng)田的水分、氣溫進(jìn)行實(shí)時(shí)監(jiān)控,利用以上的智能信息,對(duì)當(dāng)日的灌溉標(biāo)準(zhǔn)進(jìn)行再計(jì)劃和編制,確保了各個(gè)區(qū)域的灌溉品質(zhì)得到及時(shí)的記錄和監(jiān)控。當(dāng)前,一些國(guó)家采用了較為先進(jìn)的智能節(jié)水灌溉系統(tǒng),以較好的改造和轉(zhuǎn)變了現(xiàn)代化的非充分灌溉方式,并且繼續(xù)向全自動(dòng)化灌溉的方向發(fā)展REF_Ref27739\r\h[2]。然而,在我國(guó),智能節(jié)水灌溉技術(shù)起步較晚,至今還沒(méi)有建立起一套完整的系統(tǒng)與技術(shù)體系。相比較于國(guó)外,我國(guó)在智能灌溉技術(shù)方面的研究稍遜一籌。目前,國(guó)內(nèi)的智能節(jié)水灌溉系統(tǒng)以進(jìn)口為主,同時(shí)也自主研發(fā)一些智能節(jié)水灌溉技術(shù)。我國(guó)的溫室設(shè)施農(nóng)業(yè)中,智能化節(jié)水灌溉的應(yīng)用較為廣泛,而大田農(nóng)業(yè)卻鮮有涉獵。而無(wú)線傳感器網(wǎng)絡(luò)這一技術(shù)正扮演著我國(guó)智能節(jié)水灌溉方面的一顆冉冉升起的新星。這種智能節(jié)水灌溉技術(shù)充分利用了遠(yuǎn)程通信的優(yōu)點(diǎn),既可以縮短線路布局,又可以降低設(shè)備費(fèi)用,節(jié)約投資,從而達(dá)到事半功倍的目的。1.3研究目標(biāo)及意義智能節(jié)水灌溉系統(tǒng)是借助無(wú)線傳感器網(wǎng)絡(luò)技術(shù)獲取土壤信息實(shí)現(xiàn)分析、管理、灌溉。智能節(jié)水灌溉系統(tǒng)通過(guò)在灌區(qū)設(shè)置若干個(gè)無(wú)線傳感器節(jié)點(diǎn),實(shí)現(xiàn)對(duì)農(nóng)田情況的實(shí)時(shí)監(jiān)測(cè),有效地提升了灌溉用水的利用率REF_Ref17248\r\h[3]。本課題是使用Zigbee無(wú)線通信技術(shù)來(lái)實(shí)現(xiàn)的,ZigBee技術(shù)作為無(wú)線傳感器網(wǎng)絡(luò)中的一種協(xié)議標(biāo)準(zhǔn),因?yàn)槠湫阅芰己?,所以廣泛應(yīng)用于無(wú)線通信領(lǐng)域。相比于其他智能節(jié)水灌溉系統(tǒng)的底層設(shè)計(jì),本設(shè)計(jì)的無(wú)線傳感器網(wǎng)絡(luò)技術(shù)使得智能節(jié)水灌溉系統(tǒng)的應(yīng)用更加準(zhǔn)確、便捷,并且大大降低成本,使智能節(jié)水灌溉系統(tǒng)更為簡(jiǎn)便化、靈活化。1.4本文結(jié)構(gòu)安排本文主要介紹在“基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)設(shè)計(jì)”課題中所做的工作,本文對(duì)基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)的底層設(shè)計(jì)原則和方案設(shè)計(jì)、硬件原理與設(shè)計(jì)、系統(tǒng)軟件設(shè)計(jì)展開(kāi)了詳盡探討。內(nèi)容安排如下:第一章引言:簡(jiǎn)要介紹基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)底層設(shè)計(jì)的現(xiàn)實(shí)意義。第二章需求分析:分析人們對(duì)智能節(jié)水灌溉的功能需求和其開(kāi)發(fā)工具及環(huán)境的介紹。第三章系統(tǒng)總體方案設(shè)計(jì):按照系統(tǒng)所需要的功能,將系統(tǒng)按節(jié)點(diǎn)分塊,按照各個(gè)模塊的設(shè)計(jì)思路,介紹整個(gè)系統(tǒng)的工作原理并且介紹各個(gè)模塊的主要技術(shù)。第四章系統(tǒng)硬件設(shè)計(jì):完成各個(gè)節(jié)點(diǎn)功能的硬件電路設(shè)計(jì),詳細(xì)分析了系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì)中的主要內(nèi)容。第五章系統(tǒng)軟件設(shè)計(jì):完成各個(gè)節(jié)點(diǎn)功能的軟件編寫設(shè)計(jì),詳細(xì)分析了系統(tǒng)的軟件編寫設(shè)計(jì)中的主要內(nèi)容。第六章系統(tǒng)功能測(cè)試:對(duì)基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)底層設(shè)計(jì)進(jìn)行完整的功能測(cè)試。第七章總結(jié):總結(jié)本課題所完成的工作以及后期優(yōu)化。2需求分析智能節(jié)水灌溉系統(tǒng)的研究已經(jīng)變成熱門話題,本設(shè)計(jì)從精準(zhǔn)化、便捷化的思想出發(fā),旨在提供一種基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)的設(shè)計(jì)思路,實(shí)現(xiàn)對(duì)土壤信息的獲取、分析、監(jiān)測(cè)、控制灌溉等功能,切合智能節(jié)水灌溉系統(tǒng)的設(shè)計(jì)理念及無(wú)線傳感器網(wǎng)絡(luò)的終極目標(biāo)。2.1功能需求分析通過(guò)查閱資料可知,基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)的主要功能要求是:環(huán)境監(jiān)測(cè)、顯示、控制等功能和與PC機(jī)進(jìn)行連接通信功能。環(huán)境監(jiān)測(cè)功能:這部分包括利用各個(gè)傳感器便捷感受環(huán)境信息,同時(shí)系統(tǒng)根據(jù)當(dāng)前信息,自動(dòng)進(jìn)行水泵的灌溉、報(bào)警器的響應(yīng)。顯示功能:這部分主要是利用LCD6102顯示屏,將當(dāng)前土壤濕度、環(huán)境溫度、環(huán)境濕度、光照強(qiáng)度、當(dāng)前灌溉狀況、缺水狀況、當(dāng)前環(huán)境閾值等信息進(jìn)行顯示??刂乒δ埽哼@部分主要包括按鍵的控制功能,設(shè)置閾值、手動(dòng)打開(kāi)水泵的功能。通信功能:Zigbee無(wú)線模塊實(shí)現(xiàn)遠(yuǎn)程遙控功能,通過(guò)串口發(fā)送命令執(zhí)行相應(yīng)的功能。本文主要為基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)底層設(shè)計(jì)提供一種思路,根據(jù)需求以擴(kuò)展思想來(lái)設(shè)計(jì)節(jié)點(diǎn),因此設(shè)計(jì)了Zigbee通信節(jié)點(diǎn)、土壤濕度節(jié)點(diǎn)、環(huán)境溫濕度節(jié)點(diǎn)、光照強(qiáng)度節(jié)點(diǎn)、顯示電路節(jié)點(diǎn)、驅(qū)動(dòng)電路節(jié)點(diǎn)、按鍵節(jié)點(diǎn)。按照主要功能可分成三個(gè)模塊,如圖2-1所示:圖2-1智能節(jié)水灌溉系統(tǒng)總體功能模塊系統(tǒng)圖數(shù)據(jù)采集模塊數(shù)據(jù)采集模塊實(shí)現(xiàn)的是環(huán)境信息的采集,如圖2-2,利用各個(gè)傳感器監(jiān)測(cè)、采集、讀取當(dāng)前的環(huán)境信息。圖2-2數(shù)據(jù)采集模塊框圖(2)數(shù)據(jù)處理模塊數(shù)據(jù)處理模塊實(shí)現(xiàn)了由傳感器所采集數(shù)據(jù)的處理,如圖2-3,用AD模擬-數(shù)字變換將土壤濕度數(shù)據(jù)傳送至單片機(jī)內(nèi),環(huán)境溫濕度數(shù)據(jù)經(jīng)由單根總線傳送至單片機(jī)內(nèi),然后使用IIC協(xié)議將光照強(qiáng)度數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)內(nèi),最后將數(shù)據(jù)信息通過(guò)單片機(jī)傳送到顯示、驅(qū)動(dòng)電路節(jié)點(diǎn)。顯示電路通過(guò)LCD顯示器顯示當(dāng)前讀取的環(huán)境信息、當(dāng)前灌溉狀態(tài)、當(dāng)前缺水狀態(tài)。驅(qū)動(dòng)電路通過(guò)對(duì)水泵、蜂鳴器進(jìn)行控制,判斷是否開(kāi)始灌溉。圖2-3數(shù)據(jù)處理模塊框圖射頻模塊如圖2-4所示,單片機(jī)將數(shù)據(jù)從串口傳輸出去,Zigbee無(wú)線傳輸模塊經(jīng)過(guò)射頻電路、功放電路、天線,傳送到PC端的Zigbee無(wú)線通信模塊,PC機(jī)通過(guò)與Zigbee無(wú)線通信模塊進(jìn)行串口通信接收到來(lái)自單片機(jī)傳送的數(shù)據(jù),根據(jù)菜單提示,PC機(jī)發(fā)送執(zhí)行對(duì)應(yīng)功能的命令。圖2-4射頻模塊框圖2.2開(kāi)發(fā)工具及環(huán)境的介紹 無(wú)線傳感器網(wǎng)絡(luò)是一種由微納機(jī)電系統(tǒng)(MEMS/NEMS)、片上系統(tǒng)(SystemonChip,SoC)、無(wú)線通信和低功率嵌入技術(shù)組成的一種分布式感知網(wǎng)絡(luò)REF_Ref27250\r\h[4]。它的終端是能夠感知和探測(cè)外界環(huán)境的多個(gè)傳感器,通過(guò)多跳無(wú)線方式和自組織無(wú)線方式組成無(wú)線網(wǎng)絡(luò),以協(xié)同感知、獲取、處理和傳送網(wǎng)絡(luò)覆蓋區(qū)域范圍中被感知目標(biāo)的信息,最后通過(guò)有線/無(wú)線方式向網(wǎng)絡(luò)擁有者輸送所獲得的信息。本設(shè)計(jì)以STC12C5A60S2為核心,以溫濕度傳感器DHT11、光照傳感器BH1750、土壤濕度傳感器YL-69為監(jiān)測(cè)單元,LCD1602顯示屏為顯示監(jiān)控部分,并通過(guò)繼電器對(duì)水泵進(jìn)行控制、啟動(dòng)灌溉,通過(guò)Zigbee無(wú)線通信模塊進(jìn)行遠(yuǎn)程控制,由keil軟件進(jìn)行程序編寫和串口通信軟件進(jìn)行通信。本系統(tǒng)使用的是以8051為核心的STC12C5A60S2單片機(jī),是具有低電壓、高性能的8比特CMOS微控制器。如圖2-5所示,該產(chǎn)品具有32個(gè)可編程輸入/輸出管腳,2個(gè)16位定時(shí)/計(jì)數(shù),6個(gè)中斷電源,8路10位高速A/D(250K/S)變換,完全兼容8051指令和插腳,并具有60K的FLASHROM,該技術(shù)的內(nèi)存可以通過(guò)電力瞬間刪除和改寫。相比于其他種類的單片機(jī),STC12C5A60S2單片機(jī)可以滿足本設(shè)計(jì)對(duì)于可編程串行通信、串口程序燒寫、模數(shù)轉(zhuǎn)換等要求。圖2-5STC12C5A60S2單片機(jī)該方案所使用的Zigbee無(wú)線模塊為DL-20,如圖2-6所示,它是一個(gè)2.4G的串行接口,能夠?qū)崿F(xiàn)兩個(gè)或多個(gè)串口的無(wú)線通信REF_Ref17989\r\h[5]。發(fā)送設(shè)備通過(guò)串口將數(shù)據(jù)發(fā)入Zigbee模塊,發(fā)入Zigbee模塊的數(shù)據(jù)會(huì)被Zigbee模塊使用無(wú)線發(fā)出,Zigbee模塊接收另一個(gè)Zigbee模塊傳送的無(wú)線數(shù)據(jù),之后把得到的數(shù)據(jù)使用串口傳入到接收設(shè)備,實(shí)現(xiàn)串口通信。通過(guò)一個(gè)簡(jiǎn)單的鍵來(lái)設(shè)定模塊的頻道、波特率。支持串口的連續(xù)傳輸、同步傳輸。Zigbee技術(shù)本身具很多優(yōu)點(diǎn),比如:低功率(但僅限于終端節(jié)點(diǎn))、靈活的組網(wǎng)(在網(wǎng)絡(luò)中設(shè)備多的情況下有優(yōu)勢(shì))、低成本(與藍(lán)牙、WiFi相比)。圖2-6DL-20無(wú)線模塊3系統(tǒng)總體方案設(shè)計(jì)3.1系統(tǒng)方案設(shè)計(jì)基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)設(shè)計(jì),分為兩個(gè)部分組成,分別為Zigbee通信節(jié)點(diǎn)和基于單片機(jī)STC12C5A60S2的7個(gè)節(jié)點(diǎn),包括3個(gè)傳感器節(jié)點(diǎn):土壤濕度、環(huán)境溫濕度和光照強(qiáng)度節(jié)點(diǎn),1個(gè)顯示電路節(jié)點(diǎn),和2個(gè)控制節(jié)點(diǎn):驅(qū)動(dòng)電路節(jié)點(diǎn)、按鍵電路節(jié)點(diǎn)。如圖3-1所示。Zigbee無(wú)線通信是整個(gè)系統(tǒng)中最重要的部分,主要負(fù)責(zé)協(xié)調(diào)上位機(jī)與節(jié)點(diǎn)間的通信,實(shí)現(xiàn)對(duì)智能節(jié)水灌溉系統(tǒng)的控制、監(jiān)督:一方面,Zigbee接收來(lái)自單片機(jī)STC12C5A60S2從3個(gè)傳感器節(jié)點(diǎn)接收并加以處理的環(huán)境數(shù)據(jù),這些處理后的數(shù)據(jù),通過(guò)Zigbee的射頻天線,傳輸給上位機(jī)端的Zigbee模塊,上位機(jī)就可以通過(guò)Zigbee通信模塊接收到環(huán)境數(shù)據(jù)并加以處理。另一個(gè)方面,上位機(jī)端的Zigbee通信模塊通過(guò)串口獲得上位機(jī)發(fā)出的命令,通過(guò)Zigbee的射頻天線,將相應(yīng)的命令發(fā)送給下位機(jī)的Zigbee模塊,下位機(jī)的Zigbee模塊接收命令并把命令傳送給單片機(jī)STC12C5A60S2進(jìn)行處理,執(zhí)行相應(yīng)功能。圖3-1基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)設(shè)計(jì)總框圖3.2系統(tǒng)工作原理3.2.1Zigbee通信節(jié)點(diǎn)STC12C5A60S2單片機(jī)與上位機(jī)之間的串口通信是通過(guò)Zigbee模塊實(shí)現(xiàn)的,因?yàn)楸驹O(shè)計(jì)采用的是DL-20模塊,使用時(shí)只需接通5V電源,然后將其2、3腳與單片機(jī)的端口TXD和RXD相連接即可。該方案使用了兩個(gè)Zigbee模塊,其中兩個(gè)Zigbee模塊在進(jìn)行串口通信前要進(jìn)行配置(主要是波特率、頻道、模式設(shè)置)。(1)Zigbee發(fā)送數(shù)據(jù)發(fā)送設(shè)備通過(guò)串口將數(shù)據(jù)發(fā)入Zigbee模塊,發(fā)入Zigbee模塊的數(shù)據(jù)會(huì)被Zigbee模塊使用無(wú)線發(fā)出。(2)Zigbee接收數(shù)據(jù)Zigbee模塊接收另一個(gè)Zigbee模塊傳送的無(wú)線數(shù)據(jù),之后把得到的數(shù)據(jù)使用串口傳入到接收設(shè)備。3.2.2土壤濕度節(jié)點(diǎn)土壤濕度傳感器模塊,Zigbee通信模塊,單片機(jī)STC12C5A60S2組成土壤濕度節(jié)點(diǎn)。土壤濕度節(jié)點(diǎn)通過(guò)STC12C5A60S2單片機(jī)串口向Zigbee模塊發(fā)送數(shù)據(jù),利用Zigbee串口通信模塊與PC機(jī)進(jìn)行通信。土壤濕度節(jié)點(diǎn)要對(duì)土壤濕度進(jìn)行采集,YL-69模塊通過(guò)兩種方法來(lái)獲取數(shù)據(jù),一種是D0管腳,當(dāng)土壤濕度超過(guò)一定的臨界值,D0口就會(huì)輸出“0”,反之則輸出“1”。此方法主要應(yīng)用在濕度調(diào)節(jié)器上。另一種方法是從A0管腳的感應(yīng)器:獲得模擬值。它主要是用來(lái)表示實(shí)時(shí)的濕度。本方案使用的是后一種更準(zhǔn)確的算法。YL-69土壤濕度傳感器內(nèi)具有濕敏電容,濕敏電容的電容值的變化與濕度成比例。傳感轉(zhuǎn)換電路把濕敏電容值變化轉(zhuǎn)變成為電壓值變化,傳感器輸出的電壓是從0v到1v做線性變換,其對(duì)應(yīng)著0-100%的RH值,所以可以用在電極間計(jì)算得到的電壓值表達(dá)土壤濕度。在進(jìn)行單片機(jī)的處理時(shí),需要先用A/D變換器把傳感器采集的模擬電壓信號(hào)變換為能夠被處理的數(shù)字信號(hào),這些都應(yīng)在測(cè)量電壓之前REF_Ref26616\r\h[6]。該傳感器可以連接到A/D變換器和串行接口,因此采用STC12C5A60S2單片機(jī)的AD轉(zhuǎn)換,實(shí)現(xiàn)模擬-數(shù)字轉(zhuǎn)換,提取土壤濕度數(shù)據(jù)。本設(shè)計(jì)采用的是P1.1口作為A/D轉(zhuǎn)換,AD轉(zhuǎn)換得到的模擬量和目前的輸入模擬值進(jìn)行一個(gè)比較,在逐級(jí)比較器中存儲(chǔ)結(jié)果,最后利用逐次比較寄存器輸出變換結(jié)果。如圖3-2所示,在A/D變換完成之后,

將最后變換得到的結(jié)果存儲(chǔ)在ADC轉(zhuǎn)換結(jié)果寄存器ADC_RES以及ADC_RESL內(nèi)。圖3-2AD轉(zhuǎn)換結(jié)果存儲(chǔ)圖REF_Ref26616\r\h[6]最后土壤濕度的值為,如公式3-1所示:(3-1)其中,Vin是模擬輸入信道的輸入電壓,Vcc是單片機(jī)的實(shí)際工作電壓,作為模擬基準(zhǔn)。3.2.3溫濕度節(jié)點(diǎn)溫濕度傳感器DHT11,Zigbee通信模塊,單片機(jī)STC12C5A60S2組成環(huán)境溫濕度節(jié)點(diǎn)。環(huán)境溫濕度節(jié)點(diǎn)通過(guò)STC12C5A60S2單片機(jī)串口向Zigbee模塊發(fā)送數(shù)據(jù),利用Zigbee串口通信模塊與PC機(jī)進(jìn)行通信。DHT11采集環(huán)境中的溫度和濕度數(shù)據(jù),STC12C5A60S2從DHT11上采集到的數(shù)據(jù),經(jīng)過(guò)處理后產(chǎn)生一個(gè)新的數(shù)據(jù)包,然后用Zigbee通信模塊把其傳輸,傳輸?shù)氖菧囟群蜐穸鹊臄?shù)值。DHT11與單片機(jī)的通信與同步采用單總線方式,DATA接口被用來(lái)實(shí)現(xiàn)STC12C5A60S2與DHT11的通信與同步。一次數(shù)據(jù)傳送是40比特,高位優(yōu)先輸出,最后數(shù)據(jù)傳送如表3-1所示REF_Ref26325\r\h[7]。DHT11發(fā)送的數(shù)據(jù)位“0”、“1”格式信號(hào)如圖3-3所示。表3-1DHT11溫濕度數(shù)據(jù)格式圖3-3DHT11數(shù)據(jù)位“0”和DHT11數(shù)據(jù)位“1”REF_Ref26325\r\h[7]3.2.4光照強(qiáng)度節(jié)點(diǎn)BH1750FVI獲取光照強(qiáng)度數(shù)據(jù),STC12C5A60S2使用IIC協(xié)議讀取BH1750FVI的測(cè)量結(jié)果。BH1750FVI光照強(qiáng)度傳感器,Zigbee通信模塊,STC12C5A60S2單片機(jī)構(gòu)成光照強(qiáng)度節(jié)點(diǎn)。光照強(qiáng)度節(jié)點(diǎn)通過(guò)STC12C5A60S2單片機(jī)串口向Zigbee模塊發(fā)送數(shù)據(jù),利用Zigbee串口通信模塊與PC機(jī)進(jìn)行通信。如圖3-4所示,BH1750FVI的PD二極管利用光生伏特法把輸入的光信號(hào)轉(zhuǎn)化為電信號(hào),經(jīng)過(guò)運(yùn)算放大電路進(jìn)行放大,電壓被ADC接收,并經(jīng)邏輯電路變換為16位二進(jìn)制數(shù)字,并將其儲(chǔ)存于該內(nèi)部的寄存器。BH1750引出了時(shí)鐘線和數(shù)據(jù)線,時(shí)鐘線路是從主機(jī)輸出的,從設(shè)備輸入的。也就是說(shuō),單片機(jī)的IO輸出端要將方波脈沖輸出到BH1750的SCL管腳。而數(shù)據(jù)線路上的數(shù)據(jù)傳輸是雙向的。本課題利用I2C協(xié)議,單片機(jī)可以和BH1750模塊進(jìn)行通信,可以選擇BH1750的模式進(jìn)行操作,也可以從BH1750中提取出光照度數(shù)據(jù)。I2C協(xié)議是一條雙線型的串行總線,它將微處理器與周邊裝置相連接,I2C總線包括時(shí)鐘線SCL和數(shù)據(jù)線SDA,并能實(shí)現(xiàn)兩種工作模式:多主模式和主從模式。該設(shè)計(jì)的I2C總線的工作模式是主從式,其中單片機(jī)作為主器件,BH1750芯片作為從器件REF_Ref26227\r\h[8]。具體步驟為:?jiǎn)纹瑱C(jī)通過(guò)I2C總線將啟動(dòng)信號(hào)傳送到傳感器,再給傳感器傳送將發(fā)送設(shè)備的地址和寫入信號(hào),在此完成后,主機(jī)等待傳感器的回復(fù),之后主機(jī)將內(nèi)部的寄存器地址發(fā)給從機(jī),主機(jī)等候傳感器的回復(fù),主機(jī)暫停發(fā)送信息到從機(jī)。圖3-4BH1750的內(nèi)部結(jié)構(gòu)圖3.2.5顯示電路節(jié)點(diǎn)顯示電路節(jié)點(diǎn)是由STC12C5A60S2、LCD1602顯示屏模塊組成,1602液晶又稱1602字符型LCD,是一種點(diǎn)陣型的液晶顯示模塊,用于顯示字母、數(shù)字、符號(hào)等。LCD1602使用HD44780等其他相容性芯片作為主要控制芯片,它的顯示容量為16×2個(gè)字符。在該控制器中,具有80×8比特(80字節(jié))RAM緩沖區(qū)REF_Ref26081\r\h[9],其對(duì)應(yīng)關(guān)系見(jiàn)圖3-5所示。圖3-5LCD1602顯示器RAM緩沖區(qū)結(jié)構(gòu)圖REF_Ref26081\r\h[9]3.2.6驅(qū)動(dòng)電路節(jié)點(diǎn)驅(qū)動(dòng)電路節(jié)點(diǎn)是由單片機(jī)STC12C5A60S2、水泵驅(qū)動(dòng)電路和蜂鳴器報(bào)警電路組成。該水泵的驅(qū)動(dòng)電路包括一個(gè)限流電阻器R5,一個(gè)三極管Q2,一個(gè)繼電器JK1。通過(guò)單片機(jī)發(fā)出澆水信號(hào),P20端口輸出低電平,三極管接通,繼電器接通,抽水泵轉(zhuǎn)動(dòng),給盆栽澆水。二極管D1是續(xù)流二極管,用來(lái)保護(hù)繼電器的觸點(diǎn)不被反電勢(shì)燒損,電容C5起到減少干擾的作用。報(bào)警驅(qū)動(dòng)電路是限流電阻R4、三極管Q1和蜂鳴器BP1構(gòu)成,當(dāng)P17端口輸出了低電平,三極管接通,蜂鳴器得電鳴叫。3.2.7按鍵節(jié)點(diǎn)普通的以軟件延遲的方法來(lái)消除顫動(dòng)、判斷是否按下按鍵的按鍵輸入軟件接口程序在一些簡(jiǎn)單的系統(tǒng)中可以使用,但在對(duì)系統(tǒng)實(shí)時(shí)性要求高的情況下,該方案的CPU使用率很低,會(huì)導(dǎo)致資源的浪費(fèi)。此外,由于按鍵的功能在不同的產(chǎn)品體系中的定義和應(yīng)用也是千變?nèi)f化的,再加上單片機(jī)在進(jìn)行測(cè)試、按鍵操作等工作時(shí),又要同時(shí)進(jìn)行顯示、計(jì)算、計(jì)時(shí)等工作,所以編寫鍵盤、按鍵接口的處理程序必須具有高效的分析方法。本設(shè)計(jì)使用狀態(tài)機(jī)法,這是比較好的方案。例如,一個(gè)按鍵指令分析程序,可當(dāng)作是一個(gè)狀態(tài)機(jī):在觸發(fā)一個(gè)按鈕時(shí),原本處于A狀態(tài),轉(zhuǎn)到B狀態(tài)。再次按下另一個(gè)按鍵之后,轉(zhuǎn)換為C狀態(tài),或者回到A的狀態(tài)REF_Ref25989\r\h[10]。4系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)主要為各個(gè)節(jié)點(diǎn)的硬件電路設(shè)計(jì)。各個(gè)節(jié)點(diǎn)中STC12C5A60S2與PC機(jī)之間通過(guò)Zigbee進(jìn)行串口通信,STC12C5A60S2的串口RXD和TXD與Zigbee模塊的3、2腳相連接。STC12C5A60S2主控電路圖如圖4-1所示:圖4-1STC12C5A60S2主控電路圖4.1Zigbee通信節(jié)點(diǎn)設(shè)計(jì)Zigbee通信節(jié)點(diǎn)的硬件電路設(shè)計(jì):Zigbee通信節(jié)點(diǎn)由兩個(gè)DL-20模塊實(shí)現(xiàn)通信的。其中一個(gè)Zigbee的3、2腳和STC12C5A60S2的串口RXD和TXD相互連接;另一個(gè)Zigbee模塊與PC機(jī)COM4串口相接。圖4-2為Zigbee通信節(jié)點(diǎn)邏輯框圖、圖4-3為Zigbee通信節(jié)點(diǎn)原理圖。圖4-2Zigbee通信節(jié)點(diǎn)邏輯框圖圖4-3Zigbee通信節(jié)點(diǎn)原理圖4.2土壤濕度節(jié)點(diǎn)設(shè)計(jì)土壤濕度節(jié)點(diǎn)的硬件電路設(shè)計(jì):采用YL-69模塊作為土壤濕度傳感器模塊,它的模擬量輸出端AO和STC12C5A60S2中的P11進(jìn)行AD變換,它的入口連接有一個(gè)土壤濕度探測(cè)器。圖4-4為土壤濕度節(jié)點(diǎn)的邏輯框圖、圖4-5為土壤濕度節(jié)點(diǎn)原理圖。圖4-4土壤濕度節(jié)點(diǎn)邏輯框圖圖4-5土壤濕度節(jié)點(diǎn)原理圖4.3溫濕度節(jié)點(diǎn)設(shè)計(jì)溫濕度節(jié)點(diǎn)的硬件電路設(shè)計(jì):DHT11數(shù)字溫度和濕度傳感器由一個(gè)單線接口傳送或接收

以數(shù)字量形式反映的環(huán)境的溫濕度值,所以只需把單片機(jī)中的P24端口和DHT11的DATA口連接在一起,就能夠?qū)崿F(xiàn)把獲得溫濕度值傳輸至單片機(jī)。圖4-6為溫濕度節(jié)點(diǎn)的邏輯框圖、圖4-7為溫濕度節(jié)點(diǎn)原理圖。圖4-6溫濕度節(jié)點(diǎn)邏輯框圖圖4-7溫濕度節(jié)點(diǎn)原理圖4.4光照強(qiáng)度節(jié)點(diǎn)設(shè)計(jì)光照強(qiáng)度節(jié)點(diǎn)的硬件電路設(shè)計(jì):本課題以BH1750FVI模塊為光照強(qiáng)度傳感器。BH1750FVI采用雙線式串行總線,引出時(shí)鐘線和數(shù)據(jù)線,單片機(jī)STC12C5A60S2通過(guò)IIC協(xié)議可以與BH1750模塊通訊(SCL與P33、SDA與P34相連)可以將光照強(qiáng)度數(shù)據(jù)從BH1750寄存器中提取出來(lái)。圖4-8是光照強(qiáng)度節(jié)點(diǎn)邏輯框圖、圖4-9是光照強(qiáng)度節(jié)點(diǎn)原理圖。圖4-8光照強(qiáng)度節(jié)點(diǎn)邏輯框圖圖4-9光照強(qiáng)度節(jié)點(diǎn)原理圖4.5顯示電路節(jié)點(diǎn)設(shè)計(jì)顯示電路節(jié)點(diǎn)的硬件電路設(shè)計(jì):該方案以LCD1602顯示屏為顯示單元,LCD1602模塊與STC12C5A60S2單片機(jī)之間的通信可以通過(guò)8位并行傳輸方式實(shí)現(xiàn)。本方案以STC12C5A60S2的P0端口為數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)傳輸,并利用STC12C5A60S2的P2.5、P2.6、P2.7與LCD1602組件的EN、R/W、RS相連。圖4-10為顯示電路節(jié)點(diǎn)邏輯框圖、圖4-11為溫濕度節(jié)點(diǎn)原理圖。圖4-10顯示電路節(jié)點(diǎn)邏輯框圖圖4-11顯示電路節(jié)點(diǎn)原理圖4.6驅(qū)動(dòng)電路節(jié)點(diǎn)設(shè)計(jì)驅(qū)動(dòng)電路節(jié)點(diǎn)硬件電路設(shè)計(jì):水泵驅(qū)動(dòng)電路由限流電阻R5、三極管Q2和繼電器JK1組成,當(dāng)單片機(jī)STC12C5A60S2發(fā)出澆水信號(hào)時(shí),P20口變成低電平,三極管接通,繼電器接通,抽水泵得電旋轉(zhuǎn)澆水;該報(bào)警驅(qū)動(dòng)電路包括電流限制電阻R4,三極管Q1,蜂鳴器BP1,在單片機(jī)STC12C5A60S2發(fā)送缺水信號(hào)時(shí),P17端口變成低電平,三極管接通,蜂鳴器接電產(chǎn)生鳴聲REF_Ref17472\r\h[11]。圖4-12為驅(qū)動(dòng)電路節(jié)點(diǎn)邏輯框圖、圖4-13為驅(qū)動(dòng)電路節(jié)點(diǎn)原理圖。圖4-12驅(qū)動(dòng)電路節(jié)點(diǎn)邏輯框圖圖4-13驅(qū)動(dòng)電路節(jié)點(diǎn)原理圖4.7按鍵節(jié)點(diǎn)設(shè)計(jì)按鍵節(jié)點(diǎn)硬件電路設(shè)計(jì):如圖4-20所示,澆水的閾值設(shè)定和數(shù)值的加減由3個(gè)按鍵K1/K2/K3組成,并與P35/P36/P37接口分別進(jìn)行了連接。圖4-14為按鍵節(jié)點(diǎn)邏輯框圖、圖4-15為按鍵節(jié)點(diǎn)原理圖。圖4-14按鍵節(jié)點(diǎn)邏輯框圖圖4-15按鍵節(jié)點(diǎn)原理圖5系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)主要為各個(gè)節(jié)點(diǎn)的軟件程序設(shè)計(jì)。5.1Zigbee通信節(jié)點(diǎn)設(shè)計(jì)Zigbee通信節(jié)點(diǎn)的軟件程序設(shè)計(jì):Zigbee通信的程序是基于兩方面編寫的,一方面是基于PC機(jī)通過(guò)Zigbee模塊給單片機(jī)發(fā)送命令編寫的,另一方面,是由單片機(jī)經(jīng)過(guò)Zigbee模塊給PC機(jī)發(fā)送環(huán)境數(shù)據(jù)所決定的。主要程序包括串口中斷初始化函數(shù)、發(fā)送數(shù)據(jù)函數(shù)發(fā)送數(shù)字函數(shù)voidUart1Send(uint8c)、發(fā)送字符函數(shù)voidUart1Sends(char*at)、串行通信中斷服務(wù)子程序、以及數(shù)據(jù)傳輸主程序。具體邏輯圖如圖5-1所示。圖5-1Zigbee串口通信邏輯圖5.2土壤濕度節(jié)點(diǎn)設(shè)計(jì)土壤濕度節(jié)點(diǎn)的軟件程序設(shè)計(jì):土壤濕度節(jié)點(diǎn)主要是土壤數(shù)據(jù)采集的模數(shù)轉(zhuǎn)換(AD轉(zhuǎn)換)和土壤濕度讀取、判斷程序。土壤濕度數(shù)據(jù)獲得的模數(shù)轉(zhuǎn)換(AD轉(zhuǎn)換)方法思路:uint16ad(uint8j)函數(shù)為進(jìn)行AD轉(zhuǎn)換的驅(qū)動(dòng)函數(shù),P1.1口是通道號(hào),輸出的結(jié)果是AD轉(zhuǎn)換值。首先,應(yīng)該先給ADC上電和選擇轉(zhuǎn)換速度:ADC_CONTR=0xC0。通過(guò)ADC控制寄存器ADC_CONTR中的CHS2-CHS0來(lái)決定模擬信道的選?。篈DC_CONTR|=0x09。在完成A/D變換之后,將最后變換結(jié)果存儲(chǔ)在ADC變換結(jié)果寄存器ADC_RES與ADC_RESL里,土壤濕度值的計(jì)算見(jiàn)公式5-1。最后,設(shè)置ADC控制寄存器ADC_CONTR中的A/D變換終止標(biāo)志位ADC_FLAG,用于程序查詢或請(qǐng)求中斷:ADC_CONTR&=0xE7REF_Ref25525\r\h[12]。(5-1)土壤濕度溫度讀?。和寥罎穸戎禐閟mo=1024-ad(1)。土壤濕度判斷:如果土壤濕度值低于閾值smo<set_smo,開(kāi)水泵out_jsb=0;反之,關(guān)閉水泵out_jsb=1;如果土壤濕度值smo<(set_smo-100),提示缺水flag_qs=1;反之,flag_qs=0。土壤濕度的判斷邏輯圖如圖5-2所示:圖5-2土壤濕度的判斷邏輯圖5.3溫濕度節(jié)點(diǎn)設(shè)計(jì)溫濕度節(jié)點(diǎn)的軟件程序設(shè)計(jì):溫濕度節(jié)點(diǎn)的邏輯圖如圖5-3所示,溫濕度節(jié)點(diǎn)的程序最主要的部分是數(shù)據(jù)的獲得,包含判定DHT11所傳送的數(shù)據(jù)位為“1”或“0”,發(fā)送開(kāi)始信號(hào),和溫濕度閾值判斷程序。GetDate(void)為DHT11讀數(shù)據(jù)函數(shù),用數(shù)組dat_r[5]來(lái)存儲(chǔ)DHT11發(fā)送給STC12C5A60S2的5個(gè)8bit的數(shù)據(jù)。判斷DHT11發(fā)送的數(shù)據(jù)位是“1”還是“0”的程序代碼中:#defineJUDGE30t=0;while(DATA&&++t);dat8<<=1;if(t>JUDGE) dat8+=1;elsedat8+=0;ReadTemperature()是用來(lái)讀取溫濕度值。溫濕度閾值判斷:如果環(huán)境溫度值wendu>set_t,計(jì)時(shí)5分鐘,如果仍然是wendu>set_t,開(kāi)水泵out_jsb=0,持續(xù)30秒;反之,關(guān)閉水泵out_jsb=1;如果環(huán)境濕度值wendu>(set_t-2),提示缺水flag_qs=1;反之,flag_qs=0;如果環(huán)境濕度值shidu<set_shidu,計(jì)時(shí)5分鐘,如果仍然是shidu<set_shidu,開(kāi)水泵out_jsb=0,持續(xù)30秒;反之,關(guān)閉水泵out_jsb=1;如果環(huán)境濕度值shidu<(set_shidu-10%)提示缺水flag_qs=1;反之,flag_qs=0。圖5-3溫濕度節(jié)點(diǎn)的邏輯圖5.4光照強(qiáng)度節(jié)點(diǎn)設(shè)計(jì)光照強(qiáng)度節(jié)點(diǎn)的軟件程序設(shè)計(jì):光照強(qiáng)度節(jié)點(diǎn)的程序可分為三個(gè)部分:一是IIC通信的基礎(chǔ)協(xié)議,二是對(duì)光強(qiáng)數(shù)據(jù)的讀取和寫入,最后是與命令控制有關(guān)的功能編程。光照強(qiáng)度節(jié)點(diǎn)的邏輯圖如圖5-4:IIC通信中最基礎(chǔ)的函數(shù)有:開(kāi)始信號(hào)函數(shù)、終止信號(hào)函數(shù)、發(fā)送應(yīng)答(或不應(yīng)答)函數(shù)、傳送1字節(jié)數(shù)據(jù)函數(shù)、接收1字節(jié)數(shù)據(jù)函數(shù)。光照強(qiáng)度的讀寫過(guò)程:我們對(duì)BH1750發(fā)送命令的時(shí)候,首先,BH1750器件地址被傳送,最后一個(gè)位添加為寫操作,接著發(fā)送器件的固定命令0x10,將BH1750設(shè)定為高分辨率檢測(cè)數(shù)據(jù)模式,再發(fā)送器件地址,最后一個(gè)位添加為寫操作,獲取2個(gè)字節(jié)的信息后完成通信REF_Ref23468\r\h[13]。光照強(qiáng)度的計(jì)算公式如公式5-2所示:(5-2)同時(shí)讀取光照值函數(shù)代碼如下:uint16Readlight(void){ uint16l=0; floatll=0;Single_Write_BH1750(0x01);Single_Write_BH1750(0x10); DelaymS(180); Multiple_read_BH1750();l=BUF[0];l=(l<<8)+BUF[1]; ll=l/1.2; l=ll; if(l>9999){l=9999;} return(l);}光照強(qiáng)度閾值判斷:如果光照強(qiáng)度高于閾值lx>set_lx,計(jì)時(shí)5分鐘,如果仍然是lx>set_lx,開(kāi)水泵out_jsb=0,持續(xù)30秒;反之,關(guān)閉水泵out_jsb=1;如果光照強(qiáng)度值lx>set_lx+10,提示缺水flag_qs=1;反之,flag_qs=0。圖5-4光照強(qiáng)度節(jié)點(diǎn)的邏輯圖5.5顯示電路節(jié)點(diǎn)設(shè)計(jì)顯示電路節(jié)點(diǎn)的軟件編寫設(shè)計(jì):顯示電路節(jié)點(diǎn)的程序分成三個(gè)部分。第一部分就是LCD1602的驅(qū)動(dòng)模塊,第二部分就是顯示數(shù)據(jù)的輸出程序,第三部分是指令控制相關(guān)的函數(shù)程序。軟件邏輯圖如圖5-5所示。LCD1602的驅(qū)動(dòng)模塊主要是包括LCD接口的定義、指令集的定義、和底層協(xié)議的編寫。LCD1602一共有16根引腳,其中RS、RW、EN三個(gè)引腳,編程主要是從這三個(gè)引腳開(kāi)始初始化,編寫指令,編寫數(shù)據(jù)。LCD1602有四種基本的工作方式:當(dāng)輸入RS為0,RW為1,E為高脈沖,輸出的結(jié)果是D0到D7為狀態(tài)字時(shí),這是讀取狀態(tài)的工作方式。當(dāng)輸入RS為1,RW為1,E為高脈沖,輸出的結(jié)果是D0到D7為數(shù)據(jù)時(shí),這是讀取數(shù)據(jù)的工作方式。當(dāng)輸入RS為0,RW為0,E為高脈沖,沒(méi)有輸出時(shí),這是編寫命令的工作方式。當(dāng)輸入RS為1,RW為0,E為高脈沖時(shí),沒(méi)有輸出時(shí),這是編寫數(shù)據(jù)的工作方式REF_Ref16714\r\h[14]。LCM1602的顯示數(shù)據(jù)的輸出程序主要包括:print()將48個(gè)字符以內(nèi)的ASIIC字符串傳送到LCD,print2()將48個(gè)字符以內(nèi)的數(shù)字串傳送到LCD。LCM1602的指令控制相關(guān)的函數(shù)程序主要包括:數(shù)據(jù)的顯示、缺水、自動(dòng)標(biāo)志和四個(gè)閾值菜單的顯示。圖5-5顯示電路節(jié)點(diǎn)邏輯圖5.6驅(qū)動(dòng)電路節(jié)點(diǎn)設(shè)計(jì)驅(qū)動(dòng)電路節(jié)點(diǎn)軟件編寫設(shè)計(jì):如圖5-6,繼電器節(jié)點(diǎn)程序?yàn)榉澍Q器、水泵的驅(qū)動(dòng)程序。蜂鳴器的驅(qū)動(dòng)程序主要是判斷sbitout_beep=P1^7;是否置1。水泵的驅(qū)動(dòng)主要是判斷sbitout_jsb=P2^0;是否置1。圖5-6繼電器節(jié)點(diǎn)軟件邏輯圖5.7按鍵節(jié)點(diǎn)設(shè)計(jì)按鍵節(jié)點(diǎn)軟件編寫設(shè)計(jì):如圖5-7,按鍵節(jié)點(diǎn)主要采用的是基于狀態(tài)機(jī)的按鍵設(shè)計(jì)方法,該節(jié)點(diǎn)的主要程序是按鍵處理程序和相應(yīng)的按鍵菜單切換和數(shù)值加減程序。由狀態(tài)機(jī)的按鍵設(shè)計(jì)方案,可把按鍵抽象成4種狀態(tài):①?zèng)]有按下,假設(shè)S0;②如果按下鍵,假設(shè)S1;③鍵穩(wěn)定,則假設(shè)S2;④鍵松開(kāi)狀態(tài),假設(shè)為S3REF_Ref17687\r\h[15]。如圖5-8所示。按鍵菜單切換和數(shù)值加減程序是通過(guò)按鍵切換相應(yīng)的閾值設(shè)定菜單,數(shù)值的加減是通過(guò)K2/K3鍵實(shí)現(xiàn)。圖5-7按鍵節(jié)點(diǎn)軟件邏輯圖圖5-8按鍵的狀態(tài)轉(zhuǎn)移圖REF_Ref17687\r\h[15]6系統(tǒng)功能測(cè)試該章對(duì)基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)的數(shù)據(jù)采集、數(shù)據(jù)處理、射頻模塊功能展開(kāi)了測(cè)試。以下是測(cè)試流程和實(shí)物圖,總的分為四個(gè)部分來(lái)描述:Zigbee串口通信功能測(cè)試、數(shù)據(jù)獲得與顯示監(jiān)測(cè)功能測(cè)試、自動(dòng)功能測(cè)試、閾值設(shè)置以及手動(dòng)功能測(cè)試。圖6-1為系統(tǒng)的實(shí)物圖,測(cè)試過(guò)程中,各個(gè)設(shè)備運(yùn)作正常,可以成功實(shí)現(xiàn)第2章所描述的所有功能。圖6-1基于無(wú)線傳感器網(wǎng)絡(luò)的智能節(jié)水灌溉系統(tǒng)的實(shí)物圖①Zigbee串口通信功能測(cè)試Zigbee無(wú)線模塊實(shí)現(xiàn)遠(yuǎn)程監(jiān)控、命令等功能,通過(guò)串口發(fā)送命令執(zhí)行相應(yīng)的功能。其主要的命令菜單如圖6-2所示:圖6-2Zigbee串口通信主要的命令菜單A1:Turnontheirrigationswitch強(qiáng)制打開(kāi)水泵。測(cè)試過(guò)程如圖6-3所示:圖6-3Zigbee串口通信A1強(qiáng)制打開(kāi)水泵命令A(yù)2:Turnofftheirrigationswitch強(qiáng)制關(guān)閉水泵。測(cè)試過(guò)程如圖6-4所示:圖6-4Zigbee串口通信A2強(qiáng)制關(guān)閉水泵命令A(yù)3:Readcurrentdata讀取當(dāng)前狀態(tài)。測(cè)試過(guò)程如圖6-5所示:圖6-5Zigbee串口通信A3讀取當(dāng)前狀態(tài)命令Bxxxxxxxxxx:Setfourenvironmentalparameterthresholds。測(cè)試過(guò)程如圖6-6所示,輸入B3334070060,分別設(shè)置土壤濕度閾值為33.3%,溫度閾值為40C,光照強(qiáng)度閾值為0700lx,濕度閾值為60%。圖6-6Zigbee串口通信Bxxxxxxxxxx設(shè)置四個(gè)閾值命令Cxxx:setsoilmoisturethreshold。測(cè)試過(guò)程如圖6-7所示,輸入C400,設(shè)置土壤濕度閾值為40%。圖6-7Zigbee串口通信Cxxx設(shè)置土壤濕度閾值命令Dxx:Settheambienttemperaturethreshold。測(cè)試過(guò)程如圖6-8所示,輸入D40,設(shè)置溫度閾值為40C。圖6-8Zigbee串口通信Dxx設(shè)置溫度閾值命令Exxx:Setthelightintensitythreshold。測(cè)試過(guò)程如圖6-9所示,輸入E700,設(shè)置光照強(qiáng)度閾值為0700lx。圖6-9Zigbee串口通信Exxx設(shè)置光照強(qiáng)度閾值命令Fxx:Settheambienthumiditythreshold。測(cè)試過(guò)程如圖6-10所示,輸入F60,設(shè)置濕度閾值為60%。圖6-10Zigbee串口通信Fxx設(shè)置濕度閾值命令②數(shù)據(jù)獲得與顯示監(jiān)測(cè)功能測(cè)試如圖6-11所示,利用各個(gè)傳感器獲得土壤濕度、環(huán)境溫濕度、光照強(qiáng)度等環(huán)境數(shù)據(jù)。利用LCD顯示器顯示當(dāng)前讀取的環(huán)境數(shù)據(jù)、當(dāng)前缺水和灌溉狀態(tài)。缺水時(shí)顯示“!”,自動(dòng)灌溉顯示“A”,手動(dòng)灌溉顯示“S”。圖6-11數(shù)據(jù)獲得與顯示監(jiān)測(cè)功能測(cè)試③自動(dòng)功能測(cè)試如果系統(tǒng)的土壤濕度<(閾值-10%),系統(tǒng)開(kāi)始報(bào)警,當(dāng)土壤濕度小于一定臨界值時(shí),系統(tǒng)會(huì)自動(dòng)進(jìn)行灌溉,當(dāng)土壤濕度超過(guò)一定臨界值時(shí),停止灌溉。如果系統(tǒng)環(huán)境溫度>(閾值-2。),系統(tǒng)開(kāi)始報(bào)警,當(dāng)溫度高于一定臨界值時(shí),計(jì)時(shí)五分鐘,如果仍處于高溫,開(kāi)始澆水30秒,環(huán)境溫度低于設(shè)定值(閾值)后停止泵水。如果系統(tǒng)的環(huán)境濕度<(閾值-10%),系統(tǒng)開(kāi)始報(bào)警,當(dāng)濕度低于一定臨界值時(shí),計(jì)時(shí)五分鐘,如果仍處于這個(gè)狀態(tài),開(kāi)始澆水30秒,環(huán)境濕度高于設(shè)定值(閾值)后停止泵水。如果系統(tǒng)的光照強(qiáng)度>(閾值+10lx),系統(tǒng)開(kāi)始報(bào)警,當(dāng)光照強(qiáng)度高于一定臨界值時(shí),計(jì)時(shí)五分鐘,如果仍處于這個(gè)狀態(tài),開(kāi)始澆水30秒,光照強(qiáng)度低于設(shè)定值(閾值)后停止泵水。這里主要是對(duì)土壤濕度、光照強(qiáng)度這兩個(gè)好控制的變量進(jìn)行測(cè)試:設(shè)定土壤濕度的臨界值40%,光照強(qiáng)度臨界值0070lx。剛開(kāi)始土壤濕度為(5.9%)低于設(shè)定臨界值,開(kāi)始澆水,等土壤濕度超過(guò)臨界值停止?jié)菜?。剛開(kāi)始光照強(qiáng)度為(0029lx)低于設(shè)定閾值,等到光照強(qiáng)度為(0138lx)高于閾值開(kāi)始灌溉,計(jì)時(shí)五分鐘,如果仍

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論