基于单片机智能可遥控可感光窗帘的设计研究
2020-07-30葛水兵
葛水兵
摘 要
自动化、智能化的家居设计是未来主要的科技发展方向,为此,本文将针对智能可遥控可感光窗帘的设计进行研究,该研究主要是使用单片机为控制硬件,代码的编写语言使用C语言编写软件程序,CPU采用STC89C52,窗帘的自动化模块包括操作用键盘、显示电路、红外线遥控、光敏电阻和步进电动机。该智能窗帘设计有定时开闭和遥控开闭的功能,同时能实现对温度和光线的感应和自我报警作用。
关键词
单片机;感光窗帘;自动开闭
中图分类号: E06B9/36 文献标识码: A
DOI:10.19694/j.cnki.issn2095-2457 . 2020 . 17 . 32
智能化家居被认为是网络化时代下主要的家居科技发展方向,AI专家谭茗洲将智能化家居定义为自动化、方便化的家居设计,智能化家居的设计理念应当遵循便捷、高效的设计原则。因此在智能窗帘的设计中,如何实现窗帘对光和红外线的感知,做到自动开闭,测量温度,并能起到预警效果就是设计的关键点。
1 设计思路
智能化的可遥控可感光窗帘应当具备感知性,可以根据环境亮度和红外线信号进行定时和自动的开闭。因此,可遥控可感光窗帘需要设置光敏二极管,该部件会根据环境亮度来控制窗帘的单片机输出电平。而单片机则负责电机的运转,当环境光度达到预设标准时,光敏二极管和电路会控制窗帘的单片机输出电平,以此来控制步进电机,在电机运转时,窗帘便会开闭,而使用者则根据自己的需要在程序中输入对应的数值来决定窗帘的开闭时间和开闭幅度[1]。
基于以上设计思路,可遥控可感光窗帘的组件至少要包含光照采集电路和数模转换芯片,前者负责和光敏二极管向单片机输出电平,后者负责将数模转换,单片机系统以C语言编写常量链表,以sqlite作为数据库,控制台需要设计按键部分和液晶LCD显示部分,以供操作者进行简便的数值设定。
除控制和执行开闭行为的系统和组件外,窗帘还需要加装蜂鸣器和时钟,蜂鸣器是作为执行报警工作的模块,当系统出现异常时可以起到及时提醒家居使用者的效果,时钟则是根据预设时间进行声音提醒,并在使用者默许或者不更改开闭操作的情况下执行开闭行为。
2 系统设计的硬件分析与设计
硬件的选择包括单片机的选型、时钟模块电路、温度采集模块电路、按键模块电路、液晶显示电路、光敏传感电路、步进电机控制电路、蜂鸣器报警电路和红外线电路。
考虑到该系统设计的设计目的是尽可能执行更多的智能化指令和操作,因此单片机的选择标准必须包括数据处理能力强大、兼容性高、能快速处理多重数据运算、指令下达快捷等,基于以上这些要求,该设计决定选用STC89C52RC单片机作为整个系统的主控制CPU,该款CPU的位操作指令非常强大,界端口开放性好,I/O端口都能用位寻址,程序空间的容量高达8K,在处理各类操作指令时,能进行高效化的复杂运算,满足窗帘的及时开闭[2]。
窗帘的时钟模块电路要基于智能化、自动化进行选择,时钟不能仅仅只是时间播报,还必须要让使用者具备自定义性,可以自己调节时间,故设计选用的时钟芯片为DS1302,该芯片的特点是其可操作性高,自定义范围广,使用者对时间掌握有任意设置和修改的权力,同时该芯片也能对数据进行实时记录和备份,方便用戶查询。
温度采集模块电路的选择要求较少,以温度误差为标准,误差越少的温度芯片越适合做窗帘的温度采集电路,设计使用的数字温度芯片是DS18B20。这款芯片的优点是能保障0~100℃上的误差微弱,该芯片的接口只有三个引脚,分别是两根电源正负极线,一条数据线。
按键模块电路是链接系统和操作界面的模块,其标准为对指令的传输和反应程度,能缩小用户操作指令和系统开闭执行反应的按键模块即为最佳选择,设计中采用的是独立键盘式,所用的键盘是直接扫描法,这样设计的好处是指令的接受和反应时间快,指令精确率高,误差性小。
液晶显示电路的主要作用是操作界面显示,电源电压限制在5伏及之下,界面的显示内容要全面,包括现在时间、环境光照强度、环境温度,以及使用者进行指令操作时的遥控和自动两种操作模式的显示。本设计中使用的液晶显示模块是分辨率较高的LCD1602,该液晶模块的界面显示清晰,能帮助使用者较好的选择对应操作指令[3]。
光敏传感电路的作用是根据光照的强弱控制窗帘的开和关,也就是实现窗帘感光功能的主要模块,光敏传感电路需要具备光线采集功能,可以根据光线的变化对电阻的阻值执行改变指令。本设计使用光敏电阻进行光线采集工作,并通过ADC0832数模转换芯片传输给单片机,最终的处理结果通过液晶显示屏进行显示。
步进电机控制电路是控制窗帘开关幅度的模块,它的原理来自对单片机脉冲的感应,单片机发送脉冲到步进电机,步进电在接受脉冲后便自动旋转角度,根据脉冲数,电机将决定转角幅度,脉冲数越高,旋转角度越大,最终根据脉冲数来决定窗帘的全开全闭或者半开半闭。
蜂鸣器报警电路用作系统报警,当系统发生异常运作情况时,便出声报警,以提醒使用者系统问题,该设计采用PNP型S8550三极管驱动,当单片机的连接基极端子输出低电平时,三极管的发射和集电分别结正偏和反偏,三极管导通,蜂鸣器便会响起,直到输出高电平时,三极管截止,此时蜂鸣器才会停止警报[4]。
红外线电路负责信号的放大、选频和解调,该硬件也是实现窗帘遥控开闭的基础,设计中使用的芯片为RPM- 638,该芯片可以将输入的被调制信号转换为原始信号在输出端直接输出,这样系统的灵敏度和抗干扰性都能得到极大的加强,对于系统顺利接收红外信号能起到良好的保障。
3 系统软件分析与设计
系统程序的设计将决定窗帘的智能化程度,所以其程序中包含的子程序要尽量丰富且完善,根据预想的窗帘智能化效果,该设计方案中包含的系统程序有显示子程序、时钟定时程序、步进电机控制程序和温度测量程序等。
主程序有单片机控制,同时能通过单片机执行初始化操作,当系统开始运行时,菜单会显示内容初始化,按键的扫描,电机的运行还有当前的时间记录会一并通过显示屏显示。
显示程序便是操作界面,使用者也是通过该程序了解窗帘的情况,所以界面的显示内容要完善、详细,基础的内容内容包括时间和温度,进一步的显示内容还包括温度的报警指数,窗帘闭合的循环周期等。
时钟程序则是用以显示当前的时间,使用者也可以借助该程序对当前时间进行自定义设置,出于人性化考虑,时钟程序还需要具备闹钟功能,当达到使用者预设时间时,使用者会根据闹钟提升执行步进电机的开启和关闭。
步进电机程序的负责内容是对旋转方向的判定;根据接收到的脉冲数以及指令信号,程序会按既定顺序传送控制脉冲,并判断所要求的控制步数是否传送完毕。
测温程序负责对温度的测量,温度测量的频率为1秒一次,由单片机进行控制,在读出并处理DS18B20的当前温度值后,将会把该温度值和设定报警温度做比较,判断是否报警,如果不超过报警值,就通过调用读温度子程序把存入内存储中的整数部分与小数部分分开存放在不同的两个单元中,然后通过调用显示子程序显示出来。
综上,通过以上的系统设置,使用者可以在遥控模式和自动模式两种模式间进行自由的切花,系统也会具备自读性和自动化功能。当设置为自动模式时,系统会根据用户预先设定的数值判断环境中的光照强度,然后选择开、关窗帘行为。并且,由于时钟模块具有时间记录的功能,使用者也能自定义窗帘的开闭时间,使窗帘能按照使用者作息規律定时开闭。
4 结语
智能化家居是未来家居的发展方向,其设计理念应当更便捷、更高效,能在人们的生活中减少行为动作和操作步骤,让其享受最极致的自动化服务和智能体验。在该设计中,通过对硬件的选择和程序的编写,可以有效实现窗帘对温度、光线的感应,并能接受使用者的操作指令以执行,使用者可以依靠程序提供的便捷功能自由设定窗帘的开闭时间、开闭规律、开闭幅度和进行开闭的条件,从而减少在日常生活中手动开闭窗帘的麻烦。故在智能化家居的设计中,也应当以该窗帘的智能设计为参考,以最优质的硬件选择和最多用的程序功能布置,为大众提供最好的智能化体验。
参考文献
[1]罗鸿,陈新锟,俞雪娟.基于单片机的智能窗帘系统的软件设计[J].电子世界,2017.10.22-24.
[2]杨雅涵,于佐军.基于单片机的温控光控智能窗帘设计[J].控制工程,2016.012.55-56.
[3]卫奥琛,韩利凯.基于单片机的智能控制窗帘设计[J]. 科技广场,2017.06.88-89.
[4]赵欢颜.基于单片机的自动窗帘系统设计[J].科学技术创新,2016.06.33-34.