基于51单片机的智能浇花系统(可做毕设)

article/2025/9/20 1:59:43

基于51单片机的智能浇花系统(可做毕设)

  • 一、系统介绍
  • 二、仿真展示
  • 三、实物展示
  • 四、仿真过程
  • 五、代码
    • 1、ADC0832
    • 2、LCD1602
    • 3、按键
    • 4、水泵
    • 5、温湿度
    • 6、定时器
    • 7、main.c
  • 五、完整工程

对LCD1602原理和操作掌握不好的可以看这篇:
快速掌握——LCD1602液晶显示(多组实验,附带源程序)
按键可以参考这篇:
按键(独立按键、矩阵键盘)——附带程序
定时器可以参考这两篇
1、基于51的数码管电子时钟(显示时、分、秒)——定时器
2、基于51单片机的数码管时钟设计——按键修改时间

一、系统介绍

本系统主要由STC89C52单片机最小系统、土壤湿度传感器、温湿度检测传感器DHT11、ADC0832 芯片、LCD1602显示电路、水泵控制电路、按键设置电路以及电源电路构成。

工作过程是:
温湿度传感器DHT11将采集到的温湿度信号直接由数据接口传到单片机,单片机处理后再LCD1602上显示出来;传感器采集到湿度信号经ADC0832 A/D转换后传给单片机,经单片机处理后,在LCD1602上显示出湿度的具体数值,同时单片机将接收到的湿度信号与湿度的上下限比较,判断是否浇水。通过按键可以设置湿度的上下限,并在LCD上显示。

硬件材料

材料数量
STC89C52RC1
电阻若干
土壤湿度传感器(5V)1
DHT11温湿度模块1
LCD16021
潜水泵(5V)1
电源模块(5V输出)1
锂电池(7.4V)1
按键开关4
1路继电器(5V)1
三极管(S8550)1
ADC08321

单片机最小电路是我自己焊接的,材料和电路百度上就有,不想麻烦的可以直接买最小电路板,其他都是模块,直接在某宝买就行

系统结构框图

二、仿真展示

LCD显示内容介绍:
R:环境湿度
T:环境温度
H:土壤最高湿度值
L:土壤最低湿度值
S:土壤当前湿度值
>>>:手动浇水模式(不显示>>>为自动模式)

在这里插入图片描述

三、实物展示

在这里插入图片描述

四、仿真过程

在仿真的过程中用滑动变阻器代替湿度传感器。如下图,是启动仿真刚开始的情况。LCD1602上显示的湿度上限是60,湿度下限是30,当前湿度是62,超过湿度上限,所以LED灯没有被点亮,电动机也没有启动。
在这里插入图片描述

当调节滑动变阻器,使得阻值增大,即实际的湿度很小,如下图,此时在LCD1602上显示的湿度是26,低于湿度的下限,因此LED被点亮,电动机启动。
在这里插入图片描述
按键的调试。按键K1是菜单键,当按下第一次时,是对湿度的上限进行设置,K2是对湿度进行加,K3是对湿度进行减,如下图。
在这里插入图片描述

当K1被按下第二次时,是对湿度的下限进行设置,K2是对湿度进行加,K3是对湿度进行减,如下图。
在这里插入图片描述
当K1倍按下第三次时,是启动手动浇水模式,LCD的右下角会显示“>>>”,如下图,K2是启动,K3是停止。
在这里插入图片描述

五、代码

1、ADC0832

///ADC0832///uchar adc0832() {uchar i,temp,temp1,num;CLK=0; DO=1;CS=0; CLK=1;  CLK=0; DO=1;      CLK=1;  CLK=0; DO=0;      CLK=1;  CLK=0; DO=1;for(i=0;i<8;i++){CLK=1;CLK=0;temp<<=1;if(DO)temp++;}for(i=0;i<8;i++){temp1>>=1;if(DO)temp1+=0x80;CLK=1;CLK=0;							 }CLK=1;DO=1;CS=1;if(temp==temp1) num=100-temp*99/255;    	//adat=100-adat*99/255;return num; 
}

2、LCD1602

/LCD1602void Read_Busy(){                 //判忙unsigned char sta;      P0 = 0xff;lcd_rs= 0;lcd_rw = 1;do{lcd_e= 1;sta = P0;lcd_e = 0;   }while(sta & 0x80);
}void Lcd1602_Write_Cmd(uchar cmd){     //写指令Read_Busy();lcd_rs = 0;lcd_rw = 0;P0= cmd;lcd_e = 1;lcd_e = 0;    
}void Lcd1602_Write_Data(uchar dat){  //写数据Read_Busy();lcd_rs = 1;lcd_rw = 0;P0 = dat;lcd_e = 1;lcd_e = 0;
}void init_lcd(){uchar code D[]="H:  ";uchar code T[]="L:  ";uchar code S[]="S:  ";uchar code R[]="R:  %";uchar code F[]="T:  ";.....
}

3、按键

4、水泵

5、温湿度

6、定时器

void t0()interrupt 1{uchar count;TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count>0&&count<=60){Wat=0;}if(count>60&&count<=120){if(count==120)count=0;Wat=1;}		
}

7、main.c

主函数///
void main() {TMOD=0x01;TH0=(65536-50000)/256;	TL0=(65536-50000)%256;EA=1;                  ET0=1;                
//	TR0=1;                k1n=0;init_lcd();while(1){key0();if(k1n==0){adat=adc0832();water();disp0();		}if(k1n!=0){key1();}}
}

五、完整工程

基于51单片机智能浇花系统(可做毕设)(内含传感器资料和示例代码).zip

对于仿真过程中出现的各种问题,如仿真失败、LCD显示信息出错等,可能是由于Proteus版本不一致、Proteus参数设置不一致等多种因素造成,无法一一回答,望见谅!


http://chatgpt.dhexx.cn/article/KAjZkXBF.shtml

相关文章

毕设--自动浇花系统的设计

目录 毕设--自动浇花系统的设计1、作品实物图2、PCB原理图3、元器件清单4、土壤温湿度采集与显示5、硬件电路设计6、程序源码7、资料获取 毕设–自动浇花系统的设计 注&#xff1a;本毕设资源可在微信公众号&#xff1a;“Kevin的学习站” 中获取&#xff01; 1、作品实物图 2、…

单片机毕业设计 自动浇花灌溉系统设计

文章目录 1 简介2 主要器件3 实现效果4 设计原理5 关键代码 1 简介 Hi&#xff0c;大家好&#xff0c;今天向大家介绍一个学长做的单片机项目 基于单片机的自动浇花灌溉系统设计 大家可用于 课程设计 或 毕业设计 选题指导&#xff0c;项目分享&#xff1a; https://gitee…

基于android智能浇花装置,一种基于WiFi通讯远程控制的智能浇花装置的制作方法...

本实用新型涉及自动浇水装置技术领域&#xff0c;具体涉及一种基于WiFi 通讯远程控制的智能浇花装置。 背景技术&#xff1a; 花卉作为一种极具观赏性的植物&#xff0c;在室内和室外广泛种植。上班族工作紧张&#xff0c;空闲时间较少&#xff0c;长期不在家时需要花草被照料。…

基于51单片机的自动浇花系统

目录 一、项目需求 二、仿真 三、程序 四、资料清单 资料下载地址&#xff1a;基于51单片机的自动浇花系统 一、项目需求 1、自动检测土壤湿度、温度、光照强度&#xff1b; 2、土壤湿度过低驱动水泵进行浇花&#xff1b; 3、LCD1602显示当前土壤湿度、温度、光照强度…

【IoT开发】基于机智云物联网的智能浇花教程

摘要:随着近年来物联网技术的发展,相关的技术已经广泛应用于人们的生产和生活中。文章针对长期无人在家时花卉植物的浇水问题,设计了一套基于物联网的智能浇花系统。系统采用STM32与51增强型单片机作为控制器,esp8266物联网模块作为通信设备,底层采用MQTT协议,连接到物联网云平…

条件概率的链式法则

条件概率 条件概率是指事件A在事件B发生的条件下发生的概率。条件概率表示为&#xff1a;P&#xff08;A|B&#xff09;&#xff0c;读作“A在B发生的条件下发生的概率”。若只有两个事件A&#xff0c;B&#xff0c;那么&#xff0c; xx 事件发生时 yy 事件发生的概率: P(yy|x…

链式法则总结

链式法则&#xff08;chain rule&#xff09;微积分中求导法则&#xff0c;用于求复合函数的导数&#xff1b; 链式法则应用广泛&#xff0c;比如神经网络中的反向传播算法就是已链式法则为基础演变的&#xff1b;接下来先说说链式法则的概念然后通过链式法则的两种形式学习链式…

【深度学习数学基础之线性代数】研究使用链式法则进行反向传播的求导算法

链式法则 简单的说链式法则就是原本y对x求偏导&#xff0c;但是由于过程较为复杂&#xff0c;我们需要将函数进行拆分&#xff0c;通过链式进行分别求导&#xff0c;这样会使整个计算更为简单。 假设f k ( a b c ) f k(a bc)fk(abc) 通俗来说&#xff0c;链式法则表明&a…

微积分-链式法则

来看复合函数如何求导&#xff1a; 现实中要解决的问题&#xff0c;大多可以总结为这三种函数的组合 减法可以看做是加上某个函数的-1倍 除法可以转化为乘法 先来看加法 两个函数的和的导数&#xff0c;就是他们导数的和 两个函数sin&#xff08;x&#xff09;和 x 2 x…

求导——链式法则

参考文献&#xff1a;https://www.math.hmc.edu/calculus/tutorials/multichainrule/

【深入浅出】条件概率的链式法则:定义、公式与应用

前言 在概率论的研究中&#xff0c;条件概率是一种非常重要的概念。当多个随机事件发生时&#xff0c;我们有时需要考虑它们同时发生的概率。条件概率的链式法则就是一种用于计算多个随机事件同时发生的概率的方法。本文将会介绍条件概率的链式法则的定义、公式以及应用。 定…

深度学习基础6(微分,偏导,梯度,链式法则)

微积分 如下图所示&#xff0c;内接多边形的等长边越多&#xff0c;就越接近圆。 这个过程也被称为逼近法&#xff08;method of exhaustion&#xff09;。 事实上&#xff0c;逼近法就是**积分&#xff08;integral calculus&#xff09;**的起源 微积分的另一支&#xff0c…

浅谈神经网络之链式法则与反向传播算法

反向传播是训练神经网络最重要的算法&#xff0c;可以这么说&#xff0c;没有反向传播算法就没有深度学习的今天。但是反向传播算法涉及一大堆数据公式概念。所以我们了解导数计算过程以及要介绍的新的复合函数多层求导计算过程。 链式法则 简单的说链式法则就是原本y对x求偏…

链式法则-梯度更新公式推导(手写笔记)

虽然以前学过导数、偏导、梯度之类的相关知识&#xff0c;但时间久远导致总感觉晕晕乎乎的&#xff0c;于是自己推导一下具有一个隐藏层的神经网络的梯度反向传播公式&#xff0c;希望对大家有帮助。 笔记中指出了为什么会存在梯度消失以及梯度爆炸现象。 梯度消失 主要是由…

微积分拾遗——链式法则

链式法则&#xff08;chain rule&#xff09;微积分中求导法则&#xff0c;用于求复合函数的导数&#xff1b; 链式法则应用广泛&#xff0c;比如神经网络中的反向传播算法就是已链式法则为基础演变的&#xff1b;接下来先说说链式法则的概念然后通过链式法则的两种形式学习链式…

概率论 中的 链式法则

2个事件同时发生的概率&#xff1a; P(a, b) P(a | b) * P(b) 其中&#xff1a;P(a, b)表示 a和b事件同时发生的概率&#xff0c; P(a | b)是一个条件概率&#xff0c;表示在b事件发生的条件下&#xff0c;a发生的概率 3个事件的概率链式调用&#xff1a; P(a, b, c) P(a …

链式法则---微积分链式法则和概率链式法则

本篇介绍了微积分链式法则和概率链式法则。 一、概率链式法则 这里首先给出概率链式法则的公式&#xff1a;N个事件的概率链式法则如下&#xff0c; P(X1, X2, ... Xn) P(X1 | X2, X3 ... Xn) * P(X2 | X3, X4 ... Xn) ... P(Xn-1 | Xn) * P(Xn)。 概率链式法则的作用特别…

链式法则(chain rule)

链式法则 链式法则&#xff1a;两个函数组合起来的复合函数&#xff0c;导数等于里面函数代入外函数值的导乘以里面函数之导数&#xff1b; Quotient Rule Chain rule 代码实现

华硕路由器无线打印服务器怎么开启,华硕ASUS路由器无线中继模式设置教程

宽带路由器在一个紧凑的箱子中集成了路由器、防火墙、带宽控制和管理等功能,具备快速转发能力,灵活的网络管理和丰富的网络状态等特点。最近有用户想知道华硕(ASUS)路由器无线中继模式怎么设置,小编整理了详细教程,跟着步骤大家一定都能成功 具体介绍 一、确定主路由器参数…