花園農(nóng)田智能自動(dòng)灌溉系統(tǒng)_第1頁(yè)
花園農(nóng)田智能自動(dòng)灌溉系統(tǒng)_第2頁(yè)
花園農(nóng)田智能自動(dòng)灌溉系統(tǒng)_第3頁(yè)
花園農(nóng)田智能自動(dòng)灌溉系統(tǒng)_第4頁(yè)
花園農(nóng)田智能自動(dòng)灌溉系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘要:本花園農(nóng)田智能自動(dòng)灌溉系統(tǒng)以STC90C58RD+為核心控制單元,采用抗干擾能力強(qiáng),精度較高的數(shù)字溫濕度傳感器DHT11測(cè)量溫濕度數(shù)據(jù)控制灌溉。并且通過(guò)多孔管實(shí)現(xiàn)由土壤濕度檢測(cè)到空氣濕度檢測(cè)的轉(zhuǎn)換,并且能較準(zhǔn)確的實(shí)現(xiàn)濕度的測(cè)量。系統(tǒng)通過(guò)1602液晶把溫度、濕度等實(shí)時(shí)信息反饋給使用者。使用者也可通過(guò)鍵盤實(shí)現(xiàn)手動(dòng)給水。關(guān)鍵詞:智能灌溉 溫濕度傳感器 Abstract: The Intelligent automatic irrigation system of the garden and farmland is based on STC90C58RD+ micro control unit

2、. By using the anti-interference ability, high accuracy digital temperature humility sensor DHT11, this irrigation system can get the data of temperature and humility, and control the irrigation. By using the porous pipe, the system can convert the measurement of soil humility to the measurement of

3、the air humility. Users can get the information of temperature, humidity through 1602 screen. Users can also control the irrigation through keyboard manually. Keywords: Intelligent irrigation temperature humility sensor1前言隨著經(jīng)濟(jì)的發(fā)展,智能化漸漸步入普通百姓的家?,F(xiàn)在市場(chǎng)上的各類智能化產(chǎn)品可謂層出不窮,最常見(jiàn)的有智能電飯煲,智能電冰箱和智能洗衣機(jī)等。所謂的智能化,其目的在于

4、增加人與機(jī)器的互動(dòng),降低功耗,提升效率,盡量達(dá)到以人為本的目的。而本小組的作品“花園綠地智能自動(dòng)灌溉系統(tǒng)”,就是遵循上述目的設(shè)計(jì)的。對(duì)于現(xiàn)代城市大量的綠地來(lái)說(shuō),植物的灌溉花費(fèi)大量人力物力,而且并不一定能夠依據(jù)植物的需求即使提供水分。夏日的驕陽(yáng),隨時(shí)都有可能對(duì)植物的生長(zhǎng)造成傷害。有鑒于此,本小組設(shè)計(jì)了花園綠地智能自動(dòng)灌溉系統(tǒng),它能夠?qū)貪穸葘?shí)時(shí)監(jiān)控,自動(dòng)灌溉并且可以隨時(shí)切換手動(dòng)自動(dòng)灌溉。對(duì)植物的灌溉根據(jù)土壤濕度而定,當(dāng)土壤濕度低于閾值時(shí),它能自動(dòng)灌溉。有了它,可以節(jié)約大量人力物力,并且起到節(jié)約水資源的作用。2 總體方案設(shè)計(jì)及選擇濕度測(cè)量溫度測(cè)量2.1總體系統(tǒng)設(shè)計(jì)LCD顯示鍵盤輸入MCU穩(wěn)壓電源開(kāi)

5、關(guān)模塊總體系統(tǒng)設(shè)計(jì)如上圖所示,以單片機(jī)為核心,通過(guò)溫濕度傳感器來(lái)判斷獲取溫濕度數(shù)據(jù),進(jìn)而控制開(kāi)關(guān)模塊的工作。由于功耗較低使用電池模塊為整個(gè)系統(tǒng)提供穩(wěn)定的低壓直流電。人機(jī)交互由鍵盤和LCD來(lái)完成。通過(guò)鍵盤,用戶能執(zhí)行基本的控制,而LCD能把溫度,濕度,工作狀態(tài)等基本信息反饋給用戶。2.2微控制器方案方案一:高性能單片機(jī)ATmega16方案二:增強(qiáng)型51單片機(jī)STC89C58RD+性能要求:(1)較強(qiáng)的抗干擾能力(2)低功耗 (3)較高處理速度(4)成本合理。方案比較:兩款單片機(jī)均能較好地實(shí)行上述要求但采用51內(nèi)核的STC89C58RD+具有比ATmega16更穩(wěn)定的市場(chǎng)來(lái)源,更低的成本(前者的約

6、為后者二分之一)而且ROM、RAM容量更大。最終決定采用STC89C58RD+。2.3濕度檢測(cè)方案方案一:土壤濕度傳感器方案二:多孔管轉(zhuǎn)化測(cè)量土壤濕度方案比較:土壤濕度傳感器可以精確地測(cè)量土壤的濕度值,但是價(jià)格較高在7001000元不適于民用。通過(guò)多孔管將土壤濕度轉(zhuǎn)換為空氣濕度進(jìn)行測(cè)量,實(shí)現(xiàn)難度較低價(jià)格便宜,但是精度較低需要重新確定土壤濕度和空氣濕度的對(duì)應(yīng)關(guān)系。通過(guò)比較發(fā)現(xiàn),民用不需要過(guò)高的精確度,而且空氣濕度傳感器有數(shù)字型可以直接測(cè)得數(shù)字值易于MCU使用。最終我們決定使用方案二。 3 單元模塊設(shè)計(jì)3.1單片機(jī)最小系統(tǒng)設(shè)計(jì)本系統(tǒng)以STC89C58RD+為核心控制單元其管腳與一般的51兼容,其主

7、要特性如下:(1) 增強(qiáng)型51內(nèi)核,一個(gè)機(jī)器周期執(zhí)行一條指令。(2) 工作電壓5.5V3.3V(3) 工作頻率范圍035MHz(4) 60K ROM,1024 RAM(5) 32個(gè)通用IO口,可推輸出,電流達(dá)20ma(6) 支持ISP,IAP串口編程方式(7) 集成EPROOM,看門狗,內(nèi)部RC(8) 上電自動(dòng)復(fù)位,掉電檢測(cè)(9) 5路中斷,支持上升沿觸發(fā)(10) 2路8位PWM其引腳如上圖所示,RXD,TXD為串口收發(fā)端,INT0,INT1為外部觸發(fā),WR,RD分別為外部寫選通,外部讀選通。P0,P1,P2,P3為輸入輸出接口??稍O(shè)定為四種模式:準(zhǔn)雙向口,推免,高阻,開(kāi)漏。P1口第二功能為A

8、D口和ISP下載口P0口自帶上拉電阻。XTAL2XTAL1為晶振引腳。最小系統(tǒng)電路:C3與R1構(gòu)成上電復(fù)位電路,XTAL1,XTAL2與晶振相連,頻率為12MHz,C1,C2為起振電容EA接正極,以保證對(duì)內(nèi)部ROM編程。電源電壓為直流5V。晶振頻率為11.0562MHz。3.2DHT11濕度傳感器DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。每個(gè)DHT11傳感器都在濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過(guò)程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串

9、行口,較小的體積、較低的功耗,信號(hào)傳輸距離可達(dá)20米。DHT11的供電電壓為35.5V。傳感器上電后,要等待1s 以越過(guò)不穩(wěn)定狀態(tài)在此期間無(wú)需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個(gè)100nF 的電容,用以去耦濾波。由于DHT11的溫度測(cè)量只能精確到個(gè)位,而實(shí)際浴室溫度變化比較小,很難通過(guò)DHT11的變化控制PWM的占空比,故本設(shè)計(jì)只采用DHT11的濕度傳感器,而溫度的測(cè)量則交由DS18B20實(shí)現(xiàn)。3.3模塊連接圖1602屏幕STC89C58RD+ 數(shù)字信號(hào) DHT11溫濕度傳感器鍵盤 脈沖信號(hào) 脈沖信號(hào)電源模塊 注:DHT11溫濕度檢測(cè)模塊可以多個(gè)并行使用,測(cè)量多點(diǎn)溫濕度值,并

10、且由MCU同時(shí)控制決定灌溉。仿真圖模塊初始化3.4程序主要流程圖 傳感器檢測(cè)鍵盤檢測(cè)LCD顯示是否手動(dòng) Y灌溉 N N 檢測(cè)是否達(dá)到灌溉閾值 延時(shí) N灌溉 Y 是否達(dá)到停止閾值延時(shí) N停止灌溉 Y4主程序設(shè)計(jì)#include #include /typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 無(wú)符號(hào)8位整型變量 */typedef signed char S8; /* defined for signed 8-bits integer variable 有符號(hào)8位整型變量 */typedef u

11、nsigned int U16; /* defined for unsigned 16-bits integer variable 無(wú)符號(hào)16位整型變量 */typedef signed int S16; /* defined for signed 16-bits integer variable 有符號(hào)16位整型變量 */typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 無(wú)符號(hào)32位整型變量 */typedef signed long S32; /* defined for signed 3

12、2-bits integer variable 有符號(hào)32位整型變量 */typedef float F32; /* single precision floating point variable (32bits) 單精度浮點(diǎn)數(shù)(32位長(zhǎng)度) */typedef double F64; /* double precision floating point variable (64bits) 雙精度浮點(diǎn)數(shù)(64位長(zhǎng)度) */#define uchar unsigned char#define uint unsigned int#define Data_0_time 4sbit RS = P15

13、;sbit RW = P16;sbit E = P17;uchar code table1=HUMI;uchar code table2=TEMP;/*void delay1(uint z)/uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*void read_busy()/1.1 RS = 0;RW = 1;E = 1;while(P2&0x80);/*void write_com(uchar com)/1.2P2 = com;RS = 0;RW = 0;E = 1;/?delay1(5);E = 0;/*uchar read_dat(void)/1.3uc

14、har rdat;RS = 1;RW = 1;E = 1;rdat = P2;delay1(5);return(rdat);/*void write_dat(uchar dat)/1.4P2 = dat;RS = 1;RW = 0;E = 1;delay1(5);E = 0;/*void init()/delay1(15); /5.1write_com(0x38);/5.2delay1(5); /5.3write_com(0x38);/5.4delay1(5); /5.5write_com(0x38);/5.6write_com(0x38);/5.8write_com(0x08);/5.9wr

15、ite_com(0x01);/5.10write_com(0x06);/5.11write_com(0x0c);/5.12/*void display(uchar *p)/write stringwhile(*p!=0)write_dat(*p);p+;read_busy();/*/-/-IO口定義區(qū)-/-/sbit P1_0 = P10 ;/-/-定義區(qū)-/-/U8 U8FLAG,k,humih,humil,temph,templ,temp,humi;U8 U8count,U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8ch

16、eckdata;U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8 U8comdata;U8 outdata5; /定義發(fā)送的字節(jié)數(shù) U8 indata5;U8 count, count_r=0;U8 str5=RS232;U16 U16temp1,U16temp2;SendData(U8 *a)outdata0 = a0; outdata1 = a1;outdata2 = a2;outdata3 = a3;outdata4 = a4;count = 1;SBUF=ou

17、tdata0; void Delay(U16 j) U8 i; for(;j0;j-) for(i=0;i27;i+); void Delay_10us(void) U8 i; i-; i-; i-; i-; i-; i-; void COM(void) U8 i; for(i=0;i8;i+) U8FLAG=2; while(!P1_0)&U8FLAG+);Delay_10us(); Delay_10us();Delay_10us(); U8temp=0; if(P1_0)U8temp=1; U8FLAG=2; while(P1_0)&U8FLAG+); /超時(shí)則跳出for循環(huán) if(U8F

18、LAG=1)break; /判斷數(shù)據(jù)位是0還是1 / 如果高電平高過(guò)預(yù)定0高電平值則數(shù)據(jù)位為 1 U8comdata=1; U8comdata|=U8temp; /0 /rof /-/-濕度讀取子程序 -/-/-以下變量均為全局變量-/-溫度高8位= U8T_data_H-/-溫度低8位= U8T_data_L-/-濕度高8位= U8RH_data_H-/-濕度低8位= U8RH_data_L-/-校驗(yàn) 8位 = U8checkdata-/-調(diào)用相關(guān)子程序如下-/- Delay();, Delay_10us();,COM(); /-void RH(void) /主機(jī)拉低18ms P1_0=0;

19、 Delay(180); P1_0=1; /總線由上拉電阻拉高 主機(jī)延時(shí)20us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); /主機(jī)設(shè)為輸入 判斷從機(jī)響應(yīng)信號(hào) P1_0=1; /判斷從機(jī)是否有低電平響應(yīng)信號(hào) 如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行 if(!P1_0) /T ! U8FLAG=2; /判斷從機(jī)是否發(fā)出 80us 的低電平響應(yīng)信號(hào)是否結(jié)束 while(!P1_0)&U8FLAG+); U8FLAG=2; /判斷從機(jī)是否發(fā)出 80us 的高電平,如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài) while(P1_0)&U8FLAG+); /數(shù)據(jù)接收

20、狀態(tài) COM(); U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8comdata; COM(); U8checkdata_temp=U8comdata; P1_0=1; /數(shù)據(jù)校驗(yàn) U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp=U8checkdata_temp) U8RH_d

21、ata_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; /fi /fi/-/main()功能描述: AT89C51 11.0592MHz 串口發(fā) /送溫濕度數(shù)據(jù),波特率 9600 /-void main()U8 i,j;/uchar str6=RS232;/* 系統(tǒng)初始化 */TMOD = 0x20; /定時(shí)器T1使用工作方式2TH1 = 253; / 設(shè)置初值TL1 =

22、253;TR1 = 1; / 開(kāi)始計(jì)時(shí)SCON = 0x50; /工作方式1,波特率9600bps,允許接收 ES = 1;EA = 1; / 打開(kāi)所以中斷 TI = 0;RI = 0;init();write_com(0x80+0x03);display(table1);write_com(0x80+0x43);display(table2);SendData(str) ; /發(fā)送到串口 Delay(1); /延時(shí)100US(12M晶振)while(1) /- /調(diào)用溫濕度讀取子程序 RH(); /串口顯示程序 /- str0=U8RH_data_H; str1=U8RH_data_L; str2=U8T_data_H; str3=U8T_data_L; str4=U8checkdata; SendData(str) ; /發(fā)送到串口 /讀取模塊數(shù)據(jù)周期不易小于 2S humi=U8RH_data_H; temp=U8T_data_H; humih=humi/10+0x30; humil=humi%10+0x30; temph=temp/10+0x30; templ=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論