董紅松,閆 靜,孔躍輝
(山西農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山西 太谷 030801)
面對空氣污染,越來越多的人倡導(dǎo)綠色生活。而花草不僅可以美化環(huán)境、裝飾空間、凈化空氣[1],而且具有陶冶情操、舒緩壓力,增添生活樂趣的作用,對人的身心健康十分有利。因此,人們傾向于在家中或辦公室養(yǎng)花草?;ú菪枰獫补啵B(yǎng)花成敗的關(guān)鍵在于澆水量。但是由于日常生活中,因?yàn)椴煌ú萘?xí)性不同或者生活忙碌,很多人無法做到適量澆水,不能很好的照顧花草。面對令人困擾的花草澆灌問題,設(shè)計(jì)出一種自動澆花系統(tǒng)。通過濕度傳感器對土壤濕度精確測量,按照預(yù)設(shè)的濕度范圍,濕度比較,單片機(jī)控制澆水量。根據(jù)不同盆花對水量需求不同,可以調(diào)整預(yù)設(shè)的土壤濕度范圍,使花草得到適度的水量,長的更好。
本澆花系統(tǒng)設(shè)計(jì)分為六大模塊:單片機(jī)主控模塊、濕度檢測模塊、按鍵模塊、顯示模塊、繼電器澆水模塊、報(bào)警模塊[2]。系統(tǒng)框圖如圖1所示。
系統(tǒng)中,核心模塊是單片機(jī)控制模塊,濕度檢測模塊和繼電器澆水模塊,附帶顯示模塊、報(bào)警模塊。設(shè)置4個按鍵,S0:復(fù)位鍵,S4:設(shè)置/保存,S5:加/模式切換,S6:減/手動灌溉。系統(tǒng)功能分為檢測和設(shè)定兩類。檢測包含自動和手動澆花模式。自動模式下:YL-69土壤濕度傳感器將感應(yīng)到的濕度模擬信號通過ADC0832模數(shù)轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號,同按鍵輸入信號傳遞給單片機(jī),單片機(jī)將信號分析判斷,控制LCD1602顯示器顯示澆水模式、當(dāng)前濕度及其預(yù)設(shè)范圍,同時控制繼電器是否澆水。手動模式下:通過按鍵人為控制澆水。設(shè)定即為修改預(yù)設(shè)濕度范圍,按鍵控制對預(yù)設(shè)濕度的上下限值進(jìn)行修改。
圖1 系統(tǒng)硬件框圖
STC89C51RC是具有8051核的單片機(jī),具有ISP特性,工作電壓是3.4 V~5.5 V,工作頻率在0~35 MHz之間,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)和80C51引腳,512 kB的RAM,2KB的EEPROM,有看門狗功能,2個16位定時器/計(jì)數(shù)器,外部中斷2路。有40個引腳。P0口作為I/O口,為輸出高電平,必須接上拉電阻。EA/VPP引腳內(nèi)部接高電平,系統(tǒng)復(fù)位后,其運(yùn)行內(nèi)部ROM程序。圖2為系統(tǒng)控制主電路。
圖2 系統(tǒng)控制主電路
濕度傳感模塊主要由YL-69土壤濕度傳感器和ADC0832模數(shù)轉(zhuǎn)換器構(gòu)成。當(dāng)被測濕度發(fā)生變化,電路中的電阻值隨之而變,范圍是0 Ω~10 kΩ,變化的幅度是根據(jù)濕度傳感器采集到的濕度大小而定。導(dǎo)致電路的輸出電壓變化,可以根據(jù)電路需求調(diào)節(jié)電阻,得到不同電壓值。ADC0832是8位分辨率的雙通道A/D轉(zhuǎn)換芯片[3]。分辨可高達(dá)256級,它的電壓輸入范圍是在0~5 V,轉(zhuǎn)換時間僅需32 μs。使用雙數(shù)據(jù)輸出用來數(shù)據(jù)校驗(yàn),減少數(shù)據(jù)差錯,有獨(dú)立的使能輸入,方便控制其他器件。
LCD1602屬于點(diǎn)陣型液晶顯示器[4],電路連接簡單,常用作單片機(jī)系統(tǒng)設(shè)計(jì)顯示數(shù)據(jù)??梢燥@示2行16列共32個字符。它的內(nèi)部存進(jìn)160個點(diǎn)陣字符圖形,常見的字母、數(shù)字均有,編程時需要固定的代碼調(diào)用,本澆花系統(tǒng)用LCD1602顯示濕度值和模式。LCD1602的D0-D7分別與單片機(jī)的P0.0-P0.7連接,進(jìn)行數(shù)據(jù)傳輸;P2.7、P2.6分別于RS、E相連,用于選擇寄存器和使能端操作;RW接地,進(jìn)行寫操作;VL連接2.2k的電阻是為了設(shè)定對比度。
按鍵模塊設(shè)置了3個按鍵,S4:設(shè)置/保存,S5:加/模式切換,S6:減/手動灌溉。S4、S5、S6分別與單片機(jī)的P1.5 、P3.3、P3.4相連。按S4鍵進(jìn)入預(yù)設(shè)濕度值調(diào)節(jié)模式和實(shí)現(xiàn)保存功能;按S5鍵是預(yù)設(shè)值加、手動和自動模式切換;按S6鍵是預(yù)設(shè)值減、手動澆水。與單片機(jī)連接如圖2所示。
本系統(tǒng)采取電磁式繼電器,繼電器的作用類似開關(guān),當(dāng)繼電器通電后,線圈流過電流,產(chǎn)生電磁效應(yīng),銜鐵受到的電磁力大于彈簧的拉力,導(dǎo)致銜鐵的動、靜觸點(diǎn)吸和,相當(dāng)于開關(guān)閉合。當(dāng)線圈斷電后,失去電磁力,銜鐵受彈簧的反作用力回到初始位置,動觸點(diǎn)與初始靜觸點(diǎn)吸和,相當(dāng)于開關(guān)斷開。單片機(jī)的P2.5與三極管的基極連接,繼電器與另外兩極連接。當(dāng)P2.5輸出低電平時,三極管導(dǎo)通[5],繼電器通電,相當(dāng)于開關(guān)閉合,進(jìn)而澆水。
單片機(jī)P1.6與蜂鳴器報(bào)警電路相連,當(dāng)檢測濕度值低于預(yù)設(shè)濕度下限值時,進(jìn)行聲光報(bào)警。
澆花系統(tǒng)的軟件部分采取C語言進(jìn)行編程,為方便統(tǒng)籌,選用模塊化設(shè)計(jì)方法[6]。
系統(tǒng)開始運(yùn)行后,首先完成對ADC0832、LCD1602初始化設(shè)置,讀取土壤濕度值,然后等待按鍵操作。不進(jìn)行任何按鍵操作,執(zhí)行自動模式。在自動模式下,判斷當(dāng)前濕度是否低于預(yù)設(shè)值,低于則繼電器使水泵澆水,當(dāng)濕度高于預(yù)設(shè)值,停止?jié)菜4鍵按下表示進(jìn)入設(shè)置預(yù)設(shè)濕度值狀態(tài),否則表示進(jìn)入正常檢測狀態(tài)。當(dāng)進(jìn)入設(shè)置濕度值狀態(tài)時,S5鍵按下預(yù)設(shè)值加,S6按下預(yù)設(shè)值減,S4按下是選擇設(shè)置上限值、下限值和退出。當(dāng)進(jìn)檢測狀態(tài)時,S5鍵選擇手動和自動模式。若按下S5鍵,選擇手動模式,人為控制澆水。否則進(jìn)行自動模式。在運(yùn)行過程中,伴隨著LCD1602液晶顯示濕度值和當(dāng)前模式,蜂鳴器警報(bào)。
在主程序中,掃描按鍵S4、S5、S6,及時獲取按鍵狀態(tài),當(dāng)無按鍵按下,系統(tǒng)一直循環(huán)執(zhí)行主程序;當(dāng)有按鍵按下時,掃描獲取其狀態(tài),然后運(yùn)行對應(yīng)的子程序。
顯示子程序是由初始化、寫命令、寫數(shù)據(jù)、寫入位置和寫入格式子程序構(gòu)成。系統(tǒng)調(diào)用這些子程序,使數(shù)據(jù)按照需要的格式顯示在LCD1602顯示屏上。
本澆花系統(tǒng)的軟件程序總流程圖,圖3所示。
本次設(shè)計(jì)的澆花系統(tǒng)硬件電路簡單,操作簡單,成本低,實(shí)用性好,設(shè)計(jì)滿足預(yù)期功能。以STC89C51RC單片機(jī)為核心,由YL-69和ADC0832濕度檢測模塊、LCD1602液晶顯示模塊、繼電器澆水模塊、按鍵模塊、蜂鳴器報(bào)警模塊構(gòu)成。
系統(tǒng)有自動和手動澆花模式,自動模式下,YL-69檢測的土壤濕度信號經(jīng)ADC0832處理后傳入單片機(jī),單片機(jī)將檢測的土壤濕度與預(yù)設(shè)濕度范圍進(jìn)行比對,比下限值低,單片機(jī)驅(qū)動繼電器,開始澆水,直到達(dá)到上限值。若比上限值高,停止?jié)菜?。手動模式是手動按鍵控制水量。本系統(tǒng)設(shè)置了3個按鍵,主要用來選擇澆水模式、改變預(yù)設(shè)的濕度上下限值[7]。LCD1602顯示屏用來顯示濕度值和澆花模式,蜂鳴器用來報(bào)警。
圖3 系統(tǒng)軟件程序總流程圖
[1] 張富春,邵婷婷,楊彥寧.一種基于DHT11的家用自動澆花電路的設(shè)計(jì)[J].微處理器和可編程控制器,2014(16):35-36,24.
[2] 覃光鋒.根據(jù)濕度進(jìn)行智能澆花的硬件設(shè)計(jì)[J].裝備制造技術(shù),2016(9):54-57.
[3] 劉雪雪.串行數(shù)據(jù)芯片的編程檢測方法[J].現(xiàn)代電子技術(shù),2010,32(2):160-163.
[4] 李鵬偉.基于單片機(jī)的出租車計(jì)價器設(shè)計(jì)[D].晉中:山西農(nóng)業(yè)大學(xué),2016.
[5] 童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].第4版.北京:高等教育出版社,2012.
[6] 譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004.
[7] 宋艷麗.基于單片機(jī)濕度控制系統(tǒng)的設(shè)計(jì)[J].寧波:寧波職業(yè)技術(shù)學(xué)院學(xué)報(bào),2016,20(5):87-90.