智能电子调光台灯设计
2021-06-01贾文辉陈越超
贾文辉,陈越超
(长春师范大学工程学院,吉林 长春 130032)
电子台灯是家居必用品,与人们的生活息息相关,特别是对于学生来说更是必不可缺的学习工具。传统的台灯光型固定、功能单一,无法根据环境的改变来调节自身的亮度,这也是造成近年来学生近视度普遍增高的一个因素。普通的台灯,对于节能减排方面,没有做出相应的改变,已经无法满足当今时代对智能化的要求了,因此设计了一款基于PWM 的智能电子调光台灯,具有8 档调光功能,可以满足多种环境下的光照需求,适应性大大提升,同时可以实现手动模式和自动模式的切换,更加灵活方便,方便不同的群体进行选择。对于学生而言,使用台灯的时间较长,容易影响视力,而这款智能电子台灯的多档调光可以提供最佳的照明环境,并且设计了久坐提醒的特殊功能,极具人性化,从而避免了学生用眼过度,降低患近视的概率。
1 系统方案设计
本系统是采用ATMEGA2560 单片机作为主控板,使用情景分为手动和自动两种模式。手动模式下,通过物理按键,实现8 档亮度调节;自动模式下,选择光强度传感器进行环境光采集,将采集到的信息传输到ATMEGA2560 主控板的模拟输入口,经过运算处理,进而实现自动调节台灯亮度的功能。利用超声波测距传感器,检测使用者与台灯之间的距离,判断人是否离开,若未离开,依据预定的使用时间,通过蜂鸣器模块进行久坐提醒;若离开,则执行熄灭命令。通过LCD1602 显示模块,对学习时间、光照亮度等级、使用者与台灯的距离进行实时显示,丰富系统功能,提高台灯智能化。系统设计框图如图1所示[1-6]。
图1 系统设计框图
2 系统硬件分析
2.1 主控板的选择
Arduino Mega2560 单片机其核心是ATMEGA2560。Mega2560 单片机的工作性能十分出众,并且自身带有很多的引脚,具有54 路数字的输入输出(其中有16 个可以作为PWM 输出),16 路模拟输入,4 路UART 接口,一个16MHz晶体振荡器,USB口,电源插座,ICSP header和一个复位按钮非常适合需要大量引脚的设计。相比于C51,STM32单片机,Arduino Mega2560 的编译环境更加简单、方便,各种功能的调用也是十分便捷,特别是AD转换。Arduino Mega2560可以直接通过模拟输入口将模拟量以数字量显示出来,而C51需要做外部拓展才可以使用AD转换。Arduino Mega2560可以满足系统的功能要求,适合作为本次设计的主控芯片。
2.2 光敏电阻模块
本系统采用光敏电阻模块,利用其阻值会随着外界光照强度的增大而减小的特性,进行环境光采集。
将光敏电阻与主控板的模拟输入口相连,通过AD 转换,将光照强度这个模拟量以数字量的形式显示出来。在设计时,使用光敏电阻测量出在白天正常情况下以及在晚上黑暗状态下外界光照强度的数值,利用AD转换得到一个光照强度数字量的变化区间,然后将这个区间分成八等份,每一个小区间代表一个亮度档位。
2.3 可控硅模块
手动调光电路中最核心的部分是可控硅模块,该模块可以实现交流电的无触点控制,以小电流控制大电流。在设计时,可控硅模块的一端通过接线端子和外部220V 的交流电相连接,另一端分出5V 的电压和主控板连接在一起,利用主控板I/O 口输出的PWM 脉冲宽度控制可控硅模块,调节220V 的电压,通过不同的占空比使外接交流220V 电源转变为预定的电压值,进而控制小灯的亮度。最后经过不断实验得出了对应八档亮度的脉冲宽度,使小灯实现了八档调节。可控硅模块电路原理图如图2所示。
图2 可控硅模块电路原理图
2.4 超声波测距模块
在本系统中主要是利用超声波测距传感器来检测使用者和台灯的距离,HC-SR04 超声波测距传感器的电路原理图如图3 所示,超声波测距传感器的输入端Trig 和输出端Echo与主控板的IO口相连接,当IO口输出一个高电平信号时,高电平所持续的时间就是超声波从发出到返回的时间,测试的距离=(高电平时间/2)*(340m/s)。利用测得的距离可以实现台灯的一些功能。一是久坐报警功能,系统内部设定了一个距离范围为测定的使用者正常使用时和台灯的距离和一个久坐判定时间,当使用者在该距离下使用且时间达到设定的久坐判别时间时主控板控制蜂鸣器发出警报声。二是人走灯灭的功能,使用者可自行设置一个距离为人离开的距离,当超声波测距传感器所测的距离大于等于该设定值并且达到设定时间的时候台灯将会自动熄灭,当人回来的时候超声波测距传感器的测量值小于设定的距离值,台灯重新点亮。
图3 超声波测距模块电路原理图
3 程序设计
程序设计流程图如图4所示,智能电子调光台灯的软件系统采用模块化的设计,基于Arduino 库函数编程实现,本系统主要包括主程序、光敏电阻检测、PWM调光、超声波距离检测、蜂鸣器报警等模块。
图4 程序设计框流程图
主程序模块首先进行系统的初始化,然后调用子程序模块来完成整体的逻辑控制。通过按键进行模式的选择,手动模式下,通过扫描按键调用PWM调光子程序实现手动调节台灯亮度。自动模式下,通过调用光敏电阻检测子程序实现亮度自动调节,然后调用超声波距离检测子程序来实时检测使用者和台灯的距离,实现人离开后一定时间台灯自动熄灭的功能,同时当使用者正常使用台灯达到预定时间时调用蜂鸣器报警程序实现久坐报警功能。
4 结语
本款智能电子台灯采用Arduino Atmega2560作为系统主控制器,利用光强度传感器、超声波模块进行外界信息检测,从而实现双模式调光功能,实用性大大提升,操作更加方便。针对学生使用台灯时间过长问题,系统增加了久坐警报提醒功能,人性化程度高。通过测试,表明该款台灯反应敏锐、识别准确,各项功能都能正常实现,具有结构简单、能耗小、成本低等特点,适合进行推广。当然,电子产品迭代更新已成为必然,为了顺应时代发展的潮流,还需要不断完善和创新,未来可以进行坐姿提醒、便携等方面的优化。