伸缩晒衣架控制系统设计|毕业设计项目|毕设项目|单片机项目|物联网专业|毕业设计

一、項目介绍
摘 要
智能晾衣架属于智能家居的关键形成局部,渐渐开始替换传统晾衣架走进寻常百姓家,传统晾衣架存在使用不太方便,不能按照天气变化自动调节之类的状况,所以,本文就设计出一个依靠 STM32F103C8T6 单片机的智能伸缩晾衣架控制系统,这个系统采取模块化设计,包含 STM32 主控模块,温度监测模块,雨量监测模块,光照监测模块,红外遥控模块,实时时钟模块,独立按键模块,OLED 显示模块,步进电机推动模块以及蓝牙通信模块。各个传感器随时采集环境参数,系统会遵照光照强度,降雨情形以及预先设定的时间段自动控制晾衣架伸缩,而且具备本地按键,红外遥控和手机微信小程序这三种控制手段。 OLED 显示屏会及时显示当前时间,光照强度,工作模式以及天气状况等信息,在完成硬件电路设计,PCB制作以及软件程序开发之后,又对系统展开了全面的调试与检测。 测试结果表明,该系统结构合理,运行稳定,响应快速,可达成高效,智能的晾衣架自动化控制,给用户带来便捷,可靠的使用感受,也为传统家居产品的智能化改造给予了实用的解决办法。
关键词:智能晾衣架;STM32单片机;自动控制;传感器技术;蓝牙通信
研究内容
本课题旨在设计一套基于STM32F103C8T6单片机的智能伸缩晾衣架控制系统,实现环境监测、自动控制、远程操作等功能。主要研究内容包括以下几个方面:
(1)系统总体方案设计:要想分析智能伸缩晾衣架的功能需求并确定系统的总体架构,就得划分硬件模块和软件模块,还要明确各个模块的功能及其接口关系。
(2)硬件电路设计:以STM32F103C8T6为核心来设计最小系统电路,选择并设计各个功能模块电路,这些功能模块涵盖温度监测模块,雨量监测模块,光照监测模块,红外遥控模块,实时时钟模块,独立按键模块,OLED显示模块,步进电机推动模块,蓝牙通信模块以及电源电路,最终做完PCB的设计与制作。
(3)系统软件设计:在Keil5开发环境当中,编写系统主程序以及各个功能模块的推动程序,设计独立按键处理程序,OLED显示程序,步进电机控制程序,ADC模数转换程序,红外接受程序,时钟模块读写程序以及蓝牙通信程序,做到自动控制策略,其中涵盖光照自动控制,雨量自动控制和定时控制。
(4)人机交互设计:设计本地交互形式时,包含按键控制部分,OLED显示屏会即时显出时间,光照强度,工作模式,天气状况等信息。做到用红外遥控器实施远程控制,开发手机微信小程序,并凭借蓝牙模块达成远程监测与控制的目的。
(5)系统调试与测试:对硬件电路展开调试以确保各个模块均能正常运行,针对软件功能实施检测来证实手动控制,自动控制,遥控控制以及手机 APP 控制等功能是否有效,还要对系统的性能执行检测,其中涉及响应时间,功耗以及稳定性等指标。
设计目标
本课题旨在设计一套基于STM32F103C8T6单片机的智能伸缩晾衣架控制系统,该设计主要可以分为三部分:中控采用STM32F103C8T6单片机充当主控芯片,其主要职责在于对输入信号加以处理,并据此来控制输出,输入部分包含温度监测模块,红外遥控器模块,即时时钟模块,雨量监测模块,光照检测模块,按键模块以及供电电路,输出部分则涵盖OLED显示模块和步进电机模块,而且蓝牙模块具备输入及输出双重功能,用以完成与手机微信小程序之间的数据交互。
经由这个系统设计,可以及时监测环境温度,光照强度以及降雨状况,还能用红外遥控器远距离操控晾衣架的伸缩,而且支持经由手机微信小程序远程查看系统状态。系统具有实时时钟功能,会记录当前时间,而且断电时不会消失;按下按钮就能设定阈值参数并控制继电器开关;OLED显示屏可即时显现当前时间,光照强度,晾衣架的工作状态,当下的工作模式以及周围是否下雨;步进电机用来模仿晾衣架的伸缩运动,形象地表现晾衣架的工作状态。
系统功能需求
本系统的功能需求着重集中在环境检测,人机交互和自动控制这三个方面,在环境检测这个层面,系统要有温度监测的能力,依靠温度传感器随时采集环境温度的相关信息;也要有雨量监测的功能,凭借雨量检测模块来及时掌握是否有降雨情况,一旦探测到雨水,系统就能作出回应;此外,光照监测也是其功能之一,利用光照检测模块不断收集环境中的光照强度,进而为晾衣架的自动伸缩给予参考依照,而且还要具备实时时钟的功能,借助实时时钟模块得到当前的时间,并且具有断电保存的能力,这样在系统断电之后重新启动的时候,时间就不会发生改变。
在人机交互层面,该系统需具备多种控制形式,利用红外遥控器模块时,用户可于指定范围对晾衣架执行操作,经由独立按键达成本地人机交流,包含菜单选取,参数增减设定等功能,用户能够凭借按键来设置光照临界值,切换工作模式,手动控制继电器开关,而且,当系统以蓝牙模块同手机微信小程序关联之后,用户就能做到远程检测与控制,随时掌握当前时间,光照强度,晾衣架工作状况,当前工作模式以及有无降雨等信息。 系统要借助OLED显示屏及时显示相关系统信息,这样使用者就能直观感知系统的运行情况,系统经由步进电机模块模仿晾衣架的伸缩行为,依照控制指令达成伸出与收回,从而真实表现晾衣架的实际工作状态。
在自动控制方面,系统需要支持手动和自动两种工作模式。在手动控制模式下,用户通过按键、红外遥控器或手机APP直接控制步进电机正转(伸出)或反转(收回),不受环境参数影响。在自动控制模式下,系统根据环境参数自动控制晾衣架伸缩:在设置的时间段内并且处于自动模式的时候,如果光照值小于所设定的最小值或者大于所设定的最大值,那么就会自动收回晾衣架。当雨量检测模块检测到下雨情况时,晾衣架也会自动收回,如果超出了预先设定的时间段,系统就会切换到手动模式,并将晾衣架收起,而且,用户还要可以经由按键来设置光照强度的最大值和最小值的临界值,从而符合个人化的使用需求。
系统总体架构
本系统采用模块化设计思想,整体可以分为三大部分:输入部分,中控部分以及输出部分,其中,中控部分把STM32F103C8T6单片机当作主控芯片,该部分主要负责对输入信号加以处理及分析,并遵照预置的控制逻辑生成对应的输出控制信号以使各个模块协同工作。STM32F103C8T6单片机具备高性能,低功耗,众多外设接口等长处,可以符合本系统控制的需求。
输入部分由七个模块组成:温度检测模块负责采集环境温度数据,红外遥控器模块可接收到遥控器发出的控制指令以达成远距离控制,实时时钟模块给予即时时间信息且具备掉电保存功能,雨量检测模块用以判断是否下雨,给自动收回供应参考依照,光照检测模块则用来测量环境光照强度,为自动控制赋予依照,按键模块可设定阈值参数并执行手动控制继电器开关,供电电路向整个系统供应稳定电源。
输出部分由两个模块组成:显示部分用上了 OLED 显示屏,可以及时显示当前时间,光照强度,晾衣架的工作状态,当前模式以及是否下雨之类的信息。步进电机模块用来模仿晾衣架的伸缩动作,从而直观表现晾衣架的工作状态,而且,蓝牙模块具备输入和输出功能,经由手机微信小程序达成双向通信:一是把当前时间,光照强度,晾衣架的工作状态,当前模式,是否下雨等等信息传送到手机端显示;二是接收手机端发出的控制指令,以做到对系统实施远程控制。
系统上电以后,首先要对各个模块执行初始化操作,单片机系统时钟,GPIO,定时器,OLED,时钟模块以及蓝牙模块均包含在内,等到这些模块全都完成初始化之后,系统就会进入到主循环当中,并依照数据采集,按键处理,数据显示,控制决策,执行控制这样的顺序不断重复运行下去,从而做到系统能够持续稳定地运行,采用模块化的设计方案以后,系统的整体架构变得十分明晰,而且各个模块各自的功能也都相对独立,这就给之后的调试过程,守护工作以及功能方面的升级带来了诸多便利之处。
二、文档介绍





三、项目设计
开发环境介绍
本设计所用编程软件是 Keil uVision5(以下简称 Keil5),其界面见图 4 - 1。Keil5 当下在嵌入式软件开发领域被普遍采纳作为集成开发环境,同其他编程环境相比,Keil5 更显精简轻便,操作更为简易,很受众多嵌入式软件开发者所青睐,此软件包含诸多芯片系列,其中涵盖 51 单片机,STM32,HC32 以及 NXP 等,因而可适应不同的开发需求,Keil5 具备大量库函数及调试工具,它们能够大幅缩减开发时延并提升开发速度。
Keil5编译系统提供三种编译方式:单文件编译,部分编译以及全部编译这三种编译方式给予开发者较大的选择余地,编译结果位于界面底部,便于开发者找到并定位错误,由Keil5生成的HEX文件,可以直接经由烧录器传送到单片机当中,其操作过程十分简便,本设计凭借Keil5来执行程序编写,编译调试以及代码下载,从而为系统软件的达成给予了稳定而可靠的开发环境。
主程序设计
系统主程序的流程见图4 - 2,系统上电之后,首先要对各个模块执行初始化操作,单片机系统时钟,GPIO口,定时器,OLED显示屏,实时时钟模块以及蓝牙模块等等都要初始化,等到这些初始化工作做完以后,系统就会进入到while主循环当中,并且在该循环里去执行各类相关的任务。
主循环当中首先会调用检测函数,此函数负责向各个传感器模块发出指令以获取当前环境的即时信息,比如时间,光照强度以及有无降雨等情况的数据,接着是按键处理函数,该函数经由监测按键所处的状态来触发一系列预设动作,涵盖设定测量参数的临界值,调节晾衣架的工作模式之类的事情,再之后就是显示函数,这个函数把检测得到的数据以及系统的当前状况立即传送至 OLED 显示屏予以显示,并且经由蓝牙模块发送给用户的手机微信小程序,从而使得用户能够在远离现场的地方了解到当前的时间,光照强度,是否有雨,还有晾衣架处于何种工作状态之类的资讯。
最后进入处理函数,根据当前工作模式和采集到的环境参数进行控制决策:如果处在设置的时间段之内并且是自动模式,那么一旦光照值小于设定的最小值或者大于设定的最大值,就会自动收回晾衣架。雨量检测模块若监测到下雨情况,晾衣架也会自动被收回,当超越预先设定好的时间段时,系统会转为成手动模式,并且把晾衣架收回,依靠主循环反复去执行,就能达成系统持续而稳定地运行。
自动控制策略设计
本系统包含自动控制策略,主要集中在光照自动控制,雨量自动控制和定时控制这三方面,从而使得晾衣架能遵照环境变化自动调节,具备智能化特征。
在光照自动控制方面,系统处于自动模式时会随时监测环境光照强度,用户能够经由按键来设置光照强度的最小值与最大值阈限。如果光照值小于所设最小值,则说明环境光线缺乏,不利于衣物晾晒,系统会自动经由步进电机把晾衣架收起;而当光照值超过所设最大值时,就显示光照过强,有可能损害部分衣物,系统仍会自动收回晾衣架,凭借这样的控制策略,可以在不同的光照环境下保护衣物,并提升晾晒的效率。
在雨量自动控制这块,系统依靠雨量检测模块随时观察是否下雨,一旦雨量传感器监测到雨水,不管当下处于哪种工作模式,系统就会先作出反应,自动控制晾衣架收起,防止衣物被雨水浸湿。此功能化解了用户出门时天降大雨却不能立即收衣服的难题,彰显出智能家居的便捷性与实用性。
在定时控制上,系统融合实时时钟模块所给出的时间信息,从而达成依循时间的自动控制,用户能够预先设定自动控制的有效时段,在指定的时段当中,系统依照自动模式来运作,并遵照光照和雨量情况去调控晾衣架;一旦超过了预先设定的时段,系统就会自动转为成手动模式并且收回晾衣架,这样设计既能满足白天自动晾晒的需要,又可免除夜晚不必要的电机运转,进而做到节能以及增长设备的使用寿命。
结 论
本课题经由STM32F103C8T6单片机设计并制作出一套智能伸缩晾衣架控制系统,该系统以STM32F103C8T6为核心控制芯片,其中包含了温度检测模块,雨量检测模块,光照检测模块,红外遥控模块,实时时钟模块,独立按键模块,OLED显示模块,步进电机驱动模块以及蓝牙通信模块,此系统能够及时监测环境参数,自动或者手动控制晾衣架,并执行本地或者远程操作等,最终达成了预定的设计目的。
硬件设计上,完成STM32F103C8T6最小系统电路设计,依照各模块功能需求选用合适的传感器与执行器件,规划对应的接口电路及信号处理电路。经由模块化设计思路,把系统分解成主控模块,传感器模块,输入模块,输出模块,通讯模块和电源模块,这些模块功能相对独立,接口比较明晰,利于调试及后续服务工作,而且做完PCB电路的设计并加以制作,合理规划其布局与布线,从而保障系统具备稳定性和可靠性。
在软件设计上,利用Keil5开发环境编写系统主程序及各个功能模块的激发程序,独立按键子程序执行去抖处理,从而保障按键识别的准确,OLED显示子程序做到系统状态信息随时显示,步进电机子程序凭借定时器控制精准模拟晾衣架的伸缩,ADC模数变换子程序有效采集环境参数,红外接收子程序达成遥控指令的解码与执行。时钟模块子程序可确保时间的准确读取并做到断电保存,蓝牙通信子程序可达成与手机微信小程序之间双向的数据交互,系统主程序依照数据采集,按键处理,数据显示,控制决策的流程反复运行,以做到各功能协调工作。
在自动控制策略上,设计了光照自动控制,雨量自动控制以及定时控制这三种策略,光照自动控制依照用户所设定的阈值,当光照过低或者过高的时候,会自动收回晾衣架。雨量自动控制随时监测降雨状况,只要探测到雨水,就会立刻自动收回晾衣架,定时控制配合实时时钟模块,到了预设时间范围之外就自动转换成手动模式,并自动收回晾衣架,把这些多种控制策略融合起来,使得系统可以应对各种不同的使用环境和用户需求,从而表现出智能家居既方便又智能的特点。
在系统调试与检测上,做了硬件调试,软件调试,功能检测和性能检测,硬件调试要保证各个模块的电路连接无误,工作稳定。软件调试需验证各驱动程序功能是否正确且协调,功能检测全方位证实手动控制,自动控制,遥控控制以及手机APP远程控制等功能是否有效,性能检测则针对系统的响应时间,功耗和稳定性实施量化评价,检测结果表明,系统各项功能正常,其性能指标符合设计要求,运行稳定可靠。
综上可得,本设计如期达成了智能伸缩晾衣架控制系统各功能目标,把嵌入式技术,传感器技术和物联网技术整合施用于传统家居用品之上,给用户带来方便又智能的晾晒衣物方法,此系统具备即时检测周围环境,多种启动途径,智能自主运作以及显示当前状态等特性,可以较好地改善传统晾衣架存在不便于操作,难以适应突变天气之类的状况,其实用价值与应用潜力不容小觑。
更多推荐



所有评论(0)