当前位置: 首页 > news >正文

基于单片机的智能晾衣系统设计

摘 要 :在网络信息技术的推动下,智能家居得到了广泛应用,文章根据当前的市场动态,针对基于单片机的智能晾衣系统设计展开论述,具体包括两个方面的内容———硬件设计和软件设计。
关键词 :单片机;智能晾衣系统;硬件设计;软件设计

引言

结合当前晾衣架系统研究发展现状,本文设计了一种智能晾衣架系统,可以帮助人们摆脱传统繁琐的晾衣程序。本次系统操作十分简单,占地空间比较小,具有美观实用的特点。本文主要从硬件设计和软件设计两个方面进行论述,为当前单片机的智能晾衣系统进一步优化设计提供借鉴。

1 硬件设计

本次单片机采用了光照和雨滴两个天气信号,然后控制旋转衣架。整个系统主要利用步进电机进行控制,在天晴的时候,可以把衣架转出,进行衣物的晾晒;在没有阳光或者在下雨的时候,就会自动转到室内,防止衣服被淋湿。

1.1 整体设计图

本次整体设计图如图 1 所示,整个系统在实际运行过程中,利用光照传感器和雨滴传感器感知周围的天气,然后进行判断,做出相应的动作。设计人员设计出光照和雨滴的阈值;单片机就会控制衣架来回转动,从而实现智能控制。

1.2 光照传感器

为了对外部光照强度进行精准的测量,保证系统正常运行,在本次设计中,主要利用光敏电阻测量光照,随着光照逐渐的增强,光敏电阻逐渐减小,通过实际测量,可以分析光敏电阻的电子变化范围。在光照强度增强到很大的情况下,光敏电阻就会达到几百兆欧姆。在黑暗的条件下,光敏电阻的阻值为几兆欧姆。为了实现最为理想控制效果,保证光敏电阻阻值与实际操作向匹配,本次设计采用 10K 电阻,作为上拉电阻。根据实际实验的情况,在光照强度达到很大的条件下,光敏电阻值就非常小;在光照强度达到很小的条件下,就是周围非常黑暗,光敏电阻值就会很大。电压信号输出以后,通过电容滤波,就会保证信号波形更加平滑,提升了单片机信号处理的速度,避免由于光照强度不稳定导致系统出现误判的问题,如图2 所示。

1.3 雨滴传感器设计

这种传感器又被称为雨滴检测传感器,主要是为了是否下雨、对雨滴冲击量、静电电容量以及光亮变的进行精确的检测,为系统做出下一步的动作提供帮助。在本次系统使用的雨滴传感器中,一旦有雨滴滴落在检测极板上,相应的电阻就会出现新的变化,传感器就会对输出的电压进行检测。在雨滴传感器运行过程中,主要利用上拉 10K 电阻的方式,把电阻变化转化成电压变化,实现信号的调控。通过 LED的指示说明,可以明确整个电路运行的基本情况。如图 3 所示。

1.4 衣架位置传感器

本次设计主要采用红外传感器对衣架的具体位置进行 判断,在衣架运动到红外传感器范围内,红外传感器就会发出 信号,单片机就会读取衣架的具体位置。 为了保证信号能够正常运行,本次设计在室内和室外分 别安装一个红外检测传感器。在衣架位于室内时,为了保证位 置在相应的范围内,红外传感器就对衣架的位置进行判断,防 止出现移动过度或者不到位的问题。

1.5 STM32 控制器

STM32 控制器性能很强,可以投入少量的成本,属于一种低耗能的单片机。本次设计主要采用 STM32F103C8T6 单片机。在 STM32 系列单片机运用过程中,主要采用集成 AD模块,通过控制器运行,就能实现 AD 转化和音频数据编码,对红外发射电路进行控制。

1.6 步进电机驱动电路设计

本次系统步进电机主要采用 ULN2003 驱动,具有耐高压和高性能的特点,主要由 NPN 复合晶体管组成,芯片运行原理图如图 4 所示。

在单片机运行过程中,主要利用 IO 控制输出驱动,进行信号输入。ULN2003 输出的信号就会传输到步进电机的引脚上。如图 5 所示。

1.7 液晶显示屏

本次设计主要采用 Nokia5110 液晶,具有很高的性价比,接口简单便利,效果好,稳定性比较强。

2 软件设计

本次软件设计主要采用 C 语言。根据只能晾衣系统的要求,单片机会自动采集光照和雨滴两个天气信号,通过步进电机衣架的旋转,在天气晴朗没有下雨的条件下,系统就会把衣架转到室外,进行衣物的晾晒;在没有阳光、下雨的条件或者天黑的条件下,系统就会把衣架转到室内,防止被雨淋湿。

2.1 系统整体分析

如遇下雨天气,系统动作会进行转移到室内的操作;如遇未下雨阳光充足的天气,则将进行转移到室外的操作。系统会根据天气情况,做出相应的动作,为人们提供便利,减少了人为的操作。

2.2 软件算法

经过系统初始化、外设初始化计算以后,设计人员主要根据阳光与雨滴设计相应的阈值,从而进一步分析光照强度和雨滴强度,让系统做出判断,是否出去晾晒。在阳光强度没有达到要求、下雨以及天黑等条件下,系统不会晾晒衣物。但是根据系统实际运行的情况,需要进行定期的检查,防止被东西卡住。算法流程图如图 6 所示。

2.3 软件容错处理

本次系统主要采用时间累计的方式,对系统故障进行判断,根据实际实验的结果,衣架从而完成整个移动动作的时间大概为 20 秒,一旦累计时间超出了设计的时间( 30 秒),证明衣架位置传感器没有检测到衣架的位置,说明出现了故障,需要维护人员及时调整。

3 结束语

综上所述,通过对单片机智能晾衣系统的设计分析,系统会根据外面的天气情况做出转移到室内和转移到室外的动作,真正实现了无人操作,满足智能家居的设计要求。为了满足实际使用的要求,在未来设计中,还可以增加前后伸缩和上下伸缩的设计,不断完善现有系统性能,为客户提供更加便利的服务。

相关文章:

基于单片机的智能晾衣系统设计

摘 要 :在网络信息技术的推动下,智能家居得到了广泛应用,文章根据当前的市场动态,针对基于单片机的智能晾衣系统设计展开论述,具体包括两个方面的内容———硬件设计和软件设计。 关键词 :单片机&#xff…...

Python实战项目:天气数据爬取+数据可视化(完整代码)

一、选题的背景 随着人们对天气的关注逐渐增加,天气预报数据的获取与可视化成为了当今的热门话题,天气预报我们每天都会关注,天气情况会影响到我们日常的增减衣物、出行安排等。每天的气温、相对湿度、降水量以及风向风速是关注的焦点。通过…...

知识改变命运 数据结构【链表面试题】

1. 删除链表中等于给定值 val 的所有节点。 OJ链接 public ListNode removeElements(ListNode head, int val) {if (headnull) {return null;}ListNode curhead.next;ListNode prehead;while(cur!null) {if(cur.valval) {pre.nextcur.next;curcur.next;}else {precur;curcur.ne…...

计算机毕业设计 医院问诊系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...

掌握CSS的:any-link伪类:统一链接样式的高效方法

在网页设计中,链接是用户导航和交互的重要组成部分。CSS提供了多种伪类选择器来定义链接的不同状态,例如:link用于选择未访问的链接,:visited用于选择已访问的链接。然而,有时候我们需要同时为所有状态的链接设置统一的样式&#…...

虚幻5|角色武器装备的数据库学习(不只是用来装备武器,甚至是角色切换也很可能用到)

虚幻5|在连招基础上,给角色添加武器并添加刀光|在攻击的时候添加武器并返回背后(第一部分,下一部分讲刀光)_unreal 如何给角色添加攻击-CSDN博客 目的:捡起各种不同的武器,捡起的武器跟装备的武器相匹配 …...

防火墙技术与地址转换

文章目录 前言一、四种区域二、实验拓扑图基础配置防火墙配置测试结果 前言 防火墙是计算机网络中的一种安全设备或软件功能,旨在监控和控制进出网络的网络流量。其核心目的是保护内部网络免受外部攻击或不必要的访问。防火墙通过设定一系列安全规则,允…...

C++11中的Lambda表达式

文章目录 C11中的Lambda表达式1.lambda表达式形式2.向lambda传递参数3.使用捕获列表4.lambda捕获和返回1.值捕获2.引用捕获3.隐式捕获4.可变lambda5.指定lambda的返回类型 C11中的Lambda表达式 1.lambda表达式形式 lambda表达式具有以下形式 [capture list] (parameter list)…...

Unity图形系统

Unity的图形系统是一个复杂且功能强大的模块,它支持多种渲染技术和API,能够满足从移动设备到高端游戏机和桌面平台的各种需求。以下是关于Unity图形系统的详细解析: 渲染流程与技术 Unity的渲染流程可以分为应用程序阶段(CPU&…...

Ceph篇之利用shell脚本实现批量创建bucket桶

Ceph创建bucket桶 在 Ceph 中创建桶(bucket)需要使用 Ceph 对象网关(RGW)。 注:如果查看shell批量创建脚本请直接参见目录3 1. 利用radosgw-admin工具创建桶 确保 Ceph 集群和对象网关已正确配置 确保你的 Ceph 集群…...

周末总结(2024/08/17)

工作 人际关系核心实践: 要学会随时回应别人的善意,执行时间控制在5分钟以内 坚持每天早会打招呼 遇到接不住的话题时拉低自己,抬高别人(无阴阳气息) 朋友圈点赞控制在5min以内,职场社交不要放在5min以内 职场的人际关系在面对利…...

SQL高级编程:掌握自定义函数和过程的艺术

标题:SQL高级编程:掌握自定义函数和过程的艺术 在SQL的世界里,数据操作不仅仅局限于简单的查询和更新。通过自定义函数(User-Defined Functions, UDFs)和存储过程(Stored Procedures)&#xff…...

python监听环境内是否有声音

python监听环境内是否有声音 首先使用pyaudio打开麦克风,并开始录音。然后使用一个while循环来不断读取麦克风录取的音频数据,然后使用numpy来分析音频数据是否有声音。当检测到有声音时,会打印"有声音"并退出循环。最后关闭录音流…...

合并两个有序链表--力扣

题目如下: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例如下: 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 …...

【自用】Python爬虫学习(三):图片下载、使用代理、防盗链视频下载、多线程与多进程

Python爬虫学习(三) 使用BeautifulSoup解析网页并下载图片模拟用户登录处理使用代理视频下载,防盗链的处理多线程与多进程 使用BeautifulSoup解析网页并下载图片 目的:对某网站的某个专栏页面的图片进行下载得到高清图。 思路&am…...

#Datawhale AI夏令营第4期#AIGC方向Task3

在之前的任务中,我们已经对baseline进行了精读,并生成了,我们自己的八图故事。 在Task3中,我们的主要任务有两个:part1:工具初探一ComfyUI应用场景探索;Part2:Lora微调。 微调是一…...

【docker综合篇】关于我用docker搭建了6个应用服务的事

最近一直在捣鼓docker,利用测试服务器,本着犯错就重来(重装系统)的大无畏精神,不断尝试,总结经验,然后在网上搜寻一些关于docker有关的服务镜像,并搭建起来。看着一个个服务在我的服务器跑起来,…...

【sgCreateAPIFunction】自定义小工具:敏捷开发→自动化生成API接口方法代码片段脚本(接口方法代码生成工具)

sgCreateAPIFunction源码 <template><!-- 前往https://blog.csdn.net/qq_37860634/article/details/141159084 查看使用说明 --><div :class"$options.name"><div class"sg-head">接口方法生成工具<el-dropdown:show-timeou…...

Vue2图片懒加载(vue-lazyload)

参考文档&#xff1a;vue-lazyload 安装插件 npm install vue-lazyload # or yarn add vue-lazyload # or pnpm add vue-lazyload使用 使用方式 一&#xff1a; 所有懒加载图片的占位图使用同一张默认图片 引入并注册 // main.js import VueLazyload from vue-lazyload Vue…...

Jenkins-拉取代码

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Jenkins环境配置&#xff08;一&#xff09;配置Maven环境&#xff08;1&#xff09;Maven下载&#xff08;2&#xff09;将Maven上传服务器&#xff08;3&…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...