APP下载

基于STM32的智能教室灯光控制系统设计

2022-11-25余秋映

智库时代 2022年39期
关键词:键值按键光照

余秋映

(云南民族大学电气信息工程学院)

一、绪论

(一)研究的背景及意义

随着当代科学发展脚步的不断加快,人们的生活品质也随之不断提升,但是伴随而来的却是严重的社会新难题——资源短缺。通过观察和调查表明,公共活动区域照明设备由于没有人看管,导致白天没有人时教室的灯具也处于常亮的状态,而这种情况在各个学校的教室尤为严重。通过进一步研究可以看出,这是由于对教室内班级灯光的严格管理所导致的结果——在规定的时间内开灯或关灯,通常会导致:不管人多人少教室灯光都亮着,或者是不管是白天或者晚上,不管是强光环境或者弱光环境下,灯也都亮着,造成了管理和能源的浪费。

在这个背景下,开发设计一个新的智能灯光控制系统是很有必要的,通过教室人数来控制开灯数量和亮度。本系统的控制对象是教室里的灯组,在光照不足时可以实现根据自然光照强度来合理调节灯具光照强度的功能。这种系统能够正确地分配能源,节省了能源的同时又能提高灯具的使用寿命,对于节电有着很大的现实意义。

(二)大学教室照明控制现状

学校教室照明的作用如下:一般在学校白天时光照度足够,所以天然光照就是教室主要的照明光源,人工光照则是补偿灯光,即用来补偿课堂内有遮盖物时或者阴天光照度不足的区域;中午和晚上,大部分教室的用途是让学生们用来上自习的,少部分教室则用来授课,但无论在哪种情形,为提升学习效果和保护视力,学生和教师都必须有良好的照明环境。所以,本设计要在满足教室照明需求的同时做到照明节能。

二、系统总体方案设计

(一)系统的功能设计

系统的主要模块如图1所示。

图1 STM32

STM32单片机是整个智能灯光控制系统的核心控制器,和输入、中控、输出部分一起构成了整个智能灯光控制系统,第一部分是被动式热释电红外传感器模块,这个模块的功能是检测有无人进出教室;第二部分为光敏电阻和ADC0832组成的检测光照强度的模块,这个模块的功能是测量当前教室内的照度值;第三部分为DS1302时钟模块;第四部分是独立按键模块,利用五个独立的按钮来设定时钟、转换界面、开灯和转换模块;第五部分就是整个系统的供电电路,这个模块的功能是为整个控制系统供应电源。输出则主要由两个部分所构成:第一部分为LCD1602显示模块,用于显示当前的光照值、时间等;第二部分是模拟教室灯模块,如果时间在8:00-22:00且光照强度<50.0则判断有没有人在控制灯的开关。如果人数为0,灯就会全灭;如果有人进入教室,则根据当前的光照强度来调整灯的功率进而调整灯的亮度。整个系统框图如1所示。

(二)系统的控制过程

总体上,系统通过在不同的时间段实现对各个时间段的照明控制,当教室的开启时间段时(作者所在的大学为8:00-22:00)控制系统开始运行,如果不在这个时间段内就会暂停工作,即全部的照明设备都关掉。在这段时间里,系统将会开启光照度和人数检测功能,即通过判断有没有人进入教室以及光照强度的大小来控制开灯的数量。首先设定照度的统计临界值,如果自然光比较微弱或是教室内有其他遮挡物而使得照明小于这个值的话,系统就会按照通过调整灯具的功率来调整灯的亮度;当自然照度充足且光照强度超过了这个临界点之后,系统便可以关掉全部的灯,并以自然光作为最主要的光源,以此实现节电的目的。

三、智能教室照明控制系统的硬件设计

(一)STM32最小单片机系统设计

单片机最小系统有巨大的研究发展空间,是由一些接口电路和单片机连接构成,即它是指能够使某一个单片机工作的用最少的原件来直接组成的系统。单片机内部组成的最小系统电路的三要素就是电源、晶振和复位电路。单片机最小系统如图2所示。

图2 单片机最小系统

1. STM32单片机

相比于STC89C52单片机,STM32单片机速度更快,资源更多,因此本设计选用了STM32单片机。STM32单片机结构图中同时还包含了CPU(中央处理器)控制芯片、Flash(程序储存器)控制模块、SRAM(数据储存器)控制单元、UART 模块和串口、定时继电器模块/时钟计数器、EEPROM、I/O 接口、看门狗等模块,几乎可以被称为一个完整的片上系统。其内部结构如图3所示。

2.电源电路设计

本设计所选用的 STC89C52 需要 5V 的供电系统。当按键按下时有电流输入,LED2 灯亮起。

3.复位电路设计

单片机的系统中通常都会包含很多外设,而且这些外设启动时通常都需要进行配置和驱动,这些配置和驱动的程序一般都写在程序的开头,所以需要复位电路,使系统的电路恢复到起始的状态,这样才能让系统正常地工作。

本文就藏羊肉产业发展现状为支点,分析青海省藏羊肉产业具备的发展优势和产业发展趋势,并对青海省藏羊产业的发展突出以下几点建议:

4.晶振电路设计

如果CPU比作人体的大脑,那么就可以把晶振电路比作人体的心脏。这个电路输出的方波信号就可以比作指挥军队的口令,整个系统的命令都要按照这个时间基准来执行。

(二)主要模块设计说明

1. ADC0832-数模转换芯片

ADC0832是指一种8位的分辨率、双通道A/D的数模转换芯片。它拥有体积较小、质量价格比又很高以及兼容性较强的优点,其运行频段为250KHz,转换时间为32微秒。

单片机与ADC0832模块之间的数据线连接接口为5条数据线,分 别 为、CH0、CLK、DO、DI。DO端和DI端之间在通讯时间上不可以同时有效,且因为和单片机之间的连接通常也都是双向并行的,所以一般在设计电路的时候,都将这两个端口并联在一根数据线上使用。当ADC0832不工作时,则的输入接口为高电平,这时芯片将禁用,CLK和DI/DO口之间的电平可任意调整。当要进行数据量和模拟量转换时,则必须将使能端放在低电平有效,并保证在低电平下持续到切换全部终止,此时芯片才能刚刚开始正式进行此切换管理工作,同时也需要由处理器向芯片时钟输入端CLK输入的时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。

2. DS1302-时钟电路

DS1302是一个实时的时钟芯片,可以提供秒、分、小时、星期、月、年等信息。

这种时钟芯片的耗能通常都比较低,当它的实际工作电压为2V时,工作电流小于300nA;它的工作电压较宽,大概在2.0-5.0V左右,本设计采用的工作电压为3V。为了防止系统掉电时时钟停止,DS1302设计了两个电源,一个是主动供电电源,另一个是后备电源。

3.光敏电阻

光敏电阻,是用硒化镉或硫化镉等构成的特殊元件,表面涂有防潮树脂,有光电效应。在感光的材料两边添加上电极引线,并将它封装在有透光的管壳里面,以此形成光敏电阻。通常会将两电极做成梳状从而增加灵敏度。光敏电阻的阻值受到照度大小的影响,当照明强度增加时,其阻值降低;反之,当照明强度减弱时,其阻值增大。

4.被动式热释电红外传感器

本模块的功能是检测有没有人进出,可以分为两个过程。当人站在探测区域外时,探测器没有检测到人体发出的红外线(人体会发出特定的红外线,波长在10微米左右,而本设计所选用的探测器只能检测到这种波长),就会输出低电平,当人进入红外探测区域后,该传感器就会检测到因人体红外线所引起的电荷不平衡的情况,就会朝外面发射电荷进而输出高电平。

5.按键模块

按键是一种电子开关,当人们按下开关按钮时开关就会接通,反之,当松开手时,开关就会断开。本设计使用机械弹性开关。按键闭合与断开时会伴随着一些抖动,所以需要进行消抖,本设计采用的是软件消抖,除此之外还有硬件消抖(硬件消抖会使电路更加复杂)本设计所使用的LED类型为插件型LED(两个脚)还有贴片型LED。

四、智能教室照明系统软件设计

(一)编程软件介绍

本设计所使用的编程软件为Keil4,这个软件的优点是便于操作,支持各种芯片,可以生成通过刻录器直接烧录到单片机里的HEX文件,非常方便。编译结果在界面的底部显示,可以更便捷地查找到BUG。

(二)主程序流程设计

在这个软件的主程序环境中,首先需要对系统中的各大功能模块完成操作系统的初始化,然后程序也就自动进入到了while主循环,在软件主程序中,先进入到要读入键盘值的第一个函数(按键函数),这个函数一般分为两个部分,第一个部分直接运用按键扫描函数来快速读取函数键值,第二部分主要是根据键值执行相关的处理动作,例如手动开灯、切换用户界面、切换模式、调整时间等;接着进入第二个函数(监测函数),监测函数主要通过光照检测模块来获取当前的光照值;再接着就进入第三个函数(显示函数),此函数通过不同的显示标志位来显示不同的界面,包括主界面当前的光照值、时间和人数,其他界面显示切换模式、调整时间等;最后就进入第四个函数(处理函数),这个函数主要根据当前的时间、人数以及光照值选择开灯以及灯具的亮度。最终通过计数公式和延时函数,约束了所有函数的扫描时间。在这里,计时变量大于5000时就自动加一。

(三)主要模块流程设计

1.按键函数流程设计

按键函数中的按键设定函数要先使用按键扫描函数读取按键按下时的键值,再利用变化的键值来自动实现或完成对相关数据的修改。若是得到的键值为1,有七个模式。若是取得的键值是2,在0界面时,LED1手动开灯;在1界面时,年加一;在2界面时,月加一;在3界面时,日加一;在4界面时,时加一;在界面5时,分加一;在界面6时,秒加一;在界面7时,星期加一。若取得的键值是3,在0界面时,LED2手动开灯;在1界面时,年减一;在2界面时,月减一;在3界面时,日减一;在4界面时,时减一;在5界面时,分减一;在6界面时,秒减一;在7界面时,星期减一。若取得的键值是4,LED3手动开灯。若取得的键值为5,LED4手动开灯。若取得的键值为6,切换模式。

2.显示函数流程设计

显示函数的流程图设计;通过不一样的显示标志位来显示不一样的界面,界面为0的时候,显示时间以及光照强度等等;界面为1-7的时候,显示设置的年月日时分秒星期。

3.处理函数流程

首先要判断当前的显示标志位是否为0,如果为0,就通过被动式热释电红外传感器来检测有没有人进出教室,如果人数是0,则灯就全面;如果有人就根据教室内的光照强度来判断是否需要开灯以及灯具的亮度。

五、总结和展望

(一)总结

本设计由STM32单片机芯片、红外光人体检测模块、光照检测模块、按键模块、LCD显示模块、LED教室灯模拟模块、DS1302时钟模块组成。本设计通过红外光人体检测模块得到教室人数,光照传感器和ADC0832组成的光照检测模块检测光照值,由STM32单片机处理数据,通过LCD1602显示光照强度、时间等相关信息,根据以上信息决定亮灯情况,实现了教室照明系统的智能控制。本设计硬件部分进行了原理图、PCB板设计,软件部分运用了C语言进行编程,根据实物的运行和调试,智能教室照明控制系统的控制方案能较好的实现,达到了节约能源的目的。本系统主要实现了以下功能:

(1)有自动、手动两种工作模式;

(2)当亮度足够时,无论有无人进出,灯都不亮;

(3)当在教室开放时间之外的所有时段灯不亮;

(4)当亮度不够且在教室开放的时间段内,根据教室内的光照强度合理控制灯具的亮度。

(二)不足和展望

总结了整个系统的内容,由于个人经验的不足及时间关系,该系统仍有部分缺陷,需要深入探讨,主要体现在如下方面:

(1)不能根据学生的具体位置打开相应的灯具;

(2)只是单一地对教室的灯具进行控制。

如果有机会继续研究这个问题,那么我想拓展为对整个教室所有电器的统一化控制,例如电风扇、空调等。

猜你喜欢

键值按键光照
肉种鸡的光照不应性对养殖生产的不良影响分析
基于有限状态机的按键检测程序设计
非请勿进 为注册表的重要键值上把“锁”
非触勿动 秒治键盘误触
隐蔽的力量
一键直达 Windows 10注册表编辑高招
水禽舍的光照及其控制
其实真的很简单教你轻松关闭WP8.1手机按键灯
计算器
蛋鸭的光照管理