俞紀良,劉壯林,范海平,曾孟佳,2
(1.湖州師范學院信息工程學院,浙江湖州 313000;2.湖州學院理工學院,浙江湖州 313000)
隨著人們對美好生活標準的不斷提高,許多居民為美化生活環境和凈化空氣,在家里種植了盆栽植物[1]。但忙碌的生活使得人們很多時候無法及時給盆栽植物澆水,大大影響植物的正常生長和存活率。為保證家中綠植的生命活力,研制并開發一種自動澆花裝置就很有必要。目前,市面上的自動澆水裝置,一般通過人為在定時器上設定時間,計時清零時執行澆水動作實現[2],時間的設定依賴于種植戶對綠植的養植經驗,并不能根據植物所需和實際土壤狀況實施較為精準的澆水動作。為解決上述問題,保證自動澆水的及時性和精確性,該文設計了一種以土壤濕度為依據的自動澆花系統,可使土壤濕度保持在合適的范圍內,有利于綠色植物的健康成長。
自動澆花系統設計采用AT89C52 單片機為核心,其中按鍵電路、ADC0832 采樣電路是輸入模塊,輸出模塊為水泵控制電路和LCD 液晶顯示電路,總電源電路為各模塊供電。
土壤濕度傳感器可以獲取當前的土壤水分信息,將采集到的模擬量轉換成數字量,通過單片機進行傳輸,然后在LCD 液晶屏上顯示[3]。通過單片機內置的判斷程序語句來選擇是否澆水。當濕度低于預設的濕度值時,單片機系統發出澆水信號,驅動水泵開始澆水,達到智能澆水的目的。系統硬件框圖如圖1 所示。

圖1 系統硬件框圖
電源電路使用的硬件接口是直流電源插座DC,可連接USB 電源線接5 V 電源[4]。LED 作為系統運行的指示燈,其中串聯的電阻R7大小為1 kΩ,對LED燈起到限流保護的作用,可防止燈泡因電流過大而燒壞,導致系統故障。自鎖開關SW 的功能是按下開關紅燈亮,同時輸出5 V 電源,電源電路如圖2 所示。

圖2 電源電路
微型水泵的作用主要是將水輸送到花盆里面[5],水泵控制電路如圖3 所示。水泵是將電機的機械能轉化為抽送液體的動能從而達到抽送液體目的。在該電路中,LED 燈是黃顏色的,它的亮與暗可以反饋水泵是否正常工作。限流電阻R8大小為1 kΩ,作用是保護LED 燈不會因過流而燒壞[6],保證系統的正常運行。當單片機對應的控制引腳為低電平時,三極管打開,水泵正常工作。另外,電解電容的作用是濾除泵電源的低頻參數,使水泵工作更加穩定,水泵為水流的傳輸提供了渠道,使得澆花變得更加方便。

圖3 水泵控制電路
土壤濕度檢測電路如圖4 所示。其中ADC0832是一種8 位A/D 轉換芯片[7],芯片轉換時間短,轉換速度快。土壤濕度傳感器先檢測土壤濕度,采集的實時土壤濕度會與單片機預先設定的濕度相比較,作為是否發出澆水信號的重要依據。ADC0832 選擇模擬輸入通道CH0 作為土壤濕度檢測信號采集口,將土壤濕度傳感器采集的數字信號轉換為模擬電壓信號[8],經過STC89C52 單片機傳輸到LCD 液晶顯示屏上實時顯示土壤濕度。

圖4 土壤濕度檢測電路
LCD1602 液晶屏驅動電路模塊的作用是將顯示字符的ASCII 碼寫入內部的顯示數據存儲器,通過LCD 液晶屏顯示該字符[9]。LCD 液晶顯示電路如圖5所示。

圖5 LCD液晶顯示電路
選用的LCD 具有14 條引腳線,其各引腳的作用如表1 所示。

表1 LCD引腳作用表
LCD 顯示的每個字符都是由點陣組成的,在編程顯示時只需將對應的點置1,就可以顯示字符[10]。通過LCD 液晶接收顯示信號,每個字符點都會保持其原始顏色和亮度,并繼續發光。這與數碼管顯示的機制不同,數碼管動態顯示時由于人眼的視覺暫留效果,通過循環掃描每一位數碼管實現。因此,選用LCD顯示器可以提高圖像顯示效果并且不會閃爍。
這個輕觸按鍵起著電子開關的作用,其功能主要是通過按鈕內部的金屬彈片力來實現的[11]。初始化情況下,單片機的按鍵控制引腳為高電平。當按鍵被按下時,單片機的相關引腳由高電平變為低電平,同時運行該鍵的功能程序,所以系統可以通過按鍵手動配置濕度信息。按鍵電路如圖6 所示。

圖6 按鍵電路
選用AT89C52 單片機作為整個系統的控制核心[12],其具有8 位CPU,為自動澆花系統的運行提供高速運算支撐,8k 的Flash 存儲器可以反復擦寫,有利于該系統的優化改良。內部存儲器用于儲存土壤濕度信息,按下設置鍵后預設的土壤濕度值由中斷系統實現。定時計數器為預設濕度值的增減作計數支撐,32個雙向的I/O是單片機數據流動的橋梁。該單片機具有高度集成性,擁有掉電存儲功能[13],適用于自動澆花系統的開發,其單片機引腳圖如圖7所示。

圖7 AT89C52單片機引腳圖
土壤濕度檢測與自動灌溉系統流程圖如圖8 所示。根據綠色植物品種對土壤濕度的實際需求,提前設定土壤含水量的預設值,如30%。將土壤濕度傳感器實時檢測的濕度含量[14]與預設的濕度值進行比較,判斷是否需要進行澆水。

圖8 系統流程圖
部分代碼如下:



系統初始化后采集當前環境的濕度值。完成A/D轉換后[15],設置好預置濕度值,傳輸到LCD 液晶屏上顯示信息,系統確定當前土壤濕度和預設土壤濕度之間的關系。如果低于設定值的30%,繼電器驅動水泵進行灌溉;如果高于設定值的70%,則繼電器和水泵不工作。濕度傳感器可以實時獲取當前的土壤濕度。當澆水過程中土壤含水量大于設定值時,澆水過程結束。LCD 顯示濕度圖如圖9 所示,LCD1602第一行顯示了土壤當前濕度,第二行顯示人為預設值[16],可以通過設置鍵調整土壤濕度上下限,按下增大鍵濕度加一,反之按下減少鍵濕度減一,再次按下設置鍵退出設置程序。

圖9 LCD顯示濕度
Proteus 仿真測試結果表明,進入自動澆花系統后,先預設土壤的濕度值。根據土壤濕度傳感器采集的數據與預設濕度值對比進行判斷,再進入程序處理[17]。當濕度值小于預設值時,進入水泵電機驅動程序并啟動澆花功能,直到達到預設濕度。
自動澆水系統能對綠色植物進行監測[18],并能準確反饋土壤濕度信息,根據植物對土壤濕度的實際需求進行實時澆水。
該設計主要研究了土壤濕度與植物所需水分灌溉量之間的關系,使得綠色植物在生長過程中,其土壤濕度一直保持在合適的范圍內。選用AT89C52 型單片機,在Keil 軟件上采用C51 語言編寫程序,最后運用Proteus 進行仿真測試,驗證了系統的可行性和穩定性。當濕度低于預設值時,單片機發出澆水信號,水泵系統開始澆水,達到預設土壤濕度值后停止澆水。它適用于沒有時間照顧花草的用戶,為綠色植物的管理提供了方便。