基于单片机的温湿度感应智能晾衣杆系统设计

[摘 要] 本设计拟开发一种湿度感应智能晾衣杆系统 此新型晾衣杆是以单片机为主控芯片
来控制的实时检测系统 该系统使用 DHT11 温湿度传感器来检测大气的温湿度 然后通过单
片机处理信息来控制 28BYJ - 48 型步进电动机完成收晾衣服的工作 并且由单片机控制蜂鸣
器实现报警 从而来实现智能收晾衣服以及报警的功能
[关键词] 单片机 ; DHT11 ; 温湿度 ; 28BYJ - 48 步进电动机
随着人们生活质量的提高 各种自动化电子电器设备在我们生活中变得随处可见, 如路灯自控装置、 塑料大棚自控装备 防盗系统自控 等等. 一直以来 人们都习惯于把洗好的衣服放到太阳下面晒干, 可是当我们在阳光明媚时候把衣服晾出去, 恰好我们又要出门 如果突然下起雨来, 那本来要干的衣服又被淋湿了 让人十分烦恼, 而如今的空气污染日益严重 雨滴中含有大量灰尘等物质. 随着电子智能的进步 我们希望有一个“ 的晾衣杆 在我们不在家而天气突然转阴或下雨时, 它能帮我们把衣服收起来 本设计基于 AT89S52 单片机的湿度感应自动收缩晾衣杆以期为人们解除苦恼.

1 基于单片机的湿度智能晾衣杆组成

该仪器主要由湿度测量 信号转换与输送系统、 伸缩系统 3 个部分组成 具体结构如图 1 所示. 首先 湿度测量部分的工作是由湿度传感器来实现的, 其可以实时地检测到的空气湿度情况提供给下一部分设备; 然后 信号转换与输送系统是由 AT89S52 单片机来完成的 单片机接受到传感器的湿度信号后将其处理转化为所需的稳定的电信号; 最后 经过分析处理后的电信号传输给单相异步电动机组成的伸缩系统后, 该系统根据大气的湿度来控制电动机带动车轮向室内移动或者向室外移动完成其伸缩功能. 具体结构如图 1 所示

这个系统是基于 AT89S52 单片机控制的实时检测系统, 具有价格低 比较实用 方便节能的优点, 对爱养花护花者来说具有实实在在的使用价值, 也对家庭自动化的发展起到一定的作用

2 系统工作原理

本湿度智能晾衣杆是以 AT89S52 单片机 : 8位 AD + PWM 输出为主控制器件 首先传感器经过信号放大, 再进入 ADC 转换 传给单片机处理. 选用的 HC02 电容型湿度传感器将检测到湿度情况并将其转化为具体的湿度参数, 将转化后的湿度信号传送给单片机, 单片机将采集到的信号经过处理后转化成电信号传送给射频通信电路; 然后 射频通信电路将接收到的数据输送给单相异步电动机所组成的伸缩系统, 伸缩系统再控制伸缩晾衣杆的伸缩即可

3 系统硬件设计

3. 1 温湿度传感器电路

3. 1. 1 DHT11 数字传感器性能与应用电路

DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器. 它应用专用的数字模块采集技术和温湿度传感技术, 确保产品具有极高的可靠性与卓越的长期稳定性. 传感器包括一个电阻式感湿元件和一个 NTC 测温元件, 并与一个高性能 8 位单片机相连接 因此该产品具有品质卓越、 超快响应 抗干扰能力强 、性价比极高等优点. 每个 DHT11 传感器都在极为精确的湿度校验室中进行校准. 校准系数以程序的形式储存在 OTP 内存中 传感器内部在检测信号的处理过程中要调用这些校准系数. 单线制串行接口, 使系统集成变得简易快捷 超小的体积、 极低的功耗 信号传输距离可达 20 m 以上, 使其成为各类应用甚至最为苛刻的应用场合的最佳选择. 产品为 4 针单排引脚封装 连接方便, 特殊封装形式可根据用户需求而提供 .接口说明如图 2 所示

3. 1. 2 DHT11

数字传感器电源引脚以及串行接口电源引脚: DHT11 的供电电压为 3 ~ 5. 5 V.传感器上电后, 要等待 1 s 以越过不稳定状态在此期间无需发送任何指令. 电 源 引 脚 ( VDD ,GND) 之间可增加一个 100 nF 的电容 用以去耦滤波.
串行接口 : DATA 用于微处理器与 DHT11 之间的通讯和同步, 采用单总线数据格式 一次通讯时间 4 ms 左右 数据分小数部分和整数部分 ,具体格式在下面说明, 当前小数部分用于以后扩展, 现读出为零 操作流程为一次完整的数据传输为 40 bit 高位先出 数据格式 : 8 bit 湿度整数数据 + 8 bit 湿度小数数据 + 8bit 温度整数数据+ 8 bit 温度小数数据 + 8 bit 校验和数据传送正确时校验和数据等于“ 8 bit 湿度整数数据 + 8 bit湿度小数数据 + 8 bit 温度整数数据 + 8 bit 温度小数数据” 所得结果的末 8
用户 MCU 发送一次开始信号后 DHT11 从低功耗模式转换到高速模式, 等待主机开始信号结束后, DHT11 发送响应信号 送出 40 bit 的数据, 并触发一次信号采集 用户可选择读取部分数据. 从模式下 DHT11 接收到开始信号触发一次温湿度采集, 如果没有接收到主机发送开始信号, DHT11 不会主动进行温湿度采集 采集数据后转换到低速模式,过程如图 3 所示.

总线空闲状态为高电平 主机把总线拉低等待 DHT11 响 应 主机把总线拉低必须大于 18ms, 保证 DHT11 能检测到起始信号 . DHT11 接收到主机的开始信号后, 等待主机开始信号结束 ,然后发送 80 μ s 低电平响应信号 主机发送开始信号 结 束 后, 延 时 等 待 20 ~ 40 μ s 读 取DHT11 的响应信号 主机发送开始信号后 可以切换到输入模式, 或者输出高电平均可 总线由上拉电阻拉高, 过程如图 4 所示

总线为低电平 说明 DHT11 发送响应信号 ,DHT11 发送响应信号后 再把总线拉高 80 μ s ,准备发送数据, 每一 bit 数据都以 50 μ s 低电平时隙开始, 高电平的长短定了数据位是 0 还是 1.格式如图 5 所示 如果读取响应信号为高电平 ,则 DHT11 没有响应 请检查线路是否连接正常。当最后一个 bit 数据传送完毕后,DHT11 拉低总 线 50 μ s 随后总线由上拉电阻拉高进入闲 状 态.

3. 2 单片机最小系统电路

复位电路和时钟电路都是单片机最小系统的基本部分. 复位电路通常采用上电自动复位和按键复位两种方式. 本系统选用按键手动复位 ,这种方式方便、 简单 容易操作 它是通过 RST端经电阻与电源 VCC 接通而实现的
单片机各功能部件的运行都是以时钟控制信号为基准, 有条不紊地一拍一拍地工作 因此 ,时钟频率直接影响单片机的速度, 时钟电路的质量也直接影响单片机的稳定性. 时钟电路设计有内部时钟方式和外部时钟方式两种 本系统采用内部时钟方式, 具体电路如图 6 所示

3. 3 液晶显示

液晶显示模块具有体积小 功耗低 显示内容丰富等特点, 现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件. 因此 在这里采用的是液晶 1602B 字母显示屏型 它可以显示2 行每行 16 个英文字符 8 位数据总线 D0- D7 和 RS R/W EN 3 个控制端口 工作电压为 5 V 并且带有字符对比度调节和背光 该模块也可以只用 D4 - D7 作为 4 位数据分两次传送 这样的话可以节省 MCU I/O 口资源 下面就对此型号的显示器进行简单的介绍.1602B 引脚说明如表 1 所示

3. 4 步进电机与驱动电路

步进电机是一种将电脉冲转化为角位移的执行机构. 当步进驱动器接收到一个脉冲信号 ,它就驱动步进电机按设定的方向转动一个固定的角度( 及步进角 ) 可以通过控制脉冲个来控制角位移量, 从而达到准确定位的目的 ; 同时可以通过控制脉冲频率来控制电机转动的速度和加速度, 从而达到调速的目的
步进电机 28BYJ48 4 8 拍电机 电压为DC5 ~ 12 V. 当对步进电机施加一系列连续不断的控制脉冲时, 它可以连续不断地转动 每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次, 也就对应转子转过一定的角度( 一个步距角 ) .驱动模块电路, 由于单片机接口信号不够大需要通过 ULN2003 放大再连接到相应的电机接口 具体电路如图 7 所示

电机正反转部分程序如下
void motor_ccw ( void )
{ uchar i
j
;
for ( j = 0 ; j < 8 ; j + + ) / / 电机旋转一周 不是外面所
看到的一周 是里面的传动轮转了一周
{ if ( K3 = = 0 )
{
break ; / / 如果 K3 按下 退出此循环
}
for ( i = 0 ; i < 8 ; i + + ) / / 旋转 45°
{
P0 = CCW i ];
delaynms ( 10 ) ; / / 调节转速
} } }

4 系统软件设计和仿真图

4. 1 程序流程图

程序流程如图 8 所示

4. 2 程序设计

C 语言是一种计算机程序设计语言 它既有高级语言的特点, 又具有汇编语言的特点 它可以作为系统设计语言, 编写工作系统应用程序 ,也可以作为应用程序设计语言, 编写不依赖计算机硬件的应用程序. C 语言对操作系统和系统使用程序以及需要对硬件进行操作的场合, C 语言明显优于其它解释型高级语言. C 语言具有绘图能力强, 可移植性 并具备很强的数据处理能力, 因此适于编写系统软件 而且它是数值计算的高级语言. 所以本次设计采用 C 语言编程

4. 3 系统设计仿真图

系统设计仿真图如图 9 所示

5 结语

本设计采用 AT89S52 作为主控芯片 设计了一种智能的温湿度自动晾衣杆. 信号转换与输送系统是由单片机来完成的, 单片机接受到 DHT11温湿度传感器的温湿度信号后将其处理转化为所需的稳定电信号. 经过分析处理后的电信号传输给单相异步电动机组成的伸缩系统. 该系统根据大气的湿度来控制电动机带动传动轮向室内移动或者向室外移动完成其伸缩功能, 完全实现自动化控制.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/788541.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python不使用元类的ORM实现

不使用元类的简单ORM实现 在 Python 中,ORM(Object-Relational Mapping)是一种将对象和数据库之间的映射关系进行转换的技术,使得通过面向对象的方式来操作数据库更加方便。通常,我们使用元类(metaclass&a…

网络安全合规建设

网络安全合规建设 一、法律安全需求基本合规(1)《网络安全法》重要节点等级保护政策核心变化 二、安全需求 业务刚需(1)内忧(2)外患 三、解决方法(1)总安全战略目标图(2&…

CTF-PWN-kernel-栈溢出(retuser rop pt_regs ret2dir)

文章目录 参考qwb2018 core检查逆向调试打包上传测试脚本retuserkernel ropinit_credcommit_creds( prepare_kernel_cred(0) )开启KPTI利用swapgs_restore_regs_and_return_to_usermode开启KPTI利用SIGSEGVrop设置CR3寄存器再按照没有KPTI返回 kernel rop ret2userpt_regs 构造…

谈面向任务的多轮对话系统(TOD)

面向任务对话系统(Task-Oriented Dialogue (TOD) Systems)主要是为解决特定任务的,比如订票任务(订机票,电影票等),预定饭店等。这种对话往往需要多轮对话才能够完成。 多轮对话的例子 客户预定一个餐厅的…

仕考网:公务员考试面试时间一般多长?

公务员考试主要分为笔试与面试两个阶段,其中面试是笔试通过的下一关,面试的具体安排通常由相关考试机构或招录单位负责发布并通知考生。 公务员面试的持续时间一般在30分钟至1小时之间,具体时长可能因地区和招录单位的不同而有所变化。常见的…

红日靶场----(三)漏洞利用

上期已经信息收集阶段已经完成,接下来是漏洞利用。 靶场思路 通过信息收集得到两个吧靶场的思路 1、http://192.168.195.33/phpmyadmin/(数据库的管理界面) root/root 2、http://192.168.195.33/yxcms/index.php?radmin/index/login&am…

LLM大模型从入门到精通(2)--LLM模型的评估指标

LLM大模型建立完成之后,需要对大模型的性能进行评估。评估指标可以根据具体任务的不同而有所差异,以下是一些常见的评估指标: 1. 准确率(Accuracy):模型预测正确的样本数占总样本数的比例。 2. 精确率&am…

oracle索引字段存储数据过长,导致索引失效

1:短位数据,索引生效 2:长位索引,索引不生效 此问题发现于6月中旬,线上问题优化。引以为戒。 解决: 并未解决索引不生效问题, 但是基于优化查询,是的查询保持毫秒级

项目收获总结--Redis的知识收获

一、概述 最近几天公司项目开发上线完成,做个收获总结吧~ 今天记录Redis的收获和提升。 二、Redis异步队列 Redis做异步队列一般使用 list 结构作为队列,rpush 生产消息,lpop 消费消息。当 lpop 没有消息的时候,要适当sleep再…

【Linux】进程(9):进程控制2(进程等待)

大家好,我是苏貝,本篇博客带大家了解Linux进程(9)进程控制2,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一. 为什么要进程等待二. 如何进行进程等待1.wait函数—…

Linux udp编程

我最近开了几个专栏,诚信互三! > |||《算法专栏》::刷题教程来自网站《代码随想录》。||| > |||《C专栏》::记录我学习C的经历,看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

洛谷 数学进制 7.9

P1100 高低位交换 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 代码一 #include<bits/stdc.h> using namespace std; typedef long long ll; #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)const ll N1e510; char a[N];int main() {IOS;ll a;int b[32]…

一、YOLO V10安装、使用、训练大全

YOLO V10安装、使用、训练大全 一、下载官方源码二、配置conda环境三、安装YOLOV10依赖四、使用官方YOLO V10模型1.下载模型2.使用模型2.1 图片案例 五、制作数据集1.数据集目录结构2.标注工具2.1 安装标注工具2.2 运行标注工具2.3 设置自动保存2.4 切换yolo模式2.5 开始标注2.…

Mosh|内连接、外连接、左连接、右连接(未完)

下图取自菜鸟教程&#xff0c;侵权删&#xff5e; 一、内连接&#xff1a;Inner Joins 模版&#xff1a;SELECT * FROM A JOIN B ON 条件 含义&#xff1a;返回A与B的交集&#xff0c;列为AB列之和 练习&#xff1a;将order_items表和products表连接&#xff0c;返回产品id和…

Qt:12.输入类控件(QSpinBox-整数值输入的小部件、QDateEdit、QTimeEdit、QDateTimeEdit- 日期和时间输入的控件)

目录 一、QSpinBox-整数值输入的小部件&#xff1a; 1.1QSpinBox介绍&#xff1a; 1.2属性介绍&#xff1a; 1.3通用属性介绍&#xff1a; 1.4信号介绍&#xff1a; 二、QDateEdit、QTimeEdit、QDateTimeEdit- 日期和时间输入的控件&#xff1a; 2.1QDateEdit、QTimeEdit…

文件操作和IO流(Java版)

前言 我们无时无刻不在操作文件。可以说&#xff0c;我们在电脑上能看到的图片、视频、音频、文档都是一个又一个的文件&#xff0c;我们需要从文件中读取我们需要的数据&#xff0c;将数据运算后也需要将结果写入文件中长期保存。可见文件的重要性&#xff0c;今天我们就来简…

Gemma2——Google 新开源大型语言模型完整应用指南

0.引言 Gemma 2以前代产品为基础&#xff0c;提供增强的性能和效率&#xff0c;以及一系列创新功能&#xff0c;使其在研究和实际应用中都具有特别的吸引力。Gemma 2 的与众不同之处在于&#xff0c;它能够提供与更大的专有模型相当的性能&#xff0c;但其软件包专为更广泛的可…

北斗防爆手持终端在化工厂的安全性能分析

北斗防爆手持终端在化工厂中的应用显著提升了安全性能&#xff0c;其卓越的防爆设计、高精度定位与监控功能、实时通信能力以及多功能集成特性&#xff0c;共同构筑了化工厂安全生产的坚实防线&#xff0c;确保了巡检人员与设备在复杂环境下的安全作业与高效管理。 北斗防爆手持…

[Linux][Shell][Shell基础] -- [Shebang][特殊符号][变量][父子Shell]详细讲解

目录 0.前置知识1.Shebang2.Linux特殊符号整理3.变量4.环境变量5.父子shell0.概念1.创建进程列表(创建子shell执行命令) 6.内置命令 vs 外置命令 0.前置知识 #用于注释shell脚本语⾔属于⼀种弱类型语⾔&#xff1a;⽆需声明变量类型&#xff0c;直接定义使⽤shell三剑客&#…

148. 排序链表

https://leetcode.cn/problems/sort-list/description/https://leetcode.cn/problems/sort-list/description/ 解题思路&#xff1a; 归并排序&#xff0c;先拿到链表长度&#xff0c;每次遍历到一半&#xff0c;进行分割&#xff0c;后序双指针合并。 /*** Definition for sin…