申 海, 高宣爽, 程立英, 吳 迪
(沈陽師范大學 物理科學與技術學院, 沈陽 110034)
21世紀以來,社會不斷進步,人們的生活水平也隨之提高,養殖花卉、盆栽也慢慢成為每個家庭生活的一部分[1-3]。隨著生活節奏加快,人們外出度假及工作時間越來越多,經常會因為各種原因不能按時給花草澆水,這些情況很可能會導致植物因缺水走向枯萎甚至死亡,智能澆花系統的研究恰好可以用來解決這一棘手的問題[4-5]。

圖1 總體框架圖Fig.1 Overall framework diagram
系統主要分為濕度采集、主控板、水泵控制、電源供給4部分。總體框架圖如圖1所示。組成有Arduino控制板、土壤濕度傳感器、水泵等。系統用傳感器來檢測土壤水分并實時監控,通過研究普通花卉需要的濕度來設定濕度值,根據傳感器檢測的數據來測定是否需要澆水,而澆水的水量則主要由單片機控制,根據植物種類所需要的濕度進行合理的澆水;其運行的模式為全自動模式,利用土壤濕度傳感器進行實時土壤濕度信息采集,然后通過Arduino來進行信息分析處理,進而來控制水泵的開啟與關閉;系統設備主要是通過控制澆水的持續時間和澆水的時間間隔一起來控制澆水量;系統采取的電池供電模式,操作簡單、結構容易接受,運行比較安全[6-8]。
本設計基于Arduino的自動補水設計,主要分為濕度采集、主控板、水泵控制、電源供給4部分[9],其中Arduino核心板為主控部分,負責一系列狀態檢測、數據處理、邏輯處理及執行控制。

圖2 Arduino達芬奇主控器Fig.2 Arduino Leonardo da Vinci master controller
采用的達芬奇Arduino UNO主控板在普通主板的基礎上,增加了 3P彩色排針,能夠對應傳感器連接線,防止插錯燒壞元件。控制器上還帶了2個繼電器接口,可接2個電機[10]。如圖2所示。
由于土壤中水分含量不同時,土壤的電阻值也就隨之各不相同。把土壤濕度傳感器放到土壤里,它的三極管的基極就提供了大小變化的導通電流,三極管集電極到發射極的導通電流受到基極控制,經過發射極的下拉電阻后轉換成電壓。Arduino就可以把電壓轉化為0~1023的模擬輸入值。這是一個簡易的水分傳感器,可用于檢測土壤的水分,當土壤缺水時,傳感器輸出值將減小,反之將增大。傳感器原理如圖3和圖4所示。

圖3 土壤濕度繼電器模塊電路Fig.3 Soil moisture relay module circuit

圖4 紅外發射電路Fig.4 Infrared emission circuit
系統采用的工作電壓為5 V,工作模式為有信號輸入時,水泵工作;當信號消失時水泵立刻停止工作,斷開澆水行為。水泵控制電路圖如圖5所示。

圖5 水泵控制電路圖Fig.5 Water pump control circuit diagram

圖6 整體圖展示Fig.6 Overall diagram shows
土壤濕度傳感器共引出3個引腳,分別是電源正VCC、電源地GND、信號端S,在實際使用時,可以將土壤濕度傳感器直接連接到Arduino UNO控制器的模擬引腳,例如A0腳。調試完畢后,把皮管接在水泵上,把水泵放入水槽里。把土壤濕度傳感器插入到土壤里,皮管的另一頭放在植物土壤里,固定好主控器和池盒,操作完成。整體圖展示如圖6所示。

圖7 程序流程圖Fig.7 Program flow chart
首先是把現有元器件進行組裝成一個完整的電路結構,然后進行程序的編譯,最后進行軟硬件的調試與系統測試。
程序流程圖是程序進行編譯前的首要工作,它明確程序要實現的功能,同時也是程序編譯的順序。系統要實現澆花過程自動化,首先要進行濕度的檢測,將測得數據與預設值進行比較,當高于預設值時,證明植物缺水,驅動水泵進行工作,否則,水泵不工作,本次程序執行結束,進入下一次程序循環[11-13]。系統流程如圖7所示。
本次進行試驗的植物已經有2個星期未澆水,實驗開始前土壤濕度檢測值為779,因為多肉植物并不喜水,所以設定值為400[14-15]。
將傳感器插入到花盆的不同位置進行測試,獲得6 000多個實時數據。如圖8所示。圖9是由測得數值繪制而成,當把土壤濕度傳感器的引腳置于空氣中(即處于懸空狀態)時,觀察Arduino監視窗口輸出為1023,當空氣潮濕情況發生變化,如在傳感器周圍噴水,數值會發生改變;當把傳感器的引腳插入到花盆中,輸出值明顯降低,并逐漸穩定到一個確定值,如果再度將濕度傳感器拔出,插進花盆的不同地方,會發現隨著位置情況不同濕度情況不同,窗口顯示的測量值也不同。

圖9 數據曲線圖Fig.9 Data graph
圖9中橫坐標為時間,縱坐標為傳感器傳回值,其中顯示的第1個下降段是土壤濕度傳感器從空氣中插入到土壤中,因為濕度變化而下降,數值顯示約在780左右,因為設定值為400,經過測定,水泵開始工作,第2段曲線表示水泵工作,當數據在設定值左右,水泵停止工作,數值在附近浮動。
本文設計的系統以Arduino為控制中心,利用YL-69土壤濕度傳感器來對花卉進行濕度檢測,將所測數據傳回主控板,與預先的設定值進行比較,如果檢測的數據大于設定值,那么水泵就不會工作;如果到達設定值時,水泵立即停止工作,澆花過程結束。本系統能實現澆花過程智能化,經過調試與運行,系統反應迅速,能實現自控功能。