5.[STM32]动动小手,自己制作做一个自动浇花系统吧

这篇具有很好参考价值的文章主要介绍了5.[STM32]动动小手,自己制作做一个自动浇花系统吧。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0前言

🚀
作者简介:大家好啊,我叫DW,每天分享一些嵌入式知识,期待和大家一起进步!
🉑🉑
系列专栏:STM32
👀👀👀
小实验简介:利用土壤湿度传感器测量土壤湿度,介于阈值之间或者大于阈值水泵关闭,小于设定阈值水泵开启且蜂鸣器报警提醒主人浇水,土壤湿度、水泵状态、阈值会在LCD12864上打印
⬇️⬇️⬇️⬇️
本月目标:希望可以拥有100个粉丝,嘻嘻,互关一起进步吧!
🎁🎁🎁🎁🎁
真心话:伟大的作品,不是靠力量而是靠坚持才完成的。

5.[STM32]动动小手,自己制作做一个自动浇花系统吧

1 土壤湿度传感器简介

本实验用的传感器是YL-69湿度传感器,四线制,中间两根线需要手动连接。
通过电位器调节响应阈值,湿度低于设定阈值,DO输出高电平;湿度低于设定阈值,DO输出低电平。
5.[STM32]动动小手,自己制作做一个自动浇花系统吧

1.1 功能介绍

(1)传感器用于土壤湿度检测;
(2)电压比较器采用LM393芯片;
(3)顺时针调节LM393,反向输入端输入电压越高,低湿度环境下,模块输出低电平,模块灯亮;
(4)逆时针调节LM393,反向输入电压越低,高湿度环境下,模块输出低电平,模块灯亮;
(5)模拟输出端D0与STM32输出口直接相连,单片机来检测输出的电平,以此触发水泵的工作状态;
(6)模拟量输出端AO和AD模块相连,借助AD转换,获得当前环境下土壤湿度更精确的值;

1.2 湿度检测原理

5.[STM32]动动小手,自己制作做一个自动浇花系统吧
电路图解析🍫🍫

(1) 其中两个电阻作为LM393的正向输入端,下电阻为土壤湿度传感器,土壤湿度传感器就是两个电极,当电极之间有土壤连接时,可以 等效为一个电阻,土壤湿度增加,电阻值增加。
(2)土壤干燥时,电极的等效电阻很大,AO处电压升高,达到一定程度后,同相电压大于反相电压,LM393输出高电平,开关指示灭;
(3)土壤湿润时,电极的等效电阻很小,AO处电压下降,达到一定程度后,同相电压小于反相电压,LM393输出低电平,开关指示亮;
(4)反向端的VR1用于调节该端口的电压,此电压为电压比较器输入阈值翻转电压;

1.3 硬件连接

5.[STM32]动动小手,自己制作做一个自动浇花系统吧

1.4 部分源码解析

本 系 统 的 土 壤 湿 度 采 样 模 块 使 用ADC1的通 道 0进 行 AD 转 换。
当土壤湿度传感 器 空 置 时,测得的采样值为4095,当 其 完
全浸没在水中时,采样值为1468,因 此 根 据 公 式:土 壤 湿
度 = (4095- 采 样 值)×100/ 4095 可 以 得 到 土 壤
湿度值,因此编写湿度转换函数如下:

CurrentHumidity = (int)((4095 - nADCValue) * 100.0 / 4095);	//土壤湿度转换函数	

2 水泵和继电器简介

本实验选择3V水泵,通过继电器控制水泵的开启和关闭。

5.[STM32]动动小手,自己制作做一个自动浇花系统吧

2.1 原理图解析

该原理图主要由光耦电阻TLP181、三极管S8550A、稳压管、继电器SRD-05VDC组成。

(1)当RELAY为高电平时,TLP181内的二极管不发光,右边的光敏三极管电阻很大,4引脚输出高电平,PNP三极管截止,此时电磁铁断电,继电器COM与CLOSE引脚相连,J60端子没有电压输出,此时负载不工作;
(2)当RELAY为低电平时,TLP181内的二极管发光,右边的光敏三极管接收到后电阻变得很小,4引脚输出低电平,PNP三极管管导通,此时电磁铁通电,继电器COM与OPEN引脚相连,J60端有电压输出,此时负载工作;

2.1.1接线情况

(1)水泵负极接图中J61的GND,水泵正极接图中J60的Output;
(2)J60的Input和J60的VCC_5V用杜邦线连接。

2.1.2 部分函数

当open=1,水泵开启; 当open=0,水泵关闭;

void Relay_Control(u8 open){

	if(open)
	{
		GPIO_ResetBits(Relay_PROT,Relay);//打开
	}
	else    
	{
		GPIO_SetBits(Relay_PROT,Relay);//关闭
	}
}

3 C语言补充

格式化字符串操作函数,使用前需要定义一个字符数组。

int sprintf(char *buf,const char*format,...);
//输出到buf指令的内存区域

利用这个函数,我们可以动态的把数据打印到LCD屏幕上

//液晶屏显示格式化输出	

__align(4) u8 dtLCDBuf[16];   							//LCD缓存器		
			
sprintf((char *)dtLCDBuf,"土壤湿度:%02d %%",CurrentHumidity);
LCD12864_Display(0,0,dtLCDBuf);
			
sprintf((char *)dtLCDBuf,"阈值:%02d--%02d",LowLimit,UpperLimit);
LCD12864_Display(1,0,dtLCDBuf);	
			
sprintf((char *)dtLCDBuf,"水泵状态: %s",Switch == 1?"开启":"关闭");						
LCD12864_Display(2,0,dtLCDBuf);
	
sprintf((char *)dtLCDBuf,"给个点赞和关注吧");						
LCD12864_Display(3,0,dtLCDBuf);

4 实验现象

(1)把土壤湿度传感器放入水中,看到LCD屏幕上显示湿度,此时水泵处于关闭状态;
(2)把土壤湿度传感器拿出水面,看到LCD屏幕上显示湿度,此时水泵处于开启状态,并且蜂鸣器报警。
关于LCD12864显示的请看:在LCD12864上显示属于你的文字

土壤湿度传感器置于空气中,我们可以看到LCD显示土壤湿度为0,此时水泵处于开启状态。

5.[STM32]动动小手,自己制作做一个自动浇花系统吧

土壤湿度传感器置于水中,我们可以看到LCD显示土壤湿度为45%,此时水泵处于关闭状态。

5.[STM32]动动小手,自己制作做一个自动浇花系统吧

5 结语

📚一点一滴,一步一个脚印,慢慢来,比较快。
🍒好了,今天的分享就到这里了,你的点赞是我的动力,对你有帮助的话可以点个赞👍👍👍哦,有写得不好的欢迎指正,欢迎留言。
源码已上传到我的资源,需要自提。

5.[STM32]动动小手,自己制作做一个自动浇花系统吧文章来源地址https://www.toymoban.com/news/detail-410849.html

到了这里,关于5.[STM32]动动小手,自己制作做一个自动浇花系统吧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于单片机的自动浇花系统设计

    摘要:快节奏的生活导致人们忙于工作而无暇顾及家中植物的及时浇水,影响了植物的生长发育, 也降低了其种植成功率。针对上述问题,该文设计了一种自动浇花系统,该系统能在无人环境下 根据土壤湿度情况自动启动,完成浇水动作,解决种植户的后顾之忧。该系统采

    2024年02月22日
    浏览(41)
  • 基于51单片机土壤湿度检测及自动浇花系统仿真(带时间显示)

    wx供重浩:创享日记 对话框发送:单片机浇花 获取完整源码源文件+仿真源文件+原理图源文件+论文报告等 单片机土壤湿度检测及自动浇花系统仿真(带时间显示) 具体功能: (1)液晶第一行显示实际湿度,液晶第二行显示当前时间; (2)按键说明:减键、加键、设置键。

    2024年02月05日
    浏览(49)
  • 16、基于51单片机智能浇花自动浇水灌溉土壤湿度检测报警系统设计

    毕设帮助、开题指导、技术解答(有偿)见文末。 目录 摘要 一、硬件方案 二、设计功能 三、实物图 四、原理图   五、PCB图 六、Proteus仿真 七、程序源码 八、资料包括 本次盆栽植物自动浇灌系统,系统是用AT89C51单片机作为控制中心,使用YL-69作为土壤湿度传感模块,LC

    2024年02月06日
    浏览(42)
  • 从零开始制作一个基于STM32和ESP8266-01S的智能时钟(3)ESP8266-01S模块(上)

    提示:这里可以添加本文要记录的大概内容:之前在忙着,现在继续补充完整,然后这次的ESP-01S的典型应用图是没有连接RST引脚的,但是我的项目是用到了RST引脚的,所以需要使用跳线连接一下RST引脚。 本项目需要基础的stm32单片机知识,这里我推荐 链接:https://www.bilibil

    2024年02月03日
    浏览(53)
  • 如何自己制作一个属于自己的小程序?

    在这个数字化时代,小程序已经成为了我们生活中不可或缺的一部分。它们方便快捷,无需下载安装,扫一扫就能使用。如果你想拥有一个属于自己的小程序,不论是为了个人兴趣,还是商业用途,都可以通过编程或者使用免代码工具来实现。下面,我们就来探讨一下如何自

    2024年01月24日
    浏览(54)
  • 单片机毕业设计 stm32宠物自动喂食系统

    Hi,大家好,学长今天向大家介绍一个 单片机项目 基于stm32的宠物自动喂食系统 大家可用于 课程设计 或 毕业设计 为了解决主人不在家而无法正常对宠物进行饮水喂食, 导致宠物身体不健康这一情况, 为此学长设计了宠物自动饮水喂食器。 宠物自动饮水喂食器主要由单片

    2024年02月03日
    浏览(43)
  • 立创EDA极速入门(2)——完成一个STM32最小系统板

    请提前观看:立创EDA极速入门(1)——熟悉PCB和立创EDA基本操作; 邀请加入嵌入式社区,您可以在上面发布问题,博客链接,公众号分享,行业消息,招聘信息等。 立创EDA绘制PCB只有两步,原理图绘制和PCB设计。 如果是使用的AD绘制PCB可能需要多原理图库和PCB库的绘制,但

    2024年02月02日
    浏览(32)
  • STM32的光敏检测自动智能窗帘控制系统proteus设计

    ( proteus仿真+程序+演示视频) 仿真图proteus 8.9 程序编译器:keil 5 编程语言:C语言 设计编号:C0074 结合实际情况,基于STM32单片机设计一个自动智能控制窗帘系统。该系统应满足的功能要求为: 光敏传感器,运行状态LCD1602显示、L298驱动电机控制、自动控制。 具体功能: ①电

    2024年02月02日
    浏览(39)
  • 怎样自己制作一个小程序?新手必知流程!

     随着市场需求的变化.不断成长的微信平台.随着周边小程序等功能的发布,商店公司开发小程序已经成为一种趋势。但是对于怎样自己制作一个小程序,很多卖家公司还是“新手”,不明白应该使用什么微信小程序开发和制作工具?我不知道这个小程序开发了多少钱?今天为

    2024年02月16日
    浏览(46)
  • 通过训练NLP制作一个自己的简易输入法

    最近开始研究NLP,然后根据手写CV UP主的视频,写了一个N Gram的NLP模型,算是该领域里的hello world吧。然后我又添加了几行代码实现了一个 非常简易的输入法 。 项目说明: 数据集可以自创,导入txt文件即可; 单词联想功能:输入前两个单词,预测(联想)第三个单词【也就是

    2024年02月08日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包