51单片机的花卉、农田自动浇水灌溉系统开发,Proteus仿真,原理图和C代码
設計要求
1.設計一種基于51單片機的花卉、農田自動澆水灌溉系統;
2.能夠檢測土壤濕度,當低于設定的下限值時,啟動水泵進行澆水灌溉,并提供相應的聲光報警指示;
3.能夠通過按鍵設定濕度上下限值;
4.土壤濕度數據和濕度上下限值通過LCD1602顯示屏顯示;
5.完成系統元器件選型、電路繪制與C程序編寫;
系統概述
自動澆水灌溉系統設計方案,以AT89C51單片機為控制核心,采用模塊化的設計方法。
組成部分為:5V供電模塊、土壤濕度傳感器模塊、ADC0832模數轉換模塊、水泵控制模塊、按鍵輸入模塊、LCD顯示模塊和聲光報警模塊,結構如下。
工作原理為:土壤濕度傳感器測出土壤濕度模擬信號,經AD轉換器將模擬信號轉換成數字信號后傳輸到51單片機,單片機將土壤濕度數據與設定的上下限值進行比較。
當土壤濕度低于下限時,驅動水泵工作進行灌溉澆水,并提供聲光報警。當土壤濕度增加至超過下限時,聲光報警關閉,但水泵會繼續工作,直到土壤濕度繼續增加并超過設定的上限值為止。
用戶可通過按鍵設定濕度上下限值,土壤濕度數據和上下限值數據均通過LCD顯示屏實時顯示。
原理圖
仿真分析
打開Proteus仿真文件,其后綴名為.DSN。雙擊單片機,加載AutoWater.hex文件(位于Keil C程序文件夾內),運行仿真,結果如下。
由圖可知,LCD顯示當前測量的土壤濕度(Humidity)為53%,系統預設的濕度上限(H:High的縮寫)為60%,下限(L:Low的縮寫)為30%,土壤濕度正常,在上下限范圍之內。
此時,濕度低報警燈和蜂鳴器處于關閉狀態,繼電器RL1開關打至下方,水泵處于斷電狀態。
通過調節滑動變阻器RV2(鼠標點擊上下兩個紅色箭頭),改變輸入到ADC0832采樣通道0的電壓大小來模擬土壤濕度的變化。
點擊RV2向下的紅色箭頭,模擬土壤濕度的降低。例如,當土壤濕度從53%降低至23%,低于下限值30%時,紅色LED報警燈點亮,蜂鳴器發聲,繼電器RL1開關打至上方,水泵通電,開始自動澆水,綠色的水泵工作指示燈也被點亮。
點擊RV2向上的紅色箭頭,模擬土壤濕度的增加。
當土壤濕度從23%增加至37%,超過下限時,聲光報警停止工作,但水泵會繼續工作,直到土壤濕度繼續增加到高于上限值為止,過程如下所示。
需要說明的是,水泵停止工作(即:土壤濕度超過上限)后,調節RV2模擬土壤濕度的下降,在下降到上下限范圍內時,水泵不會啟動,只有土壤濕度繼續下降至低于下限時才會啟動。
通過按鍵可以預設濕度的上下限值。
點擊“設定”鍵,進入上下限設置模式,首先是H上限值光標閃爍,此時可以點擊加/減鍵,改變上限值大小。
上限值設置完成后,點擊“設定”鍵,L下限值光標閃爍,同理,點擊加/減鍵,改變下限值大小。
上下限值都設置完成后,再次點擊“設定”鍵,退出上下限設置模式。例如,我們設置濕度上限值H為75%,下限值L為25%,結果如下圖所示。
綜上所述,仿真運行效果滿足設計要求。
部分代碼
void main() //主函數 {Init1602(); //初始化液晶函數init(); //初始化定時器init_eeprom(); //開始初始化保存的數據while(1) //進入循環{for(m=0;m<50;m++) //讀50次AD值sum = adc0832(0)+sum; //讀到的AD值,將讀到的數據累加到sumtemp=sum/50; //跳出上面的for循環后,將累加的總數除以50得到平均值tempsum=0; //平均值計算完成后,將總數清零temp = temp*0.390625; //ADC0832存儲數據為1個字節,濕度顯示范圍為0~100,因此1單位濕度=100/256=0.390625 // if(temp<=full_range) // temp=(temp*100)/full_range; // else // temp=100;if(set==0) //set為0,說明現在不是設置狀態Display_1602(temp,MH,ML);//顯示AD數值和報警值if(temp<ML&&set==0) //濕度值小于報警值{flag=1; //打開報警Relay=0; //繼電器觸點閉合,水泵工作LED_R=0; //紅燈點亮}else if(temp>MH&&set==0) //濕度值大于報警值{flag=0; //關閉報警Relay=1; //繼電器觸點打開,水泵停止LED_R=1; //紅燈熄滅}else{flag=0;LED_R=1; //紅燈熄滅}Key(); //調用按鍵函數} }資料內容
(1)基于51單片機花卉、農田自動澆水灌溉系統設計論文;
(2)Proteus仿真文件;
(3)C程序文件;
(4)原理圖文件;
(5)Visio流程圖文件;
(6)參考資料;
(7)元器件清單;
資料圖
重要的事情說一遍!!!
由于51單片機的花卉、農田自動澆水灌溉系統設計是我的原創設計,獲取全套資料,
請搜索查看我的【公】(眾*)“號”:交院小智
總結
以上是生活随笔為你收集整理的51单片机的花卉、农田自动浇水灌溉系统开发,Proteus仿真,原理图和C代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CANoe自动化测试系统 简介
- 下一篇: LCD工作原理及结构