王政
摘 要: 智能澆花系統(tǒng)是一套基于微處理器的智能控制裝置。根據(jù)不同盆栽植物對(duì)土壤環(huán)境的不同需求,通過智能檢測(cè)土壤溫度及濕度,實(shí)時(shí)調(diào)整控制盆栽植物的環(huán)境參數(shù),滿足植物生長的最佳環(huán)境,達(dá)到無人值守的盆栽花卉植物的智能養(yǎng)殖目的。
關(guān)鍵詞: 單片機(jī);智能花卉養(yǎng)殖;溫度控制;濕度控制
1 前言
隨著現(xiàn)代社會(huì)時(shí)代的發(fā)展,人們對(duì)綠色植物的喜愛和種植越來越多,越來越多的人選擇在家里或者辦公室里種植一些花卉植物。但是在生活中人們總是會(huì)有無暇顧及的時(shí)候,這時(shí)候種植的盆栽就會(huì)因各種原因而枯萎。因此,我想通過設(shè)計(jì)一種集盆花土壤濕度檢測(cè),自動(dòng)澆水以及蓄水箱自動(dòng)供水于一體的盆花自動(dòng)澆水系統(tǒng)。讓盆花在人們無暇照顧時(shí)也能得到及時(shí)的澆灌。
智能花卉養(yǎng)殖控制系統(tǒng)以不同花卉實(shí)際栽培經(jīng)驗(yàn)的專家數(shù)據(jù)庫為基準(zhǔn),結(jié)合不同花卉的栽培要求和氣候需求。通過對(duì)花卉生長的主要環(huán)境參數(shù)——溫度、濕度、土壤濕度等的綜合調(diào)控,為花卉生長發(fā)育提供最佳的生態(tài)環(huán)境條件。
微控制器對(duì)環(huán)境因子的各個(gè)傳感器輸出信號(hào)進(jìn)行采集,并與基準(zhǔn)數(shù)據(jù)作比較和分析。然后,結(jié)合閉環(huán)反饋控制原理控制外圍環(huán)境參數(shù)調(diào)節(jié)設(shè)備來調(diào)整外界環(huán)境參數(shù),最終使得外界環(huán)境處于設(shè)定的范圍內(nèi)。本系統(tǒng)結(jié)合專家數(shù)據(jù)庫系統(tǒng),通過修改專家?guī)煜到y(tǒng)中的相應(yīng)數(shù)據(jù),保證本系統(tǒng)可以適合不同花卉品種的栽培要求。
系統(tǒng)工作中,經(jīng)過溫度、濕度及傳感器把被測(cè)對(duì)象的溫度、濕度轉(zhuǎn)換成電壓信號(hào)后送入單片機(jī)中,與給定的所要控制的溫度、濕度值進(jìn)行比較,根據(jù)單片機(jī) AT89S52中設(shè)置的參數(shù),輸出相應(yīng)溫度、濕度值對(duì)應(yīng)的被控對(duì)象電機(jī)和電磁閥的值,帶動(dòng)動(dòng)力系統(tǒng)作相應(yīng)的運(yùn)動(dòng),不斷減少與單片機(jī)中設(shè)置值的差值,溫度過高時(shí),單片機(jī)控制直流電機(jī)驅(qū)動(dòng)電風(fēng)扇,進(jìn)行自然散熱。當(dāng)土壤濕度過低時(shí),單片機(jī)通過控制電磁閥使其打開進(jìn)行澆水,澆水后濕度適中時(shí)關(guān)閉電磁閥。
為了對(duì)不同植物的生長條件進(jìn)行設(shè)定所以本系統(tǒng)采用了按鍵的方式來對(duì)參數(shù)值進(jìn)行設(shè)定,共4個(gè)按鍵,兩個(gè)數(shù)值加按鍵,兩個(gè)數(shù)值減按鍵。分別對(duì)應(yīng)的是溫度數(shù)值的設(shè)定和土壤濕度值的設(shè)定。
2 控制系統(tǒng)硬件設(shè)計(jì)
2.1溫度檢測(cè)模塊
溫度檢測(cè)采用通用的DS18B20溫度傳感器,可通過簡單的編程實(shí)現(xiàn)9~12位的數(shù)字量讀數(shù)方式??梢苑謩e在93.75ms和750m內(nèi)完成9位和12的數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。
2.2濕度檢測(cè)模塊
土壤濕度是采用市面上運(yùn)用廣泛的Arduino土壤濕度傳感器。當(dāng)濕度傳感器懸空沒有插入土壤時(shí),通過LCD顯示器,顯示0ff狀態(tài),當(dāng)傳感器正常工作時(shí),對(duì)土壤濕度檢測(cè),將濕度值傳入單片機(jī),如果濕度值小于設(shè)定值,那么啟動(dòng)水泵對(duì)植物進(jìn)行澆水,當(dāng)濕度值等于設(shè)定值的時(shí)候停止?jié)菜?/p>
2.3顯示模塊
顯示模塊主要采用LCD顯示。LCD顯示需要設(shè)定的溫度、濕度和土壤濕度傳感器的工作狀態(tài),讓使用人員更加直觀的看到植物的生長條件。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 主程序設(shè)計(jì)
當(dāng)單片機(jī)上電后,系統(tǒng)首先對(duì)LCD顯示模塊,溫度傳感器和濕度傳感器進(jìn)行初始化設(shè)置。然后對(duì)用來設(shè)置標(biāo)準(zhǔn)值的按鍵進(jìn)行掃描檢測(cè),如果檢測(cè)到有按鍵按下,那么就將按鍵相應(yīng)對(duì)應(yīng)的標(biāo)準(zhǔn)值進(jìn)行加減操作。操作完成后執(zhí)行下一步對(duì)植物溫度及土壤濕度的檢測(cè)。當(dāng)檢測(cè)到空氣中的溫度大于了設(shè)定值值上限或者小于設(shè)定值下限,那么就執(zhí)行相應(yīng)的操作。如果植物的土壤濕度小于了設(shè)定值下限或者大于了設(shè)定值上限那么就執(zhí)行相應(yīng)的控制操作,然后再返回對(duì)鍵盤進(jìn)行掃描。系統(tǒng)主程序流程如圖1所示。
3.2溫度檢測(cè)程序設(shè)計(jì)
植物生長環(huán)境溫度經(jīng)過溫度傳感器后,將采集到的數(shù)據(jù)傳送給單片機(jī),單片機(jī)讀取了溫度數(shù)據(jù)后與事先設(shè)定的溫度值的上下限進(jìn)行比較,如果是溫度值大于了設(shè)定的上限值時(shí),打開風(fēng)扇對(duì)植物進(jìn)行降溫操作;如果是溫度值小于設(shè)定的下限值時(shí),起動(dòng)圍繞在花盆周圍的加熱電阻絲進(jìn)行加熱,從而提高植物生長的環(huán)境溫度。部分程序代碼如下:
uint16 R_Temp()
{ uint16 tem;
uint8 tl,th;
Start_18B20();
W_18B20(0xCC); //跳過讀序號(hào)列號(hào)的操作
W_18B20(0x44); //啟動(dòng)溫度轉(zhuǎn)換
delay(20);
Start_18B20();
W_18B20(0xCC);
W_18B20(0xBE); //讀取溫度寄存器
tl=R_18B20(); //讀取低位
th=R_18B20(); //讀取高位
tem=th <<8;
tem= tem+tl;
return(tem);
3.3濕度檢測(cè)程序設(shè)計(jì)
植物生長環(huán)境濕度經(jīng)過濕度傳感器后,將采集到的數(shù)據(jù)傳送給單片機(jī),單片機(jī)讀取了溫度數(shù)據(jù)后與事先設(shè)定的濕度范圍進(jìn)行比較,如果是土壤濕度值大于了設(shè)定的上限值時(shí),打開風(fēng)扇對(duì)植物進(jìn)行降溫操作;如果是濕度值小于設(shè)定的下限值時(shí),啟用噴淋系統(tǒng)增加土壤濕度,從而改善植物的生長環(huán)境。
部分程序代碼如下:
DAT1 = (dat*5.0)/1024 ;
dat2 = DAT1*10;
if(dat2>48) //沒擦下土顯示錯(cuò)誤
{ LcdShowStr(3,1,buf);
shuibeng = 0; }
else
{ dat2 = (dat2-6)*3;
dat2 = 120 - dat2; //電壓 越小濕度高
if(dat2<=shidu) //濕度控制
shuibeng = 1; }
else
{ shuibeng = 0;
AD_3_buf[0] = dat2/100%10+'0';
AD_3_buf[1] = dat2/10%10+'0';
AD_3_buf[2] = dat2%10+'0';
LcdAreaClear(3,1,6);
LcdShowStr(3,1,AD_3_buf);
}
}
4 結(jié)論
本系統(tǒng)在澆水前都會(huì)對(duì)植物的土壤濕度進(jìn)行檢測(cè),只有到達(dá)了植物不適的生長土壤濕度才會(huì)對(duì)植物進(jìn)行澆水。為了使該系統(tǒng)滿足于不同的植物不同的植物。該系統(tǒng)采用了四個(gè)外部按鍵可以對(duì)不同植物的不同生長條件進(jìn)行修改。該系統(tǒng)為了能夠清晰的看到用戶的設(shè)定值,以防止設(shè)定不準(zhǔn)確而導(dǎo)致植物枯萎。顯示裝置主要用來顯示設(shè)定值和當(dāng)前的傳感器的測(cè)量值。
參考文獻(xiàn)
[1]張海龍. 基于DS18B20的單片機(jī)測(cè)溫系統(tǒng)[J].電子制作,2016(21).
[2]馮媛碩. 基于單片機(jī)的溫濕度檢測(cè)控制系統(tǒng)設(shè)計(jì)[J]. 山東理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2014(1).
[3]劉川. 智能自動(dòng)澆花系統(tǒng)的控制設(shè)計(jì)研究 [J]. 科技視界,2015(18).
[4] 楊杜鵑.基于單片機(jī)的自動(dòng)澆花系統(tǒng)設(shè)計(jì)[J].科技致富向?qū)? 2014(12).