基于单片机的智能窗户控制系统的设计
扫描二维码
随时随地手机看文章
引 言
随着科技的进步,智能化家具不断发展。现代社会人们工作繁忙、早出晚归,常常忘记关窗。当遇到恶劣天气或小偷潜入时,可能会造成不必要的财产损失。所以传统的手动开关窗已无法满足人们对于更高生活品质的要求。因此需要开发一种能够收集外界情况,且能在雨天、刮风天自动关窗,同时实现防盗功能的智能窗户 [1]。
STC89C52 单片机以其结构简单、价格低廉在控制领域得到广泛应用。文献 [2] 以 STC89C52 为控制器, 利用A/D 转换技术,pH 传感器和温度补偿模块设计了一种能够准确测量溶液 pH 值的 pH 值测量仪。文献 [3] 以 STC89C52 为控制器,采用达林顿阵列、继电器队列和LED 灯组设计了一套智能交通灯控制系统,可受上位机控制。文献 [4] 以STC89C52 为控制器,采用温度传感器和无线遥控模块设计了一种智能风扇控制系统,在温度高时可自动换挡。文献 [5] 以STC89C52 为控制器,采用蓝牙串口模块、红外热释模块和电机驱动模块设计了一种智能全自动洗衣机控制系统,该系统可无线设定洗衣模式和洗衣时间,出现突发情况可及时报警。文献 [6] 以STC89C52 为控制器,采用红外避障模块、超声波测距模块和电机驱动模块设计了一套自动泊车智能小车控制系统,该系统可自动规避障碍物并将车停入车库。文献 [7] 以STC89C52 为控制器,利用多种传感器设计了一套家庭智能安防系统,在火灾和煤气泄漏时系统可自动报警,可实现防盗功能。
本文以 STC89C52 单片机为控制器来设计智能窗户控制系统,由光电传感器、温湿度传感器、红外传感器等模块检测天气情况,经处理后传入单片机,单片机对信号进行运算处理,再将输出信号送入电机驱动模块、显示模块或蜂鸣器模块。同时,用户还可通过红外遥控器手动控制窗户开关,使生活更加方便、舒适 [8]。
1 总体设计方案
本系统基于STC89C52 单片机系统设计,由光电传感器模块、温湿度传感器模块、碰撞传感器模块、红外传感器模块、红外遥控模块、蜂鸣器报警模块、显示模块、电机驱动模块等组成。其原理框图如图 1 所示。
温湿度传感器模块检测窗户周边的温湿度,通过A/D 采样传输到单片机、显示器,经单片机处理后,当温度高于30℃时控制电机正向转动以打开窗户,低于10℃时控制电机反向转动以关闭窗户。光电传感器模块检测窗户行进路线中是否存在障碍物,经单片机处理后,若有障碍物则控制电机停止运行,反之则控制电机持续运行。雨滴传感器模块检测是否下雨, 经单片机处理后,下雨时控制电机反转关闭窗户,反之控制电机正转打开窗户。风速传感器模块检测窗外风速,并通过 A/D 采样传输到单片机中,经单片机处理后,当风速高于13.9m/s 时控制电机反转关闭窗户,低于13.9m/s时控制电机正转打开窗户。人体红外检测模块检测窗外是否有人,经单片机处理后, 若有人则控制电机反转关闭窗户,同时蜂鸣器发出警报,反之则控制电机保持原有状态。红外接收模块采集红外遥控信号, 并将其输出到单片机上,控制电机正转打开窗户或反转关闭窗户。碰撞传感器模块检测窗户是否完全关闭或打开,经单片机处理后,若窗户完全关闭或打开则控制电机停止转动,反之则控制电机保持原有状态。
2 硬件设计
2.1 单片机最小系统设计
本系统采用的 STC89C52 芯片为 STC 公司设计生产的 一种低功耗、高性能的 CMOS 8 位微控制器,并具有 8 kB 系统可编程 FLASH 存储器,拥有 8 位 CPU 和系统可编程 FLASH,使得系统更加灵活、有效 [9]。
2.2 温湿度传感器
温湿度传感器模块采用DHT22 数字温湿度传感器,该传感器用于检测室外温湿度,并将信号传送到单片机,同时在显示屏上显示。该传感器具有可靠的数字模块采集技术, 能够实时采集温湿度信息并反馈至单片机,其传输的 40位数字信号前 16位为湿度数据,随后 16位为温度数据,最后8位为校验和,可测温度量程为- 40~80℃,湿度量程为0 ~100%RH。
2.3 人体红外检测模块
红外检测模块采用HC-SR501 人体红外感应模块,该模块功能强大,可用于防盗,既可采用全自动感应,当有人进入感应范围时输出高电平,又可采用光敏控制,在白天强光时不感应,当感应到室外有人时将高电平信号传送到单片机,单片机控制蜂鸣器发出警报,房屋主人即可知道有人在窗外。考虑到夏天温度较高,设有一个温度补偿 RT,当温度升高至30 ~32℃时,即可作出一定程度的温度补偿,提高其精确度。
2.4 光电传感器模块
光电传感器基于对射式光电传感原理,由投光器和受光器组成。该传感器用于检测是否有异物阻挡在窗户的行进轨道上,若有则输出低电平,单片机控制电机停止转动,避免损伤人或物品;而正常情况下则输出高电平,不影响电机转动。
2.5 碰撞传感器模块
碰撞开关用于检测窗户是否已经完全关闭或开启。当窗户关闭不完全即碰撞开关未闭合时,该模块 3 脚 OUT 口输出高电平,指示灯熄灭;而当碰撞开关闭合即窗户完全关闭时则输出低电平,指示灯点亮。利用该模块可以很好地保护电机, 避免电机空转。
2.6 风速传感器模块
风速传感器采用三杯式风速计,在风力的作用下带动三个杯体旋转,只需将电压采样端直接与单片机 A/D 口相接, 另一端接地即可。其不同的输出电压对应不同的风速,转速越大,电压越高。
2.7 电机驱动模块
本设计采用电机驱动芯片L298N 来驱动 24 V 直流电机,电机驱动模块电路图如图 2 所示。该驱动板可驱动 2 路直流 电机,ENA,ENB 为使能端,在高电平时有效,通过设置 INT1,INT2 确定电机转动方向,再对其使能端输出 PWM 脉 冲即可实现调速。通过改变 INT3,INT4,ENB 的电平来确 定电机的转动方向和状态,其中 VCC 为 5 V。
2.8 雨滴传感器模块
雨滴传感器使用宽电压 LM393 比较器,可输出数字信号和模拟信号。当有雨时 D0 输出低电平,指示灯亮 ;无雨时D0 输出高电平,指示灯灭。而模拟量则可用于检测滴落在传感器表面的雨量大小。将上述信号传送至单片机,经数据处理后控制电机正反转,继而实现窗户的开启或关闭。
2.9 红外遥控模块
红外遥控模块分为红外接收器和遥控器,其接收器接收头为 1838 红外接收头,具有抗光功能,电磁干扰能力强,且内置红外线专用IC。该红外接收模块为 3 线制,VCC 为外接5 V电压,GND 为外接地,D0 为数字输出端口,单片机通过读取该输出端口的二进制数值来控制电机转动或停止。遥控器采用NEC编码格式,遥控距离可达8 m,采用2.5 V干电池供电。遥控器中各按键都有固定编码,按下后几十毫秒内红外接收器会接收到一串二进制编码,将其送入单片机后由单片机判断并执行相应操作。
2.10 显示器模块
显示器采用LCD1602 液晶屏显示温湿度。该液晶屏可以显示 32 个字符,完全满足温湿度显示要求。
3 系统软件设计
本系统以 Keil 作为单片机编程软件,C 语言作为编程语言。其系统流程如图3 所示。通过各传感器对周围环境的检测, 将信息送入单片机内,由单片机判断并执行相应操作。单片机主程序main 调用各子程序,其余所有传感器的信息判断、电机模块驱动、LCD1602 温湿度显示、蜂鸣器报警等均写入子模块中,方便移植和阅读 [10,11]。
4 结 语
本系统采用STC89C52 单片机及各类传感器,LCD1602,蜂鸣器等器件,将光、风、温、电等技术结合为一体,具有较高的可靠性、安全性和极强的实用性。整体的设计创新点在于添加了防异物功能,也能较好地避免夹伤用户。本系统通过一些方便实用的传感器实现了对外部环境的监测,将外界信息显示在显示屏上,并由单片机控制电机驱动模块、人体红外检测模块等,最终实现了智能开关窗户的目的,具有较高的实用价值和广阔的应用前景。