news 2026/4/18 6:47:11

基于单片机的晾衣架控制系统设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于单片机的晾衣架控制系统设计

摘 要

为了解决在突然出现雨雪天气不能及时收起晾晒在户外的衣物情况,满足人们更智能地收晾衣物需求,本文设计了一款基于单片机的晾衣架控制系统。该系统具有手动控制和自动控制两种控制方式。在手动控制方式下,人们可以自主选择晾衣物和收衣物。在自动控制方式下,通过光敏电阻和雨滴传感器来进行当前环境的检测,由单片机完成系统控制,通过步进电机的正反转实现晾衣机的自动伸缩。该晾衣架能够根据所处环境的光照强度以及晴雨状态来实现晾衣架的自动收晾衣物,当且仅当不下雨而且光照充足的条件下,晾衣架才会打开进行衣服的晾晒,其他任何情况下晾衣架的状态都是收衣物的状态。
本次所设计的晾衣架系统不仅能够根据环境变化实现晾衣架的自动伸缩控制,而且具有体积小、重量轻,灵活方便、适用范围广、操作比较便捷等特点。
结果表明,这款基于单片机的晾衣架控制系统彻底改变了人们的晾衣习惯,实现了足不出户就可以收晾衣物,再也不用担心外出时衣物淋雨了。
整套系统在运行中表现出极好的智能型和便捷性,备受消费者的青睐。

关键词:单片机;光敏电阻;雨滴传感器;步进电动机;晾衣架

1 系统方案设计

1.1 系统方案论证
本设计为实现晾衣架控制系统设计提出两种方案:
方案一:
本方案设计主要由单片机主控电路、按键电路、光线检测、电机控制执行部分组成。主要用到的元器件有:STC89C52单片机、小马达电动机、光敏电阻等等。STC89C52单片机作为本方案的主控芯片,光敏电阻是用来识别所处环境为白天还是夜晚的光线强弱状态。
连接电源按下开关后,初始状态是自动模式,通过光敏电阻自动识别当前所处环境的光线强弱,即白天还是夜晚。当时识别出是白天,光照比较强时,电动机正转代表晾衣架伸展,用手触碰相应的限位开关,电动机停止转动代表伸展到最大;当时光敏电阻识别出是夜晚光照强度比较弱时,电动机反转代表晾衣架收缩,用手触碰相应的限位开关,电动机转动停止代表收缩到最里面,以防止发生过卷。
方案二:
本次方案设计主要由单片机主控电路、雨滴检测、光线检测、按键电路、指示灯电路、电机控制执行部分组成,主要用到的元器件有:STC89C52单片机、FC-37雨滴传感器、光敏电阻、LED指示灯、微动步进电动机等等。STC89C52单片机作为本方案的主控芯片,雨滴传感器主要是用来检测所处环境中是否存在下雨的情况;光敏电阻是用来识别所处环境为白天还是夜晚的光线强弱状态;由于雨滴传感器和光敏电阻输出信号都是电压信号,单片机无法直接处理,所以本方案使用型号为LM393的电压比较器能够将光敏电阻和雨滴传感器所输出的电压信号转化为数字量信号,然后传送给单片机进行数据处理。另外,整个系统还设计了手动模式和自动模式,用户可以根据所处环境和自己的需求对当前晾衣架所处的状态进行自由的切换,电动机方面采用了比较方便的微动式步进电动机,为了直观的看到当前系统所处于的模式和状态,设计了指示灯电路以便于观察。
连接电源按下开关后,初始状态是手动模式,用户可根据自己的需求进行收晾衣物,按下切换按钮后,系统更换为自动模式。通过光敏电阻自动识别当前所处环境的光线强弱,即白天还是夜晚。当时识别出是白天,光照比较强且雨滴传感器未检测到有雨水时,电动机正转拉动电动机上的端子(代表晾衣架上所晾的衣物)向左移动代表晾衣架伸展,当电动机上的端子移动到最左面触碰相应的限位开关,电动机转动停止代表伸展到最大;当时识别出是夜晚光照比较弱或者是在白天时雨滴传感器检测到有雨水时,电动机反转拉动端子向右移动代表晾衣架伸展,当电动机上的端子移动最右面自动触碰相应的限位开关,电动机转动停止代表收缩到最里面,电动机转动停止以防止发生过卷。
根据上述两种方案的介绍,对于本系统设计我选择方案二,因为方案一实现的电动机正反转并不能完全实现自动化,自动检测到光线后,还需要手动按一下限位开关来实现电动机正反转的停止,方案二所采用的微动式步进电动机可以实现自动停止正反转;同时,方案一只有光照检测模块,没有雨滴检测部分,这样实现出来的功能不能够完全满足用户的要求,而方案二在方案一的基础上添加了雨滴检测装置。显而易见,方案二更符合我们的实际需求,具有易操作、智能化、实用性强等优势。
1.2 系统工作原理
下面介绍一下本系统的原理及总体框图,总体框图如1.1所示。

图1.1 系统总体框图
本系统利用光敏电阻和雨滴传感器来检测当前环境,由按键电路调整当前系统所处的状态,指示灯电路和微动步进电机将信号发送给单片机,再由单片机检测指示灯电路和微动步进电动机以实现晾衣架的控制;雨滴传感器和光敏电阻将检测到的电压信号输入给LM393电压比较器中,再由电压比较器输入到单片机中进行数据处理。在自动模式下,当且仅当白天不下雨的时候,晾衣架才会打开进行晾晒衣服,其他任何情况下晾衣架的状态都是收衣物状态,这样实现了智能晾衣架的设定。
2.5 电压比较器
因为单片机不能直接接收外界输入的电压信号,而本系统中用到的光敏电阻和FC-37雨滴检测器输出的信号都是电压信号,所以需要电压比较器用来将外界需要输入给单片机的电压信号转换为数字量信号。
本设计所用的电压比较器型号是LM393,它是一种高精度比较器,能够兼容逻辑电路,主要参数和特点有:电源电压工作范围宽(单电源、双电源均可工作),单电源:2.0~36V;双电源:±1.0~±18V;消耗电流小,ICC=0.8mA;输入失调电压小,VIO=±2mV;共模输入电压范围宽,VIC=0~VCC-1.5V;输出与TTL,DTL,MOS,CMOS 等兼容;输出可以用开路集电极连接“或”门。
电压比较器的所有没有用到的引脚必须接地,LM393偏置网络确立了其静态电流与电源电压范围2.0~30V无关。在通常情况下,电源不需要加旁路电容。差分输入电压可以大于VCC并不损坏器件输出负载电阻能衔接在可允许电源电压范围内的任何电源电压上[10],不受 VCC端电压值的限制。所以本次设计采用了LM393电压比较器将输出的电压信号转变为数字量信号送给单片机进行处理。其电路图如图2.6所示,从原理图中我们可以看出,电压比较器的OUTA管脚与单片机的P10管脚相连,OUTB管脚与单片机的P11管脚相连,INA-和INB-分别接两个滑动变阻器,用于调节光敏电阻和雨滴检测器的灵敏程度。

图2.6 电压比较器电路图

3 系统主要软件设计

3.1 软件环境
软件是在硬件的基础上对硬件的资源进行合理调配和使用,是一个专门为硬件平台开发相应的软件程序,从而完成应用系统所要求的任务,而硬件又是系统应用的基础,二者相辅相成缺一不可。本系统选用的开发环境是Keil C51。
Keil C51是由美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,且C语言在功能上、结构性、可维护性上比其他语言有明显的优势,因而易学易用[13]。
Keil C51软件对于初学者来说是一个非常好用的软件,而且它能实现在线的运行、仿真,方便初学者用来调试,不仅能让初学者在很快的时间内找到自己出错的代码,还方便改写。该软件所运用到的语言可以是C语言,也可以是汇编语言,可以应用的语言种类比较广泛,因为在初期接触到软件编程是我学的就是C语言类型,所以本次软件设计我采用的是C语言进行程序的编写[14]。该软件开发界面如图3.1所示。

图3.1 软件开发界面图
使用该软件进行程序编程和系统研发时,它的流程是:首先要创建一个新的工程项目文件,选择项目所用到的单片机型号,创建新出代码编程窗口;接着对软件中新建的源程序代码文件进行编写和保存,在编辑窗口中运用所学的C语言进行程序的运行[15]。然后,用项目管理器中生成设计者的应用,如果发现有错误,及时修改源程序中的错误,对编写的程序进行测试、下载与调试并且连接应用。这样软件会生成一个HEX文件,该文件是用来将里面的代码下载到单片机中,从而实现对整个电路的控制。
在本次设计中,下载源程序的工具是通过ISP下载工具(如图3.2所示)来完成的,也就是下载上述生成的HEX文件,具体步骤为:

图3.2 程序下载工具图标
(1)首先打开软件首页如图3.3所示;

图3.3 软件首页
(2)选择所需要的单片机型号;
(3)再选择要下载的HEX文件;
(4)选择所在的串口和波特率,其中串口号可在设备管理器中查看或更改;
(5)点击下载,得到提示后上电,完成下载,进行测试[16]。
3.2 程序设计
本系统采用的C语言编程主要使用了if、while等判断语句,当光敏电阻检测到当前是白天或者理解为当前所处环境的光照强度比较强,并且雨滴传感器未检测到当前下雨,晾衣架接到指令开始向左或向右移动,当移动到两边的任意一个限位开关的位置时,限位开关会闭合,此刻则表示晾衣架已到达指定的位置,晾衣架停止转动。
本系统的主要程序流程是:首先系统要判断出当前处于哪一种者模式,如果判断出当前模式为手动模式,那么就通过手动按键来控制步进电动机的正反转以实现晾衣服晒衣服还是收衣服;如果是当前所处模式为自动模式,那么仅在白天不下雨的情况下,晾衣架的状态才是晒衣服,在其他任何的情况下,晾衣架的状态都是收衣服的状态。系统程序框图如图3.4所示。

4 焊接与调试

4.1 电路焊接
在选择电路焊接的方式时,原始也是最常用的焊接方法是手工焊接。当前,在工厂焊接大量的生产基本上是不采用原始的方法了,但是在普通元器件的修理、系统在测试中,最经常使用的方法就是原始的手工焊接。焊接在整个系统设计中是很重要的环节,不管我们在设计系统时想的和设计的再多,如果在焊接实物的这个过程中出现了问题,会影响到整个控制系统的运行,这个系统的设计很有可能就会以失败而告终[17]。所以说焊接的技术会直接导致设计的这个控制系统是否能够使用。焊接后实物图如图4.1所示。

图4.1 焊接实物图
为了确保系统能够正常运行,在焊接的时候要严格根据电路图认真对照,尽量避免焊接位置出现错误或者连错线等问题。在电路的焊接过程中,经常会出现焊锡不够的情况,这个时候我们需要做的是:补焊锡。但是应注意补的焊锡量不能补太多,因为很容易连接到其它器件的引脚可能会导致出现短路的情况。如果遇到了焊锡过多时,有两种方式可以解决这个问题:可以使用电烙铁放在焊接处来回滑动,用电烙铁将多余的焊锡带走,也可以使用吸锡器除焊锡。
4.2 系统调试
在系统接通电源之前,首先观察实物的焊接是否存在问题,如:有明显断裂、正负极连接、器件连接、焊接不实等。如果焊接的物体没有问题接下来我们用万用表来检测电源的正负电压,观察是否出现了严重的电源问题,如短路、断路等以确认焊接的系统没有问题。
物体焊接没有问题以后,还需要对软件程序进行调试,如果程序调试没有出现错误等问题,接下来验证系统的功能能否满足要求,如果功能存在问题,需要继续调试程序,反复进行调试直到所有功能都满足为止。
4.2.1 软件调试
在软件调试过程中,点击编译按键,文件在系统中正常运行,提示的信息可以在窗口中进行显示,若提示的信息中显示错误标识,就要根据提示找到错误程序并改正,直到错误消失。
实际在调试过程中,首次对程序进行编译时提示窗口提示错误,经过检查发现在程序句末尾遗漏的分号,除此之外出现过其他的问题,经过请教老师还有公司的师傅以及同学的帮助,一次次的编译和修改,直到程序提示没有错误为止。
4.2.2 硬件测试
首先使用万用表检测电源是否连接完好,然后检查元器件的管脚是否连接正确,有没有出现接线错误的情况。接通电源以后,观察每个元器件是否能够进行正常的工作,逐一测试功能。
在测试过程中,如果发现LED指示灯不亮,首先检查焊接情况,如果没有发现接错或虚焊情况,那么检查程序的编写是否出现错误提示;如果都没有问题,我们基本可以断定是该元器件损坏了,需要更换新的LED指示灯。
4.3 实物测试
根据本系统的设计需求,对实物功能进行逐一测试:
(1)将电动机上的端子(用来表示所晾衣物)移动到中间位置,接通电源后按下开机按钮,电源指示灯亮起,系统默认为手动模式,电动机上的端子会默认向右移动,代表晾衣架开机时默认的状态是收衣服;
(2)按下切换模式按键,系统所处模式更换为自动模式,在光敏电阻附近照明营造白天光线强度较强环境,并且保持雨滴传感器上干燥,步进电动机上的端子向左滑动,代表晾衣架伸展晒衣物;
(3) 保持光敏电阻附近照明营造白天光线强度较强环境,将一片湿巾或者蘸有水的纸巾放在雨滴传感器上营造天气中为下雨状态,步进电动机上的端子向右滑动,代表晾衣架收缩收衣物;
(4)取消光敏电阻附近的照明,用手捂住光敏电阻或者移动到光线较弱的地方,此时不管雨滴传感器上是否检测出有雨水,步进电动机上的端子都是向右滑动,代表晾衣架收缩收衣物。
所有的预设功能均得以实现,实物展示图如图4.2、4.3所示。

图4.2 实物展示图 图4.3 实物展示图

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 11:25:06

基于SpringBoot的养老中心管理系统的设计与实现

背景分析随着人口老龄化加剧,传统养老模式面临资源分配不均、服务效率低下等问题。SpringBoot框架因其快速开发、微服务支持等特性,成为构建高效管理系统的理想选择。技术意义模块化开发:SpringBoot的Starter依赖简化了权限管理、健康监测等模…

作者头像 李华
网站建设 2026/4/15 4:36:52

企业级应用:Navicat连接MySQL集群实战指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个MySQL集群管理演示应用,展示如何使用Navicat连接和管理MySQL主从复制集群。功能包括:1) 主从服务器连接配置 2) 复制状态监控 3) 读写分离设置演示…

作者头像 李华
网站建设 2026/4/15 16:49:03

【粉丝专享】2026年最新最全的大模型学习资源包!!

AI大模型正在以惊人的速度改变着各行各业。正如移动互联网时代造就了无数成功的开发者,今天的大模型技术也为我们带来了前所未有的机遇。学习和掌握这项技术,不仅能让你站在行业前沿,还能为你的职业生涯带来巨大的回报。 企业为什么需要AI大模…

作者头像 李华
网站建设 2026/4/16 15:05:02

快速验证:Android Studio汉化效果原型设计

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 设计一个Android Studio汉化效果快速原型,要求:1. 模拟Android Studio主要界面的汉化效果;2. 允许用户点击切换中英文显示;3. 展示关…

作者头像 李华
网站建设 2026/4/17 23:36:17

零基础教程:手把手教你下载安装JDK 1.8

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个交互式JDK 1.8安装向导,通过图文并茂的步骤引导用户完成下载和安装。包含系统要求检测、下载源选择、安装选项解释、环境变量配置演示等功能。每个步骤都有详细…

作者头像 李华
网站建设 2026/4/17 20:52:21

用LabelImg快速验证CV模型:标注-训练-测试闭环

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个集成LabelImg的AI原型开发环境:1. 标注后自动触发模型训练(集成Ultralytics)2. 实时显示模型在测试集的表现 3. 可视化标注-训练-评估全…

作者头像 李华