Advertisement

基于STM32 单片机智能台灯控制系统的设计

阅读量:

摘要:针对目前我国学生近视率呈现上升趋势、学生坐姿不良等问题,提出了一种基于STM32 单片机智能台灯控制系统。该系统以STM32 单片机为控制核心,通过人体检测模块判断是否有人,实现对台灯亮灭的控制;通过自动调光模块实时检测环境光照强度,利用PWM 脉冲宽度调制技术对台灯的亮度进行调节。通过按键模块切换到手动模式,使用者能够根据实际需要手动调节台灯亮度。通过坐姿调整模块检测人体到台灯的距离,若小于参考值则报警提醒。结果表明,该智能台
灯控制系统,通过对台灯亮度和使用者坐姿的调节,使使用者处于亮度适宜,坐姿实时纠正的环境中学习,可以改善学生人群的近视、坐姿不良等问题。
关键词:STM32 单片机;坐姿调整;自动调光;脉冲宽度调制

随着社会的快速发展, 人们对家用电器智能化程度的要求越来越高。对于学生人群,台灯是必不可少的工具,长期处于光线太强或者过弱的环境中学习和坐姿不良是导致学生人群近视率上升和驼背的主要原因。
目前市面上的台灯无法满足人体检测、自动调节台灯亮度与不良坐姿提醒的功能;现在的声控台灯虽然可以节省电能,但是不适于长期使用学习,目前关于智能台灯的研究中,同时具有人体检测、自动调节台灯亮度与不良坐姿提醒功能的不多。我们现在使用的台灯,一般亮度是固定不变的,不具有随着环境关光照强度的改变而自动进行调节;因此,设计一种同时具有人体检测、自动调节台灯亮度与不良坐姿提醒功能的台灯是有现实意义和使用价值的。

1 系统硬件设计

1.1 系统硬件总体设计

系统硬件部分主要包括如下功能:①通过人体检测模块,检测人体到台灯的距离,达到对不良坐姿的提醒效果;②通过自动调光模块可以根据环境光线自动调节台灯的亮度; ③通过显示模块可以显示时间、配合坐姿调整模块对使用者进行提醒;④按键模块可以实现手动模式和自动模式的切换。整个系统由主控制器、人体检测、自动调光、坐姿调整、按键、显示等模块组成。系统接通电源后,首先,人体检测模块检测是否有人使用台灯,从而来控制台灯的开关;如果需要根据实际情况调节台灯的亮度, 可以通过按键模块切换到手动模式进行调节;自动调光模块通过光敏电阻检测环境光照亮度,主控制器接收环境光照强度信号,并对其处理,通过脉冲宽度调制技术,调节输出波形的占空比,最终实现自动调节台灯的亮度。同时,通过坐姿调整模块检测人体到台灯的距离,主控制器对距离信号进行处理,及时调整人体的坐姿。系统硬件设计框图如图1 所示:

1.2 主控制器模块

主控制器采用STM32F103C8T6 单片机[12]。该单片机的主要的功能是:对环境光照强度、人体到台灯桌面距离等信号的采集、处理、存储以及对各个模块的统一控制。

1.3 自动调光模块

自动调光模块主要采用光敏电阻, 光敏电阻可以检测台灯周围环境的光照强度, 电位器实现灵敏度的调节。比较器采用LM393 芯片,工作电压在3.3~5 V。输出有两种形式,分别是模拟电压和数字电压,输出口D0 与单片机连接,光敏电阻检测到周围环境的光照强度并把它转化为电信号, 通过D0 口输送给单片机。当环境光照强度小于最低值时(光线较弱),D0 口输出高电平;反之,D0 输出低电平。

1.4 人体检测模块

该模块主要采用HC-SR501 人体红外传感器。传感器采用的检测探头是LH1778,特点是有很高的灵敏度,实用性强。传感器可以输出高电平和低电平,当传感器检测到有人靠近台灯时,传感器输出高电平,当人体离开传感器检测范围时,输出低电平。当传感器输出为高电平时,可以直接与蜂鸣器等报警装置连接,使用非常方便。

1.5 坐姿调整模块

坐姿调整模块主要采用E18-D80NK 测距传感器, 主要利用红外线测距原理来工作。当该传感器工作时,首先要发出红外线,为了提高精度,降低误差,首先要由发射头处理,然后再发出,当红外线遇到物体时,由于反射的作用,红外线改变方向,原路返回,被传感器的接收头接收并处理,最终把信号输送给单片机。传感器在设定的最小距离范围内检测到有人存在时,输出高电平,反之输出低电平。检测的最小距离可以人工设置,本设计的最小距离范围是人体到台灯的最小距离25 cm。

2 系统软件设计

系统主控制程序流程如图2 所示。首先,对STM32F103C8T6的系统参数进行初始化。当光照强度L 小于600 lx 时,人体检测模块检测台灯周围是否有人,如果有人,延时10 s,再次判断是否有人,防止出现有人路过的情况。如果再次判断有人,灯光开启,距离检测模块开始检测人到台灯的距离,同时传送回主控系统进行数据处理,如果人体与台灯距离小于25 cm,蜂鸣器报警,同时显示屏提醒人体远离台灯。
光照度检测模块开始检测环境的光照强度,同时进行按键扫描,判断手动模式键是否按下,如果按下,进入手动模式,反之进入自动模式。在自动模式下,光照度检测模块检测环境光照强度并传送回主控系统进行数据处理。如果光照强度在600 lx<L<800 lx 范围内,是适合人类学习的光照强度,灯光亮度不变;如果超出这个范围,当L<600 lx 的时候,灯光要变亮,当L>800 lx 的时候,灯光要变暗。在自动模式下,人可以根据自己的需求,通过亮度增强键和亮度减弱键达到增强灯光和减弱灯光的目的。

3 测试与分析

该智能台灯控制系统和实验测试场景如图3 所示:

3.1 人体检测功能测试

在光照强度L<600 lx 的情况下进行人体检测实验。当人体靠近台灯但没有停留10 s 以上, 台灯仍然处于熄灭的状态;当人体靠近台灯并且停留10 s 以上,台灯处于亮的状态;当人体远离台灯并且在10 s 以上时,台灯熄灭。

3.2 坐姿检测与提醒功能测试

将红外测距传感器垂直放置在桌面上。当使用者坐姿不良, 使用者与台灯的距离小于25 cm 时,蜂鸣器鸣叫提醒,并且显示屏上有相应的文字提醒。当使用者坐姿正确,使用者与台灯距离大于25 cm,蜂鸣器关闭,停止报警,并且显示屏上有相应的文字显示。测试结果如表1 所示,从表中可以看出,坐姿调整模块可以正常工作,达到了预期的效果。

3.3 自动调光功能测试

在自动模式下,并且检测到人体时,如果环境光照强度在600 lx<L<800 lx 范围内,台灯亮度不变;如果光照强度L 小于600 lx 的时,台灯变亮;如果光照强度L 大于800 lx 的时候,台灯变暗。

3.4 按键模块测试

按键模块有3 个功能键, 功能分别是模式切换(手动模式和自动模式切换)、亮度增强和亮度减弱。当没有按下模式切换键的时候, 台灯处于自动调光状态,亮度增强键和亮度减弱键无效;当按下模式切换键时,台灯进入手动调光状态,亮度增强键和亮度减弱键有效;当按下亮度增强键时,台灯变亮;当按下亮度减弱键时,台灯变暗。

测试按键是否能够正常工作,该系统共计3 个按键,中间的按键首先按下一次用于初始化串口程序并在OLED 显示可以开启无线连接模式。然后, 第一个按键按下以后可以不断切换湿度、温度、烟雾浓度和火焰的设定值。第二个按键对于温度和湿度每次按一下增加1,而对于烟雾浓度和火焰每按一次增加10;同理第三个按键对于温度和湿度每次按一下减少1, 而对于烟雾浓度和火焰每按一次减少10。
当整个系统在工作过程中,一旦检测到温度、湿度、烟雾浓度和火焰值异常的情况下,单片机将会开启LED 闪烁,同时启动蜂鸣器报警。
手机App 控制端测试,当蜂鸣器开启报警的时候,说明此时有火灾, 这时下位机通过无线通信将异常信息发送到手机App,同时手机App 端显示对应的信息。当下位机检测到没有火焰火灾,正常工作的时候,发送给手机App 正常信息,手机App 端显示正常,同时火焰标志清除。
当无线网络连接完成以后, 下位机的数据信息可以实时传输到手机App 端并显示。
图5 给出了有火情况下手机端工作的示意图。当用打火机烧火焰传感器的时候, 可以观察到手机App 的火焰值快速升高,同时由于火带有烟雾,可以观察到烟雾浓度也上升了,同时手机界面显示有火灾。

5 结束语

随着智能技术的快速发展, 后续将会不断完善和添加整个设计的其它功能,比如增加火灾地点的定位功能,在发送火灾的同时将位置信息也发送给手机用户或者防护单位。此外,考虑到用户使用的安全,后期考虑火灾场景的实时录像,将一些火灾的现场视频保存以便于后期的使用。

全部评论 (0)

还没有任何评论哟~