基于51单片机农业土壤湿度监测及自动灌溉系统设计
基于51單片機農業土壤濕度監測及自動灌溉系統設計
- 1開發環境
- 2 功能說明介紹
- 3 程序
- 3.1工程文件
- 3.2代碼
- 4 資料清單
1開發環境
仿真圖:proteus8.9以上
程序代碼:KEIL4/KEIL5
原理圖/PCB:AD
設計編號:A0002
(代碼+仿真+原理圖+報告+視頻講解)
講解視頻
2 功能說明介紹
基于51單片機土壤濕度檢測及盆栽自動澆花系統設計
由STC89C52單片機+ADC0832+LCD1602液晶+yl-69土壤濕度傳感器+5V抽水電機+按鍵+蜂鳴器構成。
具體功能:
1、液晶第一行顯示實際濕度,液晶第二行顯示濕度上限值與濕度下限值;
2、按鍵說明:減鍵、加鍵、設置鍵。
3、可以通過按鍵設置濕度上下限報警范圍。
4、當濕度低于下限值時,打開水泵進行抽水且聲光報警,當濕度高于上限值時,自動關閉水泵停止抽水。
開始仿真
1.開始仿真,第一行顯示測試到的濕度,第二行SH設置的高閾值,SL設置的低閾值,蜂鳴器不報警,水泵不工作。
2.通過滑動變阻器改變測試到的濕度值
3.按下設定鍵,高閾值閃爍,可以通過按鍵加減改變高閾值
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-V2Y6UKN4-1670140003310)(https://picturebed-1300424929.cos.ap-nanjing.myqcloud.com/typora/202212041533063.png)]
4.濕度低于報警低閾值后,蜂鳴器報警,打開水泵進行抽水且聲光報警,當濕度高于上限值時,自動關閉水泵停止抽水。
3 程序
3.1工程文件
3.2代碼
主函數
/***************主函數*****************/void main(){? init_1602(); //1602液晶初始化? time_init(); //初始化定時器 ? while(1)? {? key(); //獨立按鍵程序? if(key_can < 10)? {? key_with(); //按鍵按下要執行的程序? }? if(flag_300ms == 1)? { ? flag_300ms = 0; ? clock_h_l(); //報警函數 ? if(beep == 1)? {? shidu = Adc0832(0); //讀出濕度? shidu = 99 - shidu * 99 / 255;? }? if(menu_1 == 0)? {? write_sfm2(1,9,shidu); //顯示濕度等級? }? } ? delay_1ms(1);? }}該主程序流流程圖是硬件初始化之后,設定好數值,然后采集濕度樣本,把濕度樣本傳給單片機之后,單片機系統處理該濕度數值,判斷濕度值是不是在設定值范圍內,如果高于濕度值,停止灌溉,假如低于濕度值,返回到濕度采樣,再次判斷濕度值,直到達到濕度值結束。主程序流程圖如圖4-1所示。
4 資料清單
下載方式,見文章最開頭的視頻
總結
以上是生活随笔為你收集整理的基于51单片机农业土壤湿度监测及自动灌溉系统设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nng 概述
- 下一篇: 华云·云场景应用详解 | 场景体验——桌