申 海, 高宣爽, 程立英, 吳 迪
(沈陽(yáng)師范大學(xué) 物理科學(xué)與技術(shù)學(xué)院, 沈陽(yáng) 110034)
21世紀(jì)以來(lái),社會(huì)不斷進(jìn)步,人們的生活水平也隨之提高,養(yǎng)殖花卉、盆栽也慢慢成為每個(gè)家庭生活的一部分[1-3]。隨著生活節(jié)奏加快,人們外出度假及工作時(shí)間越來(lái)越多,經(jīng)常會(huì)因?yàn)楦鞣N原因不能按時(shí)給花草澆水,這些情況很可能會(huì)導(dǎo)致植物因缺水走向枯萎甚至死亡,智能澆花系統(tǒng)的研究恰好可以用來(lái)解決這一棘手的問(wèn)題[4-5]。
圖1 總體框架圖Fig.1 Overall framework diagram
系統(tǒng)主要分為濕度采集、主控板、水泵控制、電源供給4部分??傮w框架圖如圖1所示。組成有Arduino控制板、土壤濕度傳感器、水泵等。系統(tǒng)用傳感器來(lái)檢測(cè)土壤水分并實(shí)時(shí)監(jiān)控,通過(guò)研究普通花卉需要的濕度來(lái)設(shè)定濕度值,根據(jù)傳感器檢測(cè)的數(shù)據(jù)來(lái)測(cè)定是否需要澆水,而澆水的水量則主要由單片機(jī)控制,根據(jù)植物種類所需要的濕度進(jìn)行合理的澆水;其運(yùn)行的模式為全自動(dòng)模式,利用土壤濕度傳感器進(jìn)行實(shí)時(shí)土壤濕度信息采集,然后通過(guò)Arduino來(lái)進(jìn)行信息分析處理,進(jìn)而來(lái)控制水泵的開(kāi)啟與關(guān)閉;系統(tǒng)設(shè)備主要是通過(guò)控制澆水的持續(xù)時(shí)間和澆水的時(shí)間間隔一起來(lái)控制澆水量;系統(tǒng)采取的電池供電模式,操作簡(jiǎn)單、結(jié)構(gòu)容易接受,運(yùn)行比較安全[6-8]。
本設(shè)計(jì)基于Arduino的自動(dòng)補(bǔ)水設(shè)計(jì),主要分為濕度采集、主控板、水泵控制、電源供給4部分[9],其中Arduino核心板為主控部分,負(fù)責(zé)一系列狀態(tài)檢測(cè)、數(shù)據(jù)處理、邏輯處理及執(zhí)行控制。
圖2 Arduino達(dá)芬奇主控器Fig.2 Arduino Leonardo da Vinci master controller
采用的達(dá)芬奇Arduino UNO主控板在普通主板的基礎(chǔ)上,增加了 3P彩色排針,能夠?qū)?yīng)傳感器連接線,防止插錯(cuò)燒壞元件??刂破魃线€帶了2個(gè)繼電器接口,可接2個(gè)電機(jī)[10]。如圖2所示。
由于土壤中水分含量不同時(shí),土壤的電阻值也就隨之各不相同。把土壤濕度傳感器放到土壤里,它的三極管的基極就提供了大小變化的導(dǎo)通電流,三極管集電極到發(fā)射極的導(dǎo)通電流受到基極控制,經(jīng)過(guò)發(fā)射極的下拉電阻后轉(zhuǎn)換成電壓。Arduino就可以把電壓轉(zhuǎn)化為0~1023的模擬輸入值。這是一個(gè)簡(jiǎn)易的水分傳感器,可用于檢測(cè)土壤的水分,當(dāng)土壤缺水時(shí),傳感器輸出值將減小,反之將增大。傳感器原理如圖3和圖4所示。
圖3 土壤濕度繼電器模塊電路Fig.3 Soil moisture relay module circuit
圖4 紅外發(fā)射電路Fig.4 Infrared emission circuit
系統(tǒng)采用的工作電壓為5 V,工作模式為有信號(hào)輸入時(shí),水泵工作;當(dāng)信號(hào)消失時(shí)水泵立刻停止工作,斷開(kāi)澆水行為。水泵控制電路圖如圖5所示。
圖5 水泵控制電路圖Fig.5 Water pump control circuit diagram
圖6 整體圖展示Fig.6 Overall diagram shows
土壤濕度傳感器共引出3個(gè)引腳,分別是電源正VCC、電源地GND、信號(hào)端S,在實(shí)際使用時(shí),可以將土壤濕度傳感器直接連接到Arduino UNO控制器的模擬引腳,例如A0腳。調(diào)試完畢后,把皮管接在水泵上,把水泵放入水槽里。把土壤濕度傳感器插入到土壤里,皮管的另一頭放在植物土壤里,固定好主控器和池盒,操作完成。整體圖展示如圖6所示。
圖7 程序流程圖Fig.7 Program flow chart
首先是把現(xiàn)有元器件進(jìn)行組裝成一個(gè)完整的電路結(jié)構(gòu),然后進(jìn)行程序的編譯,最后進(jìn)行軟硬件的調(diào)試與系統(tǒng)測(cè)試。
程序流程圖是程序進(jìn)行編譯前的首要工作,它明確程序要實(shí)現(xiàn)的功能,同時(shí)也是程序編譯的順序。系統(tǒng)要實(shí)現(xiàn)澆花過(guò)程自動(dòng)化,首先要進(jìn)行濕度的檢測(cè),將測(cè)得數(shù)據(jù)與預(yù)設(shè)值進(jìn)行比較,當(dāng)高于預(yù)設(shè)值時(shí),證明植物缺水,驅(qū)動(dòng)水泵進(jìn)行工作,否則,水泵不工作,本次程序執(zhí)行結(jié)束,進(jìn)入下一次程序循環(huán)[11-13]。系統(tǒng)流程如圖7所示。
本次進(jìn)行試驗(yàn)的植物已經(jīng)有2個(gè)星期未澆水,實(shí)驗(yàn)開(kāi)始前土壤濕度檢測(cè)值為779,因?yàn)槎嗳庵参锊⒉幌菜?所以設(shè)定值為400[14-15]。
將傳感器插入到花盆的不同位置進(jìn)行測(cè)試,獲得6 000多個(gè)實(shí)時(shí)數(shù)據(jù)。如圖8所示。圖9是由測(cè)得數(shù)值繪制而成,當(dāng)把土壤濕度傳感器的引腳置于空氣中(即處于懸空狀態(tài))時(shí),觀察Arduino監(jiān)視窗口輸出為1023,當(dāng)空氣潮濕情況發(fā)生變化,如在傳感器周?chē)鷩娝?數(shù)值會(huì)發(fā)生改變;當(dāng)把傳感器的引腳插入到花盆中,輸出值明顯降低,并逐漸穩(wěn)定到一個(gè)確定值,如果再度將濕度傳感器拔出,插進(jìn)花盆的不同地方,會(huì)發(fā)現(xiàn)隨著位置情況不同濕度情況不同,窗口顯示的測(cè)量值也不同。
圖9 數(shù)據(jù)曲線圖Fig.9 Data graph
圖9中橫坐標(biāo)為時(shí)間,縱坐標(biāo)為傳感器傳回值,其中顯示的第1個(gè)下降段是土壤濕度傳感器從空氣中插入到土壤中,因?yàn)闈穸茸兓陆?數(shù)值顯示約在780左右,因?yàn)樵O(shè)定值為400,經(jīng)過(guò)測(cè)定,水泵開(kāi)始工作,第2段曲線表示水泵工作,當(dāng)數(shù)據(jù)在設(shè)定值左右,水泵停止工作,數(shù)值在附近浮動(dòng)。
本文設(shè)計(jì)的系統(tǒng)以Arduino為控制中心,利用YL-69土壤濕度傳感器來(lái)對(duì)花卉進(jìn)行濕度檢測(cè),將所測(cè)數(shù)據(jù)傳回主控板,與預(yù)先的設(shè)定值進(jìn)行比較,如果檢測(cè)的數(shù)據(jù)大于設(shè)定值,那么水泵就不會(huì)工作;如果到達(dá)設(shè)定值時(shí),水泵立即停止工作,澆花過(guò)程結(jié)束。本系統(tǒng)能實(shí)現(xiàn)澆花過(guò)程智能化,經(jīng)過(guò)調(diào)試與運(yùn)行,系統(tǒng)反應(yīng)迅速,能實(shí)現(xiàn)自控功能。
沈陽(yáng)師范大學(xué)學(xué)報(bào)(自然科學(xué)版)2020年4期