彭甫森,刘江鹏,翁龙海,韦霄翔
(东南大学成贤学院,江苏南京,210000)
使用市面上的传统窗户时,每次外出都需检查窗户是否上锁,预防小偷入室盗窃;每次刮风下雨都会思虑家里的窗户是否关闭,担心雨滴飘进室内,这些都给生活增添了负担。身处快节奏生活的人们急切需要一种智能型的自动开关窗系统,在刮风下雨时能够智能的关闭窗户,在盗贼入侵时能够智能的通知户主,在有害气体泄漏时能够自动开窗。这种智能化窗户能够减轻家庭生活的负担,给人们带来更大的便利和安全。
本设计利用微控制器以及相关传感器实现窗户的自动开关。微控制器会处理来自传感器的信号,从而实现相关功能,相较于传统的窗户更加智能,符合社会发展需求。考虑成本以及设计难度,我们选择STC89C52RC为微控制器,系统由雨滴传感器模块、声音传感器模块、烟雾传感器模块、红外传感器模块、电机模块、限位开关、短信模块组成,设计方案框图如图1所示。
图1 设计方案框图
智能窗户系统的运行模式分为自动和手动,由按键切换。在手动模式下,微控制器不处理来自雨滴传感器、声音传感器和烟雾传感器的信号,窗户的开关由按键控制。在自动模式下,微控制器首先会判断当前窗户的状态,根据不同的状态,处理不同的传感器信号。当开窗状态下,微控制器不处理来自烟雾传感器的信号,当关窗状态下,微控制器不处理雨滴和声音传感器的信号。窗户的开关是由限位开关的状态来确定[3]。窗户关闭时,限位开关被触发,给微控制器一个信号,否则没有信号,微控制器根据信号的有无判定窗户的开关状态。
在自动关窗时,当窗户上的红外传感器检测到关窗途中有阻碍时,将会发送信号给微控制器,微控制器会控制电机停止转动。
为了保证财产生命安全,当窗外的红外模块检测到窗前有人停留时,微控制器则会控制短信模块发短信给户主。
整个系统的微控制器是STC89C52,它是宏晶科技推出的一款低功耗、低成本、高效率的微控制器。在设计上与MCS-51系列的单片机完全兼容,学习成本低。STC89C52的程序具有电可擦写特性,在开发时能够反复测试实验,帮助我们完善程序。
雨滴检查模块我们选用了电容式雨量传感器,它可用于根据电容值的大小来检测是否下雨及雨量的大小,然后通过LM393比较器转换成数字信号和模拟信号输出。在开窗状态下,微控制器会处理来自雨滴传感器的信号,控制电机正向转动,以实现智能关窗。
声音传感器内置一个对声音敏感的电容式驻极体话筒,声波使话筒内的驻极体薄膜振动,导致电容的变化,而产生与之对应变化的微小电压[1]。然后通过电压比较器转换成数字信号后,传送给微控制器,在开窗状态下,微控制器会处理此信号,以实现智能关窗。
烟雾检测模块我们采用了MQ-2烟雾传感器,这种传感器能够检测多种有害气体,灵敏度高、稳定性好,而且价格便宜。我们给它的信号预处理使用的是比较器电路,可以输出数字信号,方便微控制器处理。在关窗状态下,如果室内有害气体泄漏,触发MQ-2烟雾传感器,它会发送数字信号给微控制器。微控制器收到信号后,控制电机反向转动,以实现智能开窗。
红外传感器是用红外线的物理性质来进行测量的传感器,有灵敏度高等优点[2]。当窗外的红外模块检测到窗前有人停留时,将会发送信号给微控制器。微控制器则会控制短信模块发短信给户主,以保证财产生命安全。
在自动关窗时,当窗户上的红外传感器检测到关窗途中有障碍时,会持续发送信号给微控制器。微控制器收到信号后,会立即控制电机停止转动,直到红外传感器没有发送信号后,再驱动电机继续转动实现智能关窗。
短信模块我们选择SIM-800C,它的性能稳定,功耗低,能够长时间工作,具有SMS短信息服务(Short Message Service)功能。此短信模块具备GSM服务,即支持2G网络,能够很稳定的完成预期目标中的短信报警。微控制器与它之间进行串口通信,发送AT指令集控制其实现SMS功能,进行短信息发送。
电机模块由电机驱动ULN2003和电机24YBJ组成,ULN2003的达林顿晶体管可以用来驱动控制不能直接控制的负载。由于ST89C52RC的I/O输出的电流不能使电机转动,所以需要通过ULN2003扩大输出电流,使得电机正常转动。
智能窗户软件部分采用C语言进行编程,主要编写程序让微控制器在不同的情况下处理特定的传感器信号,从而控制电机驱动窗户开关。程序分为两个主要部分,一部分为自动处理部分,另一部分为手动控制部分。
两部分是通过判断一个特定变量的值去切换与选择。当这个变量置“1”时,程序进入自动处理部分;当这个变量置“0”时,程序进入手动控制部分,而这个变量是由按键控制的。按下自动模式按键使变量置“1”,按下手动开窗键或者手动关窗键使变量置“0”,同时控制窗户做出相应的指令,这种并发的指令使窗户更加安全。
实现自动开关窗的程序设计的流程如图2所示。
图2 自动开关窗流程图
程序进入自动处理部分后,首先微控制器会判断窗外的红外传感器是否被触发。如果红外传感器被触发,并且持续发送信号时间超过设定值,微控制器就会发送AT指令集给短信模块,通过发送短信通知户主,然后程序进入下一步。如果红外传感器没有被触发,则会之间进入下一步,判断限位开关是否被按下。
如果限位开关被按下,则说明窗户现在处于关闭状态,这时微控制器会判断烟雾传感器是否被触发。如果烟雾传感器没有被触发,则回到上一步判断限位开关是否按下。如果烟雾传感器被触发,那么微控制器会控制电机反转开窗,电机的反转角度为设定值,根据用户的实际需求,由工程师设定。至此,程序的一个大循环结束。
如果限位开关没有按下,则说明窗户现在处于开启状态,此时微控制器会判断雨滴传感器和声音传感器是否被触发。这里判断两个传感器的程序,可以用C语言的位运算符“或”,写成一条语句。如果判断到有传感器被触发,那么微控制器会进入到一个小循环。这个小循环的主要目的是关窗,出循环的条件是限位开关被按下。在这个小循环的里面,如果窗户上的红外传感器检测到关窗途中有障碍,则会进入到另外一个更小的循环,直到没有障碍,才会出去,重新进入小循环。当限位开关被按下后,关窗小循环结束,至此,程序的一个大循环结束。
该基于微控制器的智能窗户能够在不同环境下智能调整窗户的开关状态,并且具备短信报警功能。它作为智能化设备中的一员,将来普及到普通家庭必然是一种趋势,能为减少人们的生活压力做出它自己的贡献!