鐘宇航 , 孫達(dá)坤 , 楊得驥 , 周穎怡
(1.嶺南師范學(xué)院,廣東 湛江 524048;2.中國熱帶農(nóng)業(yè)科學(xué)院農(nóng)產(chǎn)品加工研究所,廣東 湛江 524001)
我國是農(nóng)業(yè)大國, 農(nóng)業(yè)經(jīng)濟(jì)將長期在國民經(jīng)濟(jì)中處于重要地位。 但現(xiàn)今我國大部分地區(qū)還維持著傳統(tǒng)農(nóng)業(yè)粗放的管理方式,憑借經(jīng)驗施肥灌溉,不僅需要大量的人力物力,對環(huán)境保護(hù)以及水土保持構(gòu)成嚴(yán)重威脅,還因無法對農(nóng)業(yè)環(huán)境信息實現(xiàn)精細(xì)化、智能化管理,影響了農(nóng)業(yè)的可持續(xù)發(fā)展。
為了克服我國農(nóng)業(yè)生產(chǎn)的劣勢, 本文旨在設(shè)計一種能夠?qū)崿F(xiàn)精細(xì)化、智能化管理的智慧大棚,這個智慧大棚提高農(nóng)作物的產(chǎn)量和質(zhì)量的同時,造價低廉,適用性廣,有利于推動我國的現(xiàn)代化農(nóng)業(yè)建設(shè)[1]。
農(nóng)業(yè)生產(chǎn)中,影響農(nóng)作物生長的主要因素有溫度、濕度、光照度等等,想要做到科學(xué)合理種植僅僅依靠傳統(tǒng)的人工控制方式非常困難[2]。 本文提出的基于Kittenblock 的智慧大棚具有以下功能:
1) 大棚內(nèi)溫度的測定;
2) 大棚內(nèi)土壤濕度的測定;
3) 大棚內(nèi)光照強(qiáng)度的測定;
4) 大棚內(nèi)的防火報警系統(tǒng);
5) 把收集到的數(shù)據(jù)顯示在液晶屏上;
6) 根據(jù)傳感器收集的數(shù)據(jù)判定下一個執(zhí)行動作。
Kittenblock 是由小喵科技出品的一款基于Scratch3.0青少年編程軟件。 Kittenblock 支持圖形化程序micro:bit、arduino 等開源硬件控制, 支持Python/c++代碼等高級語言。繼承了Scratch3.0 的優(yōu)點,采用拖拽模塊的方式進(jìn)行程序的編寫, 還能夠利用Arduino 開發(fā)板來創(chuàng)作出更多更強(qiáng)大的互動作品。 Kittenblock 圖形化編程軟件功能強(qiáng)大,但卻因為能把程序轉(zhuǎn)換成圖形積木的形式而變得易懂易學(xué)。
Kittenblock 圖形化編程軟件支持多種硬件控制,本文設(shè)計的大棚采用的微控制器是Arduino 開發(fā)板中的UNO R3 主控板,ATmega328 MCU 主控芯片是開發(fā)板正常工作的基礎(chǔ),UNO R3 開發(fā)板具有14 路的數(shù)字輸入輸出引腳(其中6 路可用于PWM 輸出)、6 路模擬輸入引腳、 一個16MHz 的陶瓷諧振器、 一個USB 接口、 一個適用于7V~12V 的直流電壓的電源插座、 一個ICSP 接頭和一個復(fù)位按鈕,是本文提出的智慧大棚的硬件部分。
1) 溫濕度傳感器模塊。 本系統(tǒng)采用的溫濕度傳感器模塊是DHT11 溫濕度傳感器模塊, 該模塊可以用于大棚內(nèi)溫濕度的測量。 它的正常工作電壓是3.3V~5.5V,可以兼容UNO R3 主控板,具有長期的穩(wěn)定性、可靠性、抗干擾能力強(qiáng)、成本低、響應(yīng)快、信號傳輸距離長和精確校準(zhǔn)等特點。 同時,它還有一個NTC 測溫元件、電容式感濕元件以及一個高性能8 位單片機(jī)。
2) 土壤濕度傳感器模塊。 本文設(shè)計的智慧大棚土壤濕度測量采用的傳感器是土壤濕度檢測模塊。 它的正常工作電壓是3.3V~5V,兼容UNO R3 主控板當(dāng)接數(shù)字輸出端口時,可以通過順時針調(diào)節(jié)傳感器模塊上的電位器來增大土壤濕度模塊控制濕度的閥值,相應(yīng)的,逆時針調(diào)節(jié)電位器則可以降低傳感器控制濕度的閥值;在本文設(shè)計的智慧大棚當(dāng)中連接土壤濕度檢測模塊的方式是接模擬端口。
3) 光照傳感器模塊。 本文設(shè)計的智慧大棚光照強(qiáng)度檢測系統(tǒng)所用的傳感器為光敏電阻傳感器。 工作原理是利用其對光線敏感的特性來檢測周圍環(huán)境光線的亮度,以此來觸發(fā)單片機(jī)或者繼電器模塊等等。 在本文設(shè)計的智慧大棚當(dāng)中采用的連接方式是接模擬端口。
4) 火焰?zhèn)鞲衅髂K。 本文設(shè)計的智慧大棚中的防火系統(tǒng)采用火焰?zhèn)鞲衅鳎?當(dāng)火焰以及760nm~1 100nm 波長范圍內(nèi)的光源出現(xiàn)在大棚內(nèi)時, 火焰?zhèn)鞲衅骺梢宰R別并且觸發(fā)下一步的執(zhí)行命令。
5) 繼電器模塊。在本文設(shè)計的智慧大棚中,繼電器用于排氣扇以及水泵的觸發(fā)。 繼電器采用的是5V 高電平觸發(fā)繼電器,繼電器具有電源和繼電器動作指示,吸合時,電路連通,綠燈亮,觸發(fā)排氣扇或者水泵工作;反之,電路斷開時綠燈不亮。 它可以控制直流或者交流信號,也可控制220V 交流負(fù)載; 負(fù)載端口分為常開端 (NO)、 公共端(COM)、常閉端(NC)。
6) IIC LCD 1602 液晶屏。 在本文設(shè)計的智慧大棚當(dāng)中,1602 液晶屏用于顯示溫濕度傳感器、 土壤濕度檢測模塊、光敏電阻以及火焰?zhèn)鞲衅魇占降臄?shù)據(jù)。使用IIC LCD 1602 液晶屏可以只連接4 個引腳,大大節(jié)省了引腳端。
7) L298N 電機(jī)驅(qū)動模塊。 L298N 電機(jī)驅(qū)動模塊在本文設(shè)計的智慧大棚中的作用是啟動直流電機(jī)去開啟或者關(guān)閉遮陽棚。 驅(qū)動模塊采用了驅(qū)動能力強(qiáng)、發(fā)熱量低以及抗干擾能力強(qiáng)的L298N 作為驅(qū)動芯片, 另外使用了大容量濾波電容,續(xù)流保護(hù)二極管,可以提高可靠性。
智慧大棚系統(tǒng)可以實現(xiàn)大棚內(nèi)各種環(huán)境因素的實時監(jiān)測與反饋。 該系統(tǒng)采用感知層、傳輸層和應(yīng)用層三層結(jié)構(gòu)。 由感知層對溫室大棚的氣候環(huán)境信息進(jìn)行全面感知,將傳感器收集的數(shù)據(jù)反饋到主控板, 傳輸層通過傳感器收集信息傳遞到主控板上分析并確定下一步的執(zhí)行命令, 用戶通過大棚內(nèi)的LCD 液晶屏或者電腦上Kittenblock 的串口通訊隨時隨地獲取大棚的環(huán)境信息。 應(yīng)用層處理反饋后確定下一步的執(zhí)行命令, 最后執(zhí)行器的工作使得不適合植物生長的環(huán)境因素恢復(fù)到正常。
對于系統(tǒng)而言,感知節(jié)點作為數(shù)據(jù)采集的關(guān)鍵部分,需保證采集數(shù)據(jù)的準(zhǔn)確性和可靠性[3]。Arduino UNO R3 主控板作為感知節(jié)點的核心組成部分, 主要負(fù)責(zé)感知節(jié)點中相關(guān)設(shè)備的協(xié)調(diào)工作, 完成對大棚內(nèi)環(huán)境信息的采集和發(fā)送。
傳感器設(shè)計是本智慧大棚的關(guān)鍵點, 傳感器的方案設(shè)計需要收集影響農(nóng)作物生長因素的數(shù)據(jù)進(jìn)行分析。 作為感知層的傳感器在收集數(shù)據(jù)后, 由主控板進(jìn)行分析判斷是否執(zhí)行下一步命令, 如果收集到的數(shù)據(jù)沒有達(dá)到設(shè)定的閾值時, 主控板執(zhí)行命令, 觸發(fā)對應(yīng)解決措施的開關(guān),從而使傳感器收集到的數(shù)據(jù)恢復(fù)正常。
智慧大棚系統(tǒng)程序設(shè)計與實現(xiàn)的最關(guān)鍵部分是系統(tǒng)程序的編寫, 本系統(tǒng)的程序編寫是在Kittenblock 圖形化編程軟件上進(jìn)行的。 本系統(tǒng)的程序編寫分為兩部分進(jìn)行,主要是各部分傳感器與UNO 主控板、UNO 主控板與傳感器整體連接的編程。 傳感器與UNO 主控板部分的程序是本智慧大棚的程序的基礎(chǔ)[4]。 這部分編程主要是編寫傳感器收集數(shù)據(jù),設(shè)定閾值,超出或低于標(biāo)定值,主控板做出判斷后執(zhí)行下一步操作使數(shù)據(jù)回到正常值。 另一部分就是整合各個部分的程序,融合為主程序。 總體上,本系統(tǒng)的程序編寫要滿足以下幾點的要求:
1)DHT11 溫濕度傳感器模塊的程序設(shè)計。本編程部分是測量大棚內(nèi)溫濕度的。
2)土壤濕度傳感器模塊的程序設(shè)計。這部分是測量大棚內(nèi)土壤濕度的。
3)光照傳感器模塊的程序設(shè)計。本編程部分是測量大棚內(nèi)光照強(qiáng)度的。
4)防火報警系統(tǒng)的程序設(shè)計。大棚的防火報警系統(tǒng)的主要功能是能夠?qū)ε飪?nèi)出現(xiàn)明火進(jìn)行報警。
在Kittenblock 圖形化編程軟件上編輯好每個傳感器模塊的程序之后,進(jìn)行試驗,檢查傳感器模塊的工作狀態(tài),確認(rèn)無誤后把各個模塊的程序結(jié)合在一起,把程序上傳到UNO R3 主控板上,然后把各個傳感器模塊與主控板進(jìn)行接線,最后把各個傳感器模塊分布在大棚模型內(nèi)。
1) 溫濕度模塊測試。 DHT11 溫濕度傳感器接數(shù)字端口2,當(dāng)溫度高于35℃時,引腳5 的繼電器開關(guān)被觸發(fā),啟動排氣扇工作,通過換氣來達(dá)到降低大棚內(nèi)溫度的目的;當(dāng)濕度低于40%時,引腳4 的繼電器開關(guān)被觸發(fā),啟動水泵工作輸送水分,提高大棚內(nèi)的濕度。
2) 土壤濕度模塊測試。 土壤濕度傳感器接模擬端口A0,通電后初始值為1 023(此時電路斷開,土壤濕度狀態(tài)為干旱),隨著土壤濕度的增加,模擬端輸出的值越小。 經(jīng)實驗得出,當(dāng)模擬端口輸出的值≥850 時,需要為土壤增加水分以達(dá)到適合植物生長的土壤濕度。
3) 光照強(qiáng)度模塊測試。 光敏傳感器接模擬端口A1,本程序光敏電阻串口的數(shù)值隨亮度的增強(qiáng)而減小, 呈負(fù)邏輯。 經(jīng)實驗得出,在當(dāng)輸出數(shù)值大于300 時,系統(tǒng)打開LED 燈增加光線強(qiáng)度促進(jìn)植物的光合作用; 當(dāng)光敏傳感器測到的數(shù)值低于5 時,驅(qū)動電機(jī)開啟遮陽棚,降低光照強(qiáng)度,當(dāng)降低到正常光強(qiáng)(即串口輸出數(shù)值大于5)時收回遮陽棚。
4) 防火報警系統(tǒng)測試。 火焰?zhèn)鞲衅鹘幽M端口A2,通電后串口打印的原始數(shù)值為1 023,當(dāng)出現(xiàn)明火時數(shù)值變小。 經(jīng)實驗得出,當(dāng)火焰?zhèn)鞲衅鳒y得的數(shù)值<700 時,有明火出現(xiàn),需要報警。
5) 液晶屏顯示模塊。 IIC LCD 1602 液晶屏模塊SCL接A5 引腳、SDA 接A4 引腳。 顯示屏中T 代表溫度(Temperature)、H 代表濕度 (Humidity)、S 代表土壤濕度(Soil)、L 代表光照亮度(Light)、F 代表火焰(Flame),除此以外,屏幕還顯示傳感器收集到的其他數(shù)據(jù)。
本文研究基于Kittenblock 的智慧大棚, 系統(tǒng)運(yùn)行過程中各個模塊運(yùn)行正常, 各個傳感器模塊能正常收集數(shù)據(jù),并由主控板分析判斷下一個執(zhí)行動作,應(yīng)用層的各個模塊也能正常進(jìn)行澆灌、通風(fēng)降溫、遮陽照明等等。
該智慧大棚, 利用Arduino UNO R3 主控板以及各種傳感器作為大棚的硬件, 用Kittenblock 圖形化編程軟件編輯程序,可隨時修改程序,技術(shù)要求也不高。 總體而言,能較低成本有效實現(xiàn)農(nóng)業(yè)智能化。