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

基于单片机的衣物消毒清洗机系统设计

收藏和点赞,您的关注是我创作的动力

文章目录

    • 概要
  • 一、系统总体设计
    • 2.2 功能分析
    • 2.3 系统框架设计
  • 二、硬件电路设计
    • 3.1 电源模块的设计
  • 三、 软件设计
    • 4.1 系统整体流程
    • 4.4 软件整体流程
    • 实物图
  • 四、 结论
  • 五、 文章目录

概要

  基于单片机的衣物消毒清洗机可以应用在学生宿舍、大型公寓楼等人流量比较密集的场景中。由于这些场景通常人流量比较密集,对安全、卫生等的要求性相对较高,所以通常对系统的设计要求较为严格。本系统能够给用户提供一个更加方便,安全的衣物清洗使用环境。系统利用了多种传感器,来对用户的选择进行检测,用户可以自由地选择清洗机的模式,并对其进行远程控制。当衣物清洗完毕后,清洗机会自动提示用户清洗完毕。系统使用单片机作为清洗机的控制核心,将用户与电器联系在了一起,能够更好地促进清洗机的自动化控制。
系统采用单片机作为控制核心,直流电机作为清洗机的动力部件,结合蓝牙模块作为无线传输控制器,能够将衣物、清洗机以及用户的手机连接在一起,用户只需要将衣物放入清洗机内,就可以通过手机远程控制清洗机的工作模式,无论是在工作效率还是在科技感方面,本系统均达到了相当的高度。
关键词:单片机;自动控制;直流电机;无线控制

一、系统总体设计

  

2.2 功能分析

通过对洗衣机功能的分析,本设计需要完成洗衣机的转动功能,这部分可以通过电机电路来实现。而其他部分则主要包括用户交互功能、按键选择功能以及显示功能。这几部分的功能描述如下:
1.转动功能。本设计的转动功能主要实现对衣物的清洗,这部分功能的实现主要参考了现实生活中洗衣机转筒的实现。
2.用户交互功能。本设计可以由用户进行远程控制,所以需要一定的远程交互功能来实现。
3.按键选择功能。按键选择部分参考了我们生活中常见洗衣机的形式。
4.显示功能。显示功能需要能够显示当前剩余的洗衣时间、总共的洗衣时间等。

2.3 系统框架设计

对于本系统的设计,主要表现在对滚筒转动电路、无线传输电路、按键控制电路以及显示电路这几个方面的设计上。对于这几个模块电路,一般需要考虑核心控制器的控制方式,其中控制方式主要包括两种:一种是通过搭建纯数字化的编码电路来实现各个电路的控制,另一种是通过采用模块化的思想来实现各个电路的控制,这两种控制方式主要存在以下区别:
1.通过搭建纯数字化的编码电路来实现微波电路的控制。在该方式中,需要设计滚筒转动电路、无线传输电路、按键控制电路以及显示电路等相关的硬件电路。使用纯数字化的控制方式,可以对设备的处理流程具有细微的控制。尤其是在电机转动速度、显示分辨率选择等方面具有更加的性能。但是这种方式对电路设计能力的要求很高,且电路之间的依赖性较强,不适合本系统的控制。
2. 通过采用模块化的思想来实现本电路的控制。使用模块化的控制方式时,需要采用相应的滚筒转动模块、无线传输模块、按键控制模块以及显示模块。四种模块各司其职,相互独立。对于本设计来说,在测试部分会减少很多重复性的工作。
通过对上文的描述,本设计采用基于模块化的控制思想来实现智能衣物清洗机的功能。具体电路中使用了已具备成熟的工艺的无线通信模块和显示模块。至于按键模块,本设计实现了简易的九宫格按键,可以很好地实现模式的选择。
系统整体框图如下图2.1所示:
在这里插入图片描述

图2.1 系统框图

二、硬件电路设计

  

3.1 电源模块的设计

本设计基于数字电路来实现,采用了多种模块化的传感器。这些传感器主要包括:单片机、电机、按键以及显示屏等。对于这些模块进行供电时,需要考虑到不同模块之间基准电压的不同。对于电机模块,由于需要具备转动的功能,所以采用的基准电压比较大,一般为12V。而对于其他模块,如单片机、按键以及显示屏等,这些模块的基准电压较低,通常采用5V的工作电压即可。所以在对电源电路进行设计时,我们采用两种供电方式:对于电机电路,采用12V用电,而其他电路,则采用5V供电。电压转换芯片采用常用的1205,该芯片将12V的输入电压转为5V的输出电压,输入电压采用12V标准电压源即可。这部分的模块电路如下所示:
在这里插入图片描述

图3.1 电源转压模块

三、 软件设计

4.1 系统整体流程

通过第三章的描述,我们队本设计的硬件电路模块有了详细的了解。在软件驱动部分,需要完成以下几个方面的设计:按键部分以及电机驱动部分。实际的设计流程如下所示:
在这里插入图片描述

图4.1 软件流程设计

4.4 软件整体流程

系统的整体工作流程正如上面所说的,刚开始的时候初始化各类寄存器。完成初始化后,便开始等待用户的指令。如果有指令传过来,系统便进入到中断状态,进而去执行相应的动作即可。

在这里插入图片描述

实物图

在这里插入图片描述
在这里插入图片描述

四、 结论

我们设计的自动衣物清洗机具备了生活中衣物清洗机的常用功能,比如按键控制、档位调节等。本系统具有多种调节方式,用户可以通过按键来选择清洗器的工作模式,无论是在大型还是在小型的使用场景中,均具有独特的可行性。本设计按照上面的工作流程完成了全部的工作,从课题设计而言,已经圆满完成了任务。但是系统还存在一些缺点,如:
1,响应速度不够快。用户在按下控制指令后,到机器能够识别该信号,并作出改变之间的时间间隔大概在1s左右,这个延迟在系统作为玩具或者模型时确实足够了,但在企业级应用中,延迟还是太长。
2,功能比较单一。本系统设计的智能衣物清洗器目的并不是作为一款学生玩具,而是旨在能够用于一些高端场合。所以在系统功能性方面还有不少遗漏。
针对上面提出的两个缺点,我们也思考了相应的解决方案。对于问题1,可以采用计算速度比较快的stm32单片机或者arm系列的开发板。而对于问题2,这应该是我今后着重研究的领域,比如为清洗器安装无线监控等。

五、 文章目录

目录
1绪论1
1.2研究意义2
1.3研究现状2
2系统总体设计4
2.1 系统问题概述4
2.2 功能分析4
2.3 系统框架设计4
3.硬件电路设计6
3.1 电源模块的设计6
3.2 单片机选型与介绍6
3.3 外部时钟设计8
3.4 按键电路的设计9
3.5 电机部分设计9
3.6 衣物消毒电路设计10
4 软件设计11
4.1 系统整体流程11
4.2按键部分软件设计12
4.3 电机驱动部分软件设计14
4.4 软件整体流程15
5 结论16
参考文献17
致谢18
附录19

相关文章:

基于单片机的衣物消毒清洗机系统设计

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、系统总体设计2.2 功能分析2.3 系统框架设计 二、硬件电路设计3.1 电源模块的设计 三、 软件设计4.1 系统整体流程4.4 软件整体流程实物图 四、 结论五、 文章目录 概要 基于单片机的衣物消毒清洗机可以应用在…...

将 UniLinks 与 Flutter 集成(安卓 AppLinks + iOS UniversalLinks)

让我们使用 Flutter Mobile 和 Flutter Web 集成 UniLinks。 一步一步的指导! 我是 Pedro Dionsio,是葡萄牙 InspireIT 公司的 Flutter 开发人员,我写这个 UniLinks 教程的座右铭是: Firebase DynamicLinks 已被弃用&#xff0…...

Spring-Spring 之底层架构核心概念解析

BeanDefinition BeanDefinition表示Bean定义,BeanDefinition中存在很多属性用来描述一个Bean的特点。比如: class,表示Bean类型scope,表示Bean作用域,单例或原型等lazyInit:表示Bean是否是懒加载initMeth…...

电脑版WPS怎么将更新目录加到快速访问栏

效果 步骤 开启首页的“标签”、快速访问、在最近置顶展示然后选择好目录点击右边的设置 》 添加标签选中“快速访问”,确定并关闭完成 相关 WPS怎样设置快速访问工具栏 WPS怎样设置快速访问工具栏-百度经验WPS怎样设置快速访问工具栏,WPS怎样设置快速访问工具栏…...

保障效率与可用,分析Kafka的消费者组与Rebalance机制

系列文章目录 上手第一关,手把手教你安装kafka与可视化工具kafka-eagle Kafka是什么,以及如何使用SpringBoot对接Kafka 架构必备能力——kafka的选型对比及应用场景 Kafka存取原理与实现分析,打破面试难关 防止消息丢失与消息重复——Kafka可…...

“1-5-15”原则:中国联通数字化监控平台可观测稳定性保障实践

一分钟精华速览 “只知道系统有问题,但是找不到问题到底出在哪里”,这几乎是大家都面临过、或正在面临的问题。用户在投诉,但是我的指标都是正常的,到底是哪一环出问题了? 本文详细介绍了中国联通在智能运维领域的应用…...

LinkedList详解-Deque接口链表实现方案

简介 LinkedList实现了List和Deque接口。List是一个有序的集合,可以包含重复元素,它提供了在列表的头部、尾部或指定位置进行插入、删除和查找等操作的方法。Deque是双端队列,提供了在列表的头部和尾部进行插入和删除操作的方法。通过实现这…...

【考研数据结构代码题1】二叉搜索树的插入与查找

题目&#xff1a;请用C语言写出二叉树的二叉链表结构&#xff0c;并编写一个函数在二叉搜索树中可以搜索给定的关键字 难度&#xff1a;★ 二叉树的二叉链表结构 #include<stdio.h> #include<stdlib.h> //二叉树的结点结构 typedef struct Node{int data;//存放结…...

世微 平均电流型降压恒流驱动器 电动摩托车LED灯小钢炮驱动IC AP5218

1&#xff0c;来源&#xff1a;深圳市世微半导体有限公司 2&#xff0c;产品描述 AP5218 是一款 PWM工作模式, 高效率、外 围简单、内置功率管&#xff0c;适用于5V&#xff5e;100V输入的高 精度降压 LED 恒流驱动芯片。输出最大功率可达 15W&#xff0c;最大电流 1.5A。AP5…...

docker 下安装mysql8.0

在docker中查询mysql镜像 PS C:\Users\admin> docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation……...

Android MVI架构的深入解析与对比

什么是MVI&#xff1f; M&#xff1a;model&#xff0c;此处的model并不是传统的数据模块&#xff0c;它是指用来存储视图状态UI State的一个模块 。比如请求数据时的loading、请求失败的提示页面等UI层面的变化状态。 V&#xff1a;view&#xff0c;视图模块 I&#xff1a;…...

达梦数据库表空间管理常用SQL

达梦数据库表空间管理常用SQL 表空间容量分析表空间创建与扩容 查看数据库状态&#xff1a; select name,instance_name,status$,mode$ from v$instance; --mode$显示Primary为主库select name,status$,role$ from v$database; --status$&#xff1a;1 启动&#xff0c;2 启动…...

Flutter 组件集录 | InheritedNotifier 内置状态管理组件

theme: cyanosis 1. 前言 在上一篇 《Flutter 知识集锦 | 监听与通知 ChangeNotifier》 中&#xff0c;我们介绍了 ChangeNotifier 对象通知监听者的能力。并通过一个简单的模拟下载进度案例&#xff0c;介绍了它的使用方式&#xff1a; | 案例演示 | 监听-通知关系 | | --- | …...

NOIP2023模拟10联测31 涂鸦

题目大意 有一面由 n m n\times m nm个格子组成的墙&#xff0c;每个格子要么是黑色&#xff0c;要么是白色。你每次将会进行这样的操作&#xff1a;等概率随机选择一个位置 ( x , y ) (x,y) (x,y)和一个颜色 c c c&#xff08;黑色或白色&#xff09;&#xff0c;&#xff0…...

【Python基础知识一】基本语法、常用数据类型等

Python基础知识&#xff1a; 1 标识符&#xff08;Identifier&#xff09;2 关键字/保留字&#xff08;Keyword&#xff09;3 引号4 编码5 输入输出6 行与缩进7 多行语句8 注释9 数据类型9.1 数字(Number)类型9.2 变量&#xff08;variate&#xff09;9.3 字符串&#xff08;St…...

听听ChatGPT对IT行业的发展和就业前景的看法

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏:PYTHON学习系列专栏&#x1f4ab;"没有罗马,那就自己创造罗马~" 目录 (1)判断素数 写法1: 写法2: (2)计算1-100的偶数之和 写法1: 写法2: (3)计算1-100的奇数之和 (4)多层循环 IT行业哪个方向比较…...

〖程序员的自我修养 - 认知剖析篇⑤〗- 选择前端还是后端?

人之所以会觉得迷茫,本质上是欠缺对自己的一个控制力、识别庞杂信息、去伪存真的独立思考与认知能力。 说明:该文属于 程序员的自我修养 专栏,购买任意白宝书体系化专栏可加入易编程社区,早鸟价订阅模式除外。福利:加入社区的小伙伴们,除了可以获取博主所有付费专栏的阅读…...

Rust语言初步

文章目录 安装与测试变量条件语句和函数数组和元组循环 安装与测试 可以从官网直接下载。下载rustup-init并运行之后&#xff0c;会打开命令行&#xff0c;选1默认安装&#xff0c;然后不出意外就安装完了。 安装完成后按照惯例查看一下版本&#xff0c;如不报错就算成功。 …...

BIMILLC算法源码解析

论文链接&#xff1a;https://arxiv.org/abs/1607.02533 源码出处&#xff1a;https://github.com/Harry24k/adversarial-attacks-pytorch/tree/master 源码 import torch import torch.nn as nnfrom ..attack import Attackclass BIM(Attack):r"""BIM or iter…...

Android STR研究之五

前言&#xff1a; 在前四篇中初步介绍了开机流程&#xff0c;STR流程&#xff0c;唤醒流程&#xff0c;这里讲下STR的问题点 Android STR研究之一-CSDN博客 Android STR研究之二-CSDN博客 Android STR研究之三-CSDN博客 Android STR研究之四-CSDN博客 问题1&#xff1a;进入STR…...

python3+requests接口自动化测试实例详细操作

前段时间由于公司测试方向的转型&#xff0c;由原来的web页面功能测试转变成接口测试&#xff0c;之前大多都是手工进行&#xff0c;利用postman和jmeter进行的接口测试&#xff0c;后来&#xff0c;组内有人讲原先web自动化的测试框架移驾成接口的自动化框架&#xff0c;使用的…...

在Node.js中,什么是中间件(middleware)?它们的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...

当函数参数为一级指针,二级指针

当函数参数为一级指针&#xff0c;二级指针 在讲述内容之前&#xff0c;先讲四点重要知识 1.当传入参数时&#xff0c;函数形参会立即申请形参的内存空间&#xff0c;函数执行完毕后&#xff0c;形参的内存空间立即释放掉。 1.指针是存放其他变量地址的变量。指针有自己的内…...

Hydra post登录框爆破

文章目录 无token时的Hydra post登录框爆破带Token时的Hydra post登录框爆破 无token时的Hydra post登录框爆破 登录一个无验证码和token的页面&#xff0c;同时抓包拦截 取出发送数据包&#xff1a;usernameadb&password133&submitLogin 将用户名和密码替换 userna…...

阿里云推出AI编程工具“通义灵码“;生成式 AI 入门教程 2

&#x1f989; AI新闻 &#x1f680; 阿里云推出AI编程工具"通义灵码"&#xff0c;支持多种语言及实时续写功能 摘要&#xff1a;阿里云推出了一款名为"通义灵码"的AI编程工具&#xff0c;支持多种主流编程语言&#xff0c;包括Java、Python、Go等。该工…...

使用Qt Installer Framework将自己的程序打包成安装包程序

使用Qt Installer Framework将自己的程序打包成安装包程序 制作安装包程序就是将自己的程序打包成一个可执行的exe&#xff0c;双击之后进行安装。 1. 在制作安装包程序之前需要安装qt官方提供的安装包制作工具Qt Installer Framework 去qt官方网址&#xff0c;下载对应的 Q…...

逆袭Flutter? Facebook 发布全新跨平台引擎 Hermes!

Facebook 于前日发布了新的 JavaScript 引擎&#xff1a;Hermes&#xff0c;专注于提高 React Native 应用的性能&#xff0c;并且在市面上那些内存较少、存储速度较慢且计算能力低下的移动设备上都有良好的表现。但是不是为了追赶Flutter&#xff1f;这块作者没有说明。 移动应…...

c++ 互斥锁使用详解 lock_guard

c 互斥锁使用详解 std::mutex 用于保护共享资源&#xff0c;防止多个线程同时修改共享资源而引发竞争条件。 成员函数 lock&#xff1a;锁定互斥&#xff0c;若互斥不可用则阻塞。try_lock&#xff1a;尝试锁定互斥&#xff0c;若互斥不可用则返回。unlock&#xff1a;解锁…...

【快速解决】Android Button页面跳转功能

目录 让我们直接开始 第一步&#xff1a;先建立一个新的activity ​编辑 第二步&#xff1a;打开第一个页面的Java文件MainActivity 方法一&#xff1a;直接跳转功能如下&#xff1a; 方法二&#xff1a;输入密码才能进行跳转功能如下&#xff1a; 需要注意的地方 结语 让…...

C语言 pthread_create

备注void *&#xff0c;最好添加返回值 原因&#xff1a;在实践中&#xff0c;虽然你的函数可能不需要返回任何值&#xff0c;但为了与 pthread_create 函数的预期函数指针格式相匹配&#xff0c;最好遵守函数指针所需的返回类型。这是一种良好的编程实践&#xff0c;确保你的代…...