董錚 張其林 項東升
[摘要]社會的進步與發(fā)展,帶動單片機技術(shù)惠及至農(nóng)業(yè)生產(chǎn)生活的各個領(lǐng)域,用單片機作為生產(chǎn)生活的輔助幫手也已經(jīng)成為一種趨勢。構(gòu)建了以Arduino控制板為核心的水產(chǎn)養(yǎng)殖監(jiān)測系統(tǒng),該系統(tǒng)可以對實時水產(chǎn)養(yǎng)殖進行監(jiān)測,具有靈敏度高、功耗低等優(yōu)點,滿足了當(dāng)前水產(chǎn)養(yǎng)殖中對水質(zhì)監(jiān)測的需求。
[關(guān)鍵詞]Arduino控制板;水產(chǎn)養(yǎng)殖;監(jiān)測
[中圖分類號]S951;TP277.2 [文獻標(biāo)識碼]A
我國水產(chǎn)養(yǎng)殖業(yè)隨著人們的需求不斷發(fā)展,帶來水產(chǎn)養(yǎng)殖數(shù)量的激增,而由此帶來的高密度養(yǎng)殖方式對魚塘的水質(zhì)造成很大的養(yǎng)殖污染,使水體自身凈化能力變得相對較弱,帶來水體富營養(yǎng)化趨勢比較明顯。原始的水塘監(jiān)控主要靠人為經(jīng)驗操控,效率低下。十三五規(guī)劃提出要靠創(chuàng)新驅(qū)動,發(fā)揮科技的乘數(shù)效應(yīng)來帶動現(xiàn)代化農(nóng)業(yè)技術(shù),促進小康社會的全面建成。因此,發(fā)展先進的農(nóng)業(yè)技術(shù)對我國至關(guān)重要。為了解決現(xiàn)有的農(nóng)業(yè)水產(chǎn)養(yǎng)殖造成的困境,提出基于以Arduino控制板為核心的單片機水情監(jiān)測系統(tǒng)。
1 系統(tǒng)總體硬件設(shè)計
本系統(tǒng)采用以Arduino控制板為控制核心。該控制板是基于開放源代碼的接口板,它包括 12通道數(shù)字 GPIO、6組 PWM通道輸出和 6 ~8 通道的 10 bitADC 輸入通道,它的核心是一片 AVRmega168 的單片機。整個系統(tǒng)主要由各傳感器(水位傳感器)、水泵、太陽能供電模塊組成,其設(shè)計整體方案見圖1。
其中水位傳感器可使用多條導(dǎo)線與水的導(dǎo)通來測量不同深度的水位,可將水位分為4層,分別代表滿水位、75%、25%、0水位,當(dāng)水位到達某一深度,導(dǎo)通導(dǎo)線觸發(fā)高電平給Arduino控制板。濁度傳感器主要利用光學(xué)原理,通過對水的透光率及散射率來判斷水質(zhì)情況。傳感器內(nèi)部是紅外線對管,當(dāng)發(fā)射管發(fā)射一定量光線通過水后,由接收管接收,水越渾濁,通過的光就越少。通過調(diào)節(jié)模塊上電位器大小選擇合適閾值作為警戒水質(zhì),當(dāng)水質(zhì)達到此臨界值,傳感器模塊輸出高電平。控制板通過監(jiān)測該電平變化,即可知道水質(zhì)超標(biāo),聯(lián)動水泵運行。
溫度傳感器采用DS18B20作為溫度監(jiān)測模塊,溫度數(shù)值在上位機上顯示,其通信協(xié)議是wire協(xié)議,通信時只需將數(shù)據(jù)引腳與控制板連接即可。PH計傳感器首先要對其進行校正,數(shù)值比較準(zhǔn)確的使用有利于對水體做精確控制。使用時用標(biāo)準(zhǔn)緩沖溶液校正,環(huán)境溫度以25℃為標(biāo)準(zhǔn)值。同時為保證精度一致性,需要定期校準(zhǔn),以防止有較大誤差。若水塘雜質(zhì)較多,建議6個月做一次重新校準(zhǔn)。采用APC無線傳輸模塊,該模塊是高度集成半雙工微功率無線數(shù)據(jù)傳輸模塊,其嵌入高速單片機和高性能射頻芯片ADF7020-1。采用高效的循環(huán)交織糾檢錯編碼,抗干擾和靈敏度都大大提高,最大可以糾正24bits連續(xù)突發(fā)錯誤,達到業(yè)內(nèi)的領(lǐng)先水平。APC220模塊提供了多個頻道的選擇,可以在線修改串口速率、發(fā)射功率、射頻速率等各種特征參數(shù)。工作時將其插在USB轉(zhuǎn)串口模塊上,再將模塊插入計算機usb口及Arduino控制板上即可進行遠(yuǎn)程數(shù)據(jù)的采集與發(fā)送。為使系統(tǒng)穩(wěn)定,采用9600波特率,工作頻段434Mhz。
從數(shù)據(jù)采集的頻率考慮,系統(tǒng)供電采用太陽能電池為主,市電為輔的供電機制。系統(tǒng)采集數(shù)據(jù)主要從太陽能及蓄電池供電,水泵抽換水采用市電。
2 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計的主要任務(wù)是實現(xiàn)數(shù)據(jù)在arduino控制板中的收集與發(fā)送及水泵的開關(guān)控制(見圖2)。
系統(tǒng)采用基于processing IDE的開發(fā)環(huán)境,直接寫入代碼即可,其典型代碼如下:
int n=analogRead(A3);
int m=analogRead(A2);
int p=analogRead(A0);
int q=analogRead(A1);
if( (n<1) or (q<1))
{ digitalWrite(8, LOW); //水泵A的制動
digitalWrite(4, HIGH); //采用全功率輸出
digitalWrite(15, HIGH); //設(shè)置方向為正向
}
else
{
digitalWrite(8, HIGH); //電機A的制動
digitalWrite(4, HIGH); //采用全功率輸出
digitalWrite(15, HIGH); //設(shè)置方向為正向
}
if ((n>=1) and (m<1) and (p<1) and(q<1))
{
lcd.clear();
lcd.print(“ Deelp:”);
lcd.print(“0%”);
lcd.setCursor(0,1);
lcd.print(“Temperature:”);
lcd.print(temperature);
delay(900);
lcd.clear();
lcd.print(voltage);
lcd.setCursor(0,1);
lcd.print(“PH:”);
delay(900);
if ((n>=1) and (m>=1) and (p>=1) and(q>=1))
{
lcd.clear();
lcd.print(“Deelp:”);
lcd.print(“100%”);
lcd.setCursor(0,1);
lcd.print(“Temperature:”);
lcd.print(temperature);
delay(900);
lcd.clear();
lcd.print(“clean:”);
lcd.print(voltage);
lcd.setCursor(0,1);
lcd.print(“PH:”);
lcd.print(pHValue,2);
delay(800);
}
else
3 結(jié)語
本文基于Arduino控制板設(shè)計一套水產(chǎn)養(yǎng)殖監(jiān)測系統(tǒng)。該系統(tǒng)通過各傳感器獲取水溫、水深及水渾濁度等各項水情指標(biāo),并利用無線數(shù)傳模塊將數(shù)據(jù)及時上傳給上位機,實現(xiàn)數(shù)據(jù)的遠(yuǎn)程監(jiān)測。試驗結(jié)果表明該系統(tǒng)運行穩(wěn)定,可大大減輕相關(guān)人員工作量。
[參考文獻]
[1] 溫宗周,豆朋達,錢佳佳,等.基于ZigBee的智能灌溉系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2016,16(11):38-42.
[2] 董錚.一種新型無線測溫系統(tǒng)設(shè)計[J].江蘇農(nóng)業(yè)科學(xué),2012,40(07):373-374.
[3] 王義樂.無線通信技術(shù)在起重機智能超載限制器中的應(yīng)用[J].計算機與數(shù)字工程,2016,44(01):176-179.