APP下载

基于单片机的智能窗帘系统设计

2022-12-09徐吉祥沈静静上官金玉

产业与科技论坛 2022年1期
关键词:光敏电阻窗帘时钟

□徐吉祥 沈静静 蒋 一 汪 娈 上官金玉

社会的不断进步,家用产品也在不断的更新换代,从普通向高能性、多功能性发展。随着智能家居的不断普及,现今的智能窗帘系统受到人们的认可和广泛应用,窗帘智能化为人们提供了一个舒适便利的生活环境[1~3]。

一、系统总体设计

系统设计以AT89C52为主控芯片,采用模块的设计方式,包括电源、时钟、驱动、光照检测、键盘和显示等模块,其中利用光照检测模块来实现不同光照强度窗帘自动开闭功能[4]。窗帘的正转、反转和停止功能可由步进电机驱动模块来实现。键盘模块通过对按键的控制来实现手动和定时功能。时钟模块用来实现定时计时功能[5]。系统总体框图如图1所示。

图1 系统总体框图

二、系统硬件设计

(一)主控模块。本设计主要采用AT89C52单片机,还有一些相关电路,如晶振电路、复位电路、电源电路,接受各个模块发来的信息,并传给相应器件。

1.单片机芯片的选择。方案一:以AVR为单片机核心的Arduino系统,其开发者的定位是一款开发周期短,开发效率高的系统处理器。其丰富的库函数给开发带来了许多便利条件,为开发者提供了许多接口函数,大大减少了开发者的开发时间,提高了开发效率。并且其原理图、电路图都是完全公开的,人们在电路的设计以及程序的编写方面也是非常的简单明了。Arduino本身带有模拟IO口在外接传感器时比较方便。同时整个芯片的各项能力也是相对于其他一些芯片看来是非常强悍的。所以整体上来说,使用Arduino操作起来可能会简单不少,但也会受到诸多的限制,毕竟不是完全依靠自己开发出来的。

方案二:AT89C52是一款运行速度快、低功耗、抗干扰能力强的单片机,它的代码指令与C51比较相似,且在周期选择方面有着12时钟/机器周期和6时钟/机器周期可以任意选择。AT89C52单片机简单易用、成本低廉,相关学习使用资料丰富,在使用方面更加贴合人们的习惯。系统的功能强大,资源配置灵活,运行可靠稳定,对于本设计来说,使用AT89C52单片机作为设计芯片完全可以满足所有要求。所以,选择AT89C52单片机。

(二)时钟模块。根据设置输入的开启或关闭时间,来控制窗帘的关闭和打开,采用了DS1302时钟芯片,该芯片拥有断电保护措施以实现保护电源的方式,并伴有充电功能。时钟模块可以向单片机提供一定频率的脉冲,从而起到了对时间进行有效计时的功能。

(三)键盘模块。键盘模块利用4×4矩阵键盘。16个键分别有不同功能,0~9十个数字键用于设定时间;设定键用于设定窗帘开和关的时间;复位键是在程序出错或者有误操作的时候用于复位;正转键使步进电机正转,继而控制窗帘打开;反转键使步进电机反转,继而控制窗帘关上;停止键使步进电机停止运行,继而窗帘停止运动;确定键是用于确定时间设定完成。

(四)显示模块。显示模块采用可用于时间显示的LCD1602液晶显示屏。其中液晶显示屏的选择有以下两种方案。

方案一:在设计过程中,选择使用LCD1602显示屏,这是一种字符型液晶显示LCD,在一般使用中,这一款显示模块是为了用来显示字母和数字的,它由几个5*7或者5*11的点阵字符位组成,每一个字符占用一个点阵字符位,且在每位与每行之间都有一定的间隔,它们分别起到了字符间距和行间距的作用。而且在使用上它可以根据需求选择背光或者不背光(两者在使用中并无太大差别)的来方便呈现出获取的数据。

方案二:使用LCD12864可以根据需要呈现出所获取的数据。与其相似的LCD液晶显示模块相比,不管时电路程序或是显示方面,该液晶屏都相对简洁的多。但因为LCD12864液晶显示器具有很多信息,所以在进行液晶屏的程序和电路设计时都会比较复杂,而且相对于选用其他液晶屏在一定程度上成本会提高不少。

综上,选择方案一的LCD1602液晶显示屏。

(五)光照检测模块。对于光照检测模块的关键元件是光敏电阻,其是利用了半导体的光电效应而制成的。光敏电阻的电阻值将随着入射光的强弱而相应改变,常用于光的控制、测量以及光电转换。光强度增加时,电阻减小;光强度减弱时,电阻增大。光敏电阻由环氧树脂胶封装,即使在一些恶劣环境下也能稳定工作,具有体积小、可靠性好、光谱特性好、反应速度快等优点。窗帘在光照控制模式下,当光强高于所设定的标准值时,窗帘会自动关闭,反之,当光强低于该标准值时,窗帘将自动打开。

光照检测模块中的光敏电阻来采集环境中的光照强度,将采集到的数据发送给单片机,单片机通过模数转换,使用ADC0832型号模块进行AD转换,可以实时调节窗帘的打开和关闭。系统采集的是环境中的光照强度,选用光敏电阻即可。ADC0832模块具备16位转换器芯片,转换速度更快,传输数据更加稳定。光敏传感器模块电路原理图如图2所示。

图2 光敏传感器模块电路原理图

三、系统软件设计

(一)系统主流程设计。Keil是一款依靠C语言来开发完成程序的软件,C语言与汇编语言相比,其在结构、使用习惯一些方面有着其独特的优势。系统软件设计由主程序、光照检测程序、定时程序、电机驱动正反转程序、按键控制程序、LCD显示程序等组成。本系统采用C语言来进行单片机程序设计,主程主要说明系统中各个模块之间的控制关系以及程序的具体走向。系统主程序流程图如图3所示。

图3 系统主程序流程图

(二)LCD液晶显示模块程序设计。液晶显示屏使用LCD1602的显示屏,在单片机获得智能窗帘上的各个模块的数据后,屏幕将会先进行初始化并清空,之后会计算写入RAM地址,然后设置显示RAM地址,并在LCD屏上显示所获得数据。液晶显示模块流程图如图4所示。

图4 LCD显示模块程序流程图

四、结语

传统窗帘开闭功能比较单一,不是很方便,本项目的智能窗帘相较传统窗帘来说功能更多,而且比较人性化,更能满足现在人们的需求,整个控制系统设计简单,工作稳定,成本低,操作方便,具有一定的可行性。

猜你喜欢

光敏电阻窗帘时钟
风儿撩起了窗帘
别样的“时钟”
浅谈不同化学成分对光敏电阻薄膜特性的影响
——以高PbI2掺杂水平的钙钛矿光阻膜、Bi2S3光阻膜、ZnO光阻膜为例
古代的时钟
赶路人
相思湖
有趣的时钟
浅析光敏电阻的应用
时钟会开“花”
窗帘