沈沖沖 王培晶 王 超 任少平
(蚌埠學(xué)院機械與車輛工程學(xué)院,安徽蚌埠 233030)
2005年8月,時任浙江省委書記的習(xí)近平同志在浙江安吉縣余村調(diào)研時,首次提出“綠水青山就是金山銀山”的重要論述。當(dāng)前,荒漠化是世界各地都面臨的重大環(huán)境問題,尤其是在我國西北地區(qū),沙漠覆蓋面積較大,已經(jīng)嚴(yán)重影響到居民的正常生活。為了解決這一問題,很多組織機構(gòu)都在積極嘗試、開展沙漠綠化工作,逐步種植了一些具有固沙作用的植被,起到了一定的作用。但在種植過程中,缺少對環(huán)境、土壤、植被等的數(shù)據(jù)監(jiān)測,或數(shù)據(jù)監(jiān)測的種類較為單一,導(dǎo)致植被的存活率較低,達(dá)不到理想的覆蓋效果。因此,本文設(shè)計了一種防風(fēng)固沙裝置的數(shù)據(jù)采集及顯示系統(tǒng),通過風(fēng)速監(jiān)測模塊、土壤濕度監(jiān)測模塊、環(huán)境溫濕度監(jiān)測模塊實現(xiàn)較為全面的數(shù)據(jù)采集,并提供了水箱水位監(jiān)測功能,可以根據(jù)存水量及時補充植被的用水需求,系統(tǒng)采集的所有數(shù)據(jù)都可以實時顯示在本地屏幕上,便于監(jiān)測查看。
系統(tǒng)總體方案設(shè)計如圖1所示,本系統(tǒng)主要由Arduino UNO系列主板及其擴展板、9 V電源(后期擴展方案可以引入太陽能板及電源管理模塊進(jìn)行供電)、顯示模塊、土壤濕度監(jiān)測模塊、溫濕度模塊、風(fēng)速模塊、水箱水位監(jiān)測模塊、水箱抽水泵組成。
本文使用較為常見且性價比高的Arduino UNO開源電路板作為核心,其具有12個可用數(shù)字量輸入/輸出引腳、5個模擬量輸入引腳,可以配接較多的傳感器模塊及執(zhí)行單元,也便于后期對系統(tǒng)進(jìn)行功能性擴展;其配套的程序軟件Arduino IDE界面較為友好,程序編寫更加方便,可以快速調(diào)用一些經(jīng)過驗證的穩(wěn)定的庫文件。同時,為了減少接線的數(shù)量,采用了UNO擴展板,如圖2所示,其具備多路電源及接地引腳,改善了傳統(tǒng)面包板占位較大且接線煩瑣的問題。
DHT22溫濕度傳感器模塊具有標(biāo)準(zhǔn)單總線接口,相比DHT11擁有更高的精度和更大的量程,該傳感器模塊含有已校準(zhǔn)數(shù)字信號輸出的電容式溫濕度傳感器和熱敏電阻來測量周圍空氣,可靠性及穩(wěn)定性優(yōu)異,其溫度監(jiān)測范圍在-40~80 ℃,可以較好地在嚴(yán)酷的環(huán)境條件下長期工作。模塊具備三個引腳,極大程度上降低了主控電路板的信號引腳占用,在程序編寫過程中,也可以使用穩(wěn)定的庫文件,快速調(diào)用庫函數(shù),實現(xiàn)數(shù)據(jù)采集功能。
本模塊采用的是三杯式機械風(fēng)速傳感器,通過空氣流動產(chǎn)生的風(fēng)力推動測量杯體轉(zhuǎn)動,進(jìn)而將轉(zhuǎn)動力傳遞給傳感器主軸,帶動內(nèi)部小型電機產(chǎn)生電壓模擬信號,其電壓基本和旋轉(zhuǎn)速度成正比,以此獲取環(huán)境風(fēng)速數(shù)據(jù),電壓信號與風(fēng)速的計算公式為:風(fēng)速F(單位為m/s)=0.027×電壓U(單位為mV)。該模塊使用ABS工程塑料殼體,抗腐蝕性較強,可長期在戶外使用。
本次設(shè)計考慮在植被種植處附近集中安設(shè)地下水箱,和供水管道相連接,以實現(xiàn)兩個功能:(1)當(dāng)植被所處的土壤環(huán)境濕度不足時,啟動繼電器,使供水泵工作,將水箱內(nèi)的存水輸送到土壤中,提高土壤的水含量;(2)在水箱中設(shè)有水位監(jiān)測模塊,一旦儲水量低于預(yù)設(shè)值,則提示水位過低,需要打開供水管道進(jìn)行蓄水,蓄水的目的是確保澆灌的水流溫度和環(huán)境溫度基本相符合,在給植被土壤補充水分時不會因為溫差過大而影響植被生長。
屏幕顯示部分,選用的是基于IC通信模式的1.3寸OLED顯示屏模塊,相比SPI模式,該模塊占用引腳少、成本低,單頁顯示內(nèi)容較多,可以方便地實現(xiàn)中英文、數(shù)字、圖形圖像等的清晰、準(zhǔn)確顯示。在本次設(shè)計中,中文字符顯示大小為12×12像素,英文及數(shù)字字符調(diào)用U8glib庫,字體大小設(shè)置為u8g_font_6x13。
系統(tǒng)硬件接線圖如圖3所示,接線實物圖如圖4所示。將擴展板焊接上排針后,對應(yīng)引腳重疊插到Arduino UNO開源電路板上,9 V電源接入主電路板或者擴展板。抽水泵和繼電器連接串入電路中,確保條件不足時繼電器不工作,抽水泵電路斷路。繼電器模塊、溫濕度模塊、水位傳感器、OLED屏幕的供電,接地引腳與擴展板上的多路供電和接地引腳連接,提供5 V供電電壓。風(fēng)速傳感器負(fù)極與擴展板任一GND端口連接,正極接入擴展板A0端口,水位傳感器數(shù)據(jù)端口與擴展板A1端口連接,土壤濕度傳感器數(shù)據(jù)端口與擴展板A2端口相連,獲取模擬量數(shù)據(jù)。環(huán)境溫濕度傳感器DAT端與擴展板數(shù)字I/O端口3連接,繼電器IN端與擴展板數(shù)字I/O端口2連接,OLED屏幕SCL、SDA端口與擴展板SCL、SDA端口相連,用于中英文字符及采集數(shù)據(jù)的傳輸顯示。
系統(tǒng)軟件設(shè)計流程圖如圖5所示,首先開機上電,系統(tǒng)進(jìn)行初始化,完成后,進(jìn)入實時監(jiān)測狀態(tài),系統(tǒng)從溫濕度傳感器(使用數(shù)字引腳輸入)獲取環(huán)境溫濕度數(shù)據(jù),利用風(fēng)速傳感器、水位傳感器、土壤濕度傳感器(使用模擬引腳輸入)獲取實時風(fēng)速、水箱水位及土壤濕度數(shù)據(jù),顯示效果如圖6所示。在程序編寫時,對土壤濕度數(shù)據(jù)進(jìn)行分析,將采集值利用map()函數(shù)轉(zhuǎn)化至0~100范圍,當(dāng)其低于設(shè)定值20時,啟動繼電器開啟抽水泵;同理進(jìn)行水位數(shù)據(jù)的讀取與轉(zhuǎn)換,低于預(yù)設(shè)值時,顯示水位過低,提示增加蓄水量;對于風(fēng)速的采集,主要用于后續(xù)機械防風(fēng)裝置的擴展設(shè)計,風(fēng)速過大,啟動機械裝置將表層土壤保護(hù)起來。
在數(shù)據(jù)的實時采集過程中需要注意,為了防止數(shù)據(jù)的采集顯示頻率超出OLED屏幕的刷新率,導(dǎo)致OLED屏幕顯示不完整,需要對實時采集的數(shù)據(jù)進(jìn)行分組,對一定時間內(nèi)的多組數(shù)據(jù)取平均值,再顯示在屏幕上。
系統(tǒng)連接完成后對軟硬件進(jìn)行功能測試,經(jīng)過實際檢測,本系統(tǒng)的檢測效果良好,能夠?qū)崟r采集傳感器監(jiān)測的數(shù)據(jù)并進(jìn)行穩(wěn)定顯示,設(shè)計使用的傳感器模塊接線方便,占用主電路的引腳較少,性價比較高,便于后期增加附屬功能。本文完成了系統(tǒng)的硬件搭建與選型,對軟件功能設(shè)計進(jìn)行了較為詳細(xì)的過程敘述,提供了清晰的設(shè)計思路與實現(xiàn)路徑,可以為相關(guān)設(shè)計提供有效參考。