APP下载

基于单片机的自动窗帘设计

2023-01-31陈峰

电子制作 2023年1期
关键词:窗帘按键蓝牙

陈峰

(江苏商贸职业学院,江苏南通,226011)

0 引言

目前家庭居住环境的采光及避光问题主要采用的是手动开闭窗帘,手动开闭不仅费力而且很多方面不够人性化,会对用户造成一定的困扰。为了解决这些问题,本文设计了基于单片机的自动窗帘控制系统,具有以下特点:可以实现光照控制、定时控制和蓝牙控制三种工作模式,光照控制模式下根据光照强度实现窗帘自动开闭,定时控制模式下能根据设定的时间实现窗帘自动开闭,蓝牙控制模式下可利用手机远程遥控功能实现窗帘开闭,给用户带来很大的方便。

1 总体设计

自动窗帘控制系统的总体设计框图如图1所示,由单片机最小系统、光照强度检测电路、模数转换电路、实时时钟电路、LCD1602液晶显示电路、按键模块和蓝牙模块等共同组成。

图1 自动窗帘控制设计框图

2 硬件设计

自动窗帘控制系统的电路原理图如图2所示。该系统以STC89C52单片机为核心,单片机根据系统的工作模式,通过获取光照强度、当前时间来控制电机正反转实现窗帘的开闭,按键模块用于设置窗帘开闭时间和光照强度上下限阈值,手机APP通过蓝牙模块与单片机进行通信,实现系统工作模式的切换和蓝牙控制模式下窗帘的开闭。

图2 自动窗帘控制系统电路原理图

■2.1 单片机最小系统

设计中采用STC89C52RC单片机作为系统核心,由电源、时钟电路、按键复位电路构成单片机最小系统,控制协调整个控制系统的运行。

■ 2.2 光照采集模块

光照采集模块主要由光敏电阻、ADC0831芯片组成。光照采集模块利用光敏电阻采集光照强度,光敏电阻检测到光照强度的变化,将电阻变化值转化为电压变化值,并通过模数转换芯片ADC0831将电压值转换为数字信号传输到单片机进行处理,从而实现光照控制模式下窗帘开闭的控制。

■ 2.3 实时时钟电路

实时时钟电路主要用于定时工作模式,DS1302是单片机系统中常用的日历时钟芯片。该芯片可提供秒、分、时、日、月、星期和年信息。DS1302与单片机之间能方便地采用同步串行的方式进行通信。通过时钟电路计时,系统根据计时时间和设置定时时间进行比较控制窗帘的开闭。

■2.4 LCD1602液晶模块

采用1602液晶显示器实时显示系统的工作状态和设置状态信息,系统工作时液晶实时显示系统工作模式和当前光照强度、当前时间;设置状态时液晶显示如图3和图4所示,实时显示相应的设置参数信息。

图3 设置定时时间液晶显示界面

图4 设置光照上下限液晶显示界面

■ 2.5 按键设置电路

采用3个独立按键来设置窗帘开闭时间和光照强度上下限阈值,其中设置按键K1用于工作状态、时间设置、光照设置的切换,按键K2用于在设置状态下,对应设置的参数加1。按键K3用于在设置状态下,对应设置的参数减1。

■ 2.6 电机模块

单片机根据光照强度、设定时间或者远程遥控调节直流电机的正反转,从而实现窗帘的自动开闭。采用8个晶体管接成复合管构成电机的驱动电路。当A=0,C=1时,VT1、VT2及VT7、VT8导通,电机正转;当A=1,C=0时,VT3、VT4及VT5、VT6导通,电机反转。

■ 2.7 蓝牙模块

采用HC-06蓝牙模块,可方便地与手机等智能终端的蓝牙设备相连,实现两个模块之间通信。由于HC-06模块支持UART接口,因此将HC-06的TX、RX分别和单片机的RXD、TXD,通电后即可进行二者之间的串口通信。通过手机蓝牙串口APP的手机发出相应的指令来实现光控模式、定时模式和蓝牙模式切换以及蓝牙模式下远程遥控电机正反转实现窗帘开闭。

■ 2.8 限位开关

利用两个限位开关实现全开点、全关点电机自动停止来防止窗帘电机过度转动而造成窗帘损坏。

3 软件设计

根据自动窗帘控制系统的功能,软件设计主要的工作是采集当前光照强度和时间,并根据工作模式实现窗帘打开和关闭的智能化控制。

■ 3.1 主流程图

系统的软件设计流程图如图5所示,先进行串行口和LCD1602液晶初始化,然后读取当前时间和光照强度,通过扫描按键执行相关参数的设置功能,根据不同工作模式,对窗帘进行控制,并通过LCD1602液晶实时显示相关信息。

图5 主程序流程图

串行口中断服务程序流程图如图6所示,主要用于接收手机蓝牙APP发送的数据SBUF,并根据SBUF的内容设置系统的工作模式、蓝牙模式下电机正反转和停止。蓝牙串口APP界面如图7所示,通过按键编辑器设置每个按钮发送的字符。6个按钮对应的字符如表1所示。

图6 串行口中断服务程序流程图

图7 蓝牙APP界面

表1 按钮对应发送字符

■3.2 读取信息子程序

主要由读取当前时间和光照强度组成。系统启动后,单片机从DS1302时钟芯片获取时间,通过A/D转换、数据处理进行光照强度的采集。

■3.3 按键检测子程序

按键检测控制程序主要进行窗帘开启、关闭时间和光照上下限阈值的设置,其流程图如图8所示。变量flag用于表示系统设置的参数,变量flag对应的设置状态如表2所示。

图8 按键检测子程序流程

表2 变量flag对应的设置状态

■3.4 液晶显示子程序

显示子程序主要根据变量flag值显示系统的工作或设置状态的信息。当flag=0时为工作状态显示界面,实时显示系统的工作模式、光照强度和当前时间;当flag <5时显示设置时间显示界面;当flag<7时显示设置光照强度界面。

■3.5 光照控制和定时控制子程序

当MODE=0时为光照控制模式,当光照强度低于光照下限阈值时,电机正转,窗帘开启到开限位时电机停止;当光照强度高于光照上限阈值时,电机反转,窗帘关闭到关限位时电机停止。

当MODE=1时为定时控制模式,当前时间大于窗帘开启时间时,电机正转,窗帘开启到开限位时电机停止;当前时间大于窗帘关闭时间时,电机反转,窗帘关闭到关限位时电机停止。

4 仿真调试

利用KEIL软件与PROTEUS软件进行联合仿真调试,使用AT89C51代替STC89C52。仿真时通过串口模拟蓝牙,系统仿真效果如图9所示,LCD1602液晶第一行显示当前工作模式为光照模式,当前光照为60%;第二行实时显示时间。通过改变光敏电阻(LDR1)中灯的位置改变光强,观察电机是否转动。采用串口调试助手发送相应控制字符观察能否进行工作模式的切换,并测试定时模式和蓝牙模式系统是否正常工作。

图9 系统仿真结果图

5 结语

自动窗帘控制系统有光照控制、定时控制和蓝牙控制三种工作模式,通过手机蓝牙串口APP来实现工作模式切换。在光照控制模式下,窗帘开闭由当前光照强度控制,高于设定上限阈值就关窗帘,低于设定下限阈值则开窗帘系统;在定时控制模式下,当计时时间和预设的定时时间一致时进行控制窗帘开闭;在蓝牙控制模式下,系统通过HC-06蓝牙模块接收数据,来控制窗帘开闭。该系统能够取代传统窗帘,能够一定程度上满足了人们对于智能家居的需求,方便人们的生活,具有一定的应用价值。

猜你喜欢

窗帘按键蓝牙
蓝牙音箱的直线之美
基于有限状态机的按键检测程序设计
赶路人
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
按键消抖在单片机和FPGA实验教学中的应用
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
巧做窗帘
相思湖
紧急:蓝牙指尖陀螺自燃!安全隐患频出
一种多方向导光按键结构设计