APP下载

基于FPGA的智能台灯设计

2022-09-08张皎赵海静赵若彤郎如静

电子元器件与信息技术 2022年6期
关键词:台灯调节语音

张皎,赵海静,赵若彤,郎如静

西安交通大学电气工程学院,陕西 西安,710049

0 引言

随着科学技术水平的不断提高,多种多样的智能电器渐渐走进了人们的视野。智能家居是互联网融合发展背景下的代表产物,同时也是社会科技水平进步的重要标志[1]。台灯作为我们每家每户基本都有的一个电器,常常方便我们的生活[2]。普通台灯因光线单一且无法自动适应周围环境的光照度、不能实现人来开灯、人走关灯的节能需求以及无法集合其他产品功能占用空间大等问题,不能满足人们日益增长的对智能家居的要求。特别是对青少年而言,由于学习需要较长用眼时间,青少年近视比例也越来越高,更需要一款可以保护青少年视力的多功能智能台灯[3]。

1 设计方案

总体设计:该系统分为8大功能模块,系统功能模块图如图1所示。

图1 系统功能模块图

本系统由光照度检测模块、红外测距采集模块、人体(红外)感应模块组成,通过自动灯光调节模块或手动调节模块来调控灯光。当测得距离小于设定阈值时,控制模块将调用语音模块数据触发蜂鸣器报警。在数字钟模块下,可以设定开关灯时间和闹钟时间。而控制核心则由FPGA(EGO1)开发板完成对系统多路采集信号进行调控。

1.1 硬件设计方案

(1)FPGA控制模块。该模块选择美国赛灵思公司的EGO1开发板为主控芯片。该平台板载Xilinx 28nm工艺的Artix-7系列FPGA芯片,外围连接有LED灯、拨码开关、七段数码管、按键等基本接口;以及VGA、音频和蓝牙等接口;此外该平台还具有板载AD/DA模块以及丰富的I/O扩展接口,可以满足学生及广大初学者自主学习FPGA编程。

(2)光照度检测模块。该模块采用深圳大陆胜公司的GY-302 BH1750FVI光强度传感器(图2)。该集成电路支持iic通讯,输出信号为数字式。可对环境中的光照度进行精度为1勒克斯单位的精准测定,从而保证采集数据的准确性。FPGA采样控制模块扫描时间设定为300毫秒,即每隔300毫秒进行一次外部环境光强的测定,并根据光强变化实时调整LED灯的亮度档位,实现黑暗环境中灯亮,明亮环境中灯灭的要求。接线引脚如表1所示。

图2 光照度检测模块

表1 光照度检测模块引脚图

(3)红外测距模块。本系统红外测距采用深圳夏普公司型号为GP2Y0A21YK0F这一款红外测距传感器(图3)。此集成电路可测量的距离范围是10~80cm,也可通过设置程序内的参数值自主调节感应距离。该模块输出为模拟量,即输出与检测距离相对应的电压。在设计时,只需要将高低电压控制在合理水平区间,当检测到人体与传感器之间距离在传感器检测范围内时,便会向主控芯片发送高电平;当人体与台灯之间距离小于设定的阈值时,则会自动触发语音提醒,以达到纠正用户不良坐姿的目的。

图3 红外探测模块

(4)人体感应模块。同上,该模块也采用红外测距传感器。当人体与装有红外测距传感器的台灯距离超出传感器的检测范围时,此时因为传感器检测不到有效信号,则会触发输出低电平,促使亮着的台灯自动断电;反之,则触发输出电平为高,点亮台灯。最终实现台灯的节能环保功能。

(5)手动控制模块。该模块采用EGO1开发板上自带按键来完成。其中,Key1键为自动/手动模式切换键。Key2按键负责调亮光照度兼备开灯功能,Key3按键负责减弱光照度,直至关灯[4]。

(6)灯光调节模块。该模块由12个LED灯分成四档构成。从第一档到第四档分别有0个、4个、8个和12个LED。自动模式下,EGO1开发板从P1.6口输出并通过PNP型三极管驱动LED灯。并通过分别控制每一档LED灯的亮灭达到提供合适的光照度目的。手动模式下,亮度每增加一个等级,则多点亮一档LED灯;亮度减键为亮度每减一个等级,即关闭一档LED灯。

(7)提示报警模块。该模块设计思路:先将要播报的内容存储在JQ8900-16P语音播报模块中(图4),在红外测距触发距离阈值判断后,从存储中读取响应语音地址,触发功放及喇叭发出相应提示语音。在距离设定时间的前5分钟,则从存储中读取响应语音地址,触发功放及喇叭发出相应设定时间到的提示语音。

图4 语音播报模块

表2 引脚配置图

(8)数字钟模块。该模块模拟钟表进行24小时循环计数,用户可通过EGO1开发板上按键自定义传感器开始扫描和结束扫描的时间,即实现智能台灯的定时开启与关闭功能。

1.2 软件设计方案

软件设计采用模块化程序设计方法,根据系统各功能分析可以得到主程序流程图,如图5所示[3]。其中,系统初始化后,首先进入亮度自动调节模式,此时也可通过按键K1进行自动/手动模式切换操作[3]。当预先设置的模式标志位(Mode)为低电平时,此时系统为手动调节光照度模式,即执行手动控制子程序;反之,当模式标志位为高电平时,则为自动调节光照度模式,即执行亮度自动调节子程序。之后再进行语音判断子程序。在语音判断子程序中,依据红外测距传感器采集人与传感器之间距离值进行判断,若离桌面距离过近或当预设关灯时间倒计时器为零时,则触发播放相应语音提示音。在手动调节光照度子程序中,当按下光照度增加(K2)按键时,若光照度等级此时并不为最低级时,则光照度等级依次递减一级,否则,则保持现光照度等级不变;当按下光照度减少(K3)键时,若光照度等级此时并不是最高级,则光照度等级依次增加一级,否则仍保持原光照度等级不变。

图5 系统主流程图

因自动亮度调节子程序为本系统设计的难点和重点,故在此详细阐述其设计过程。自动亮度调节子程序的流程如图6所示:先设置一个模式标志位(Mode),当模式标志位为1时,此时系统工作在自动调节模式下;若在倒计时300秒内人体与红外传感器距离大于传感器最大检测范围,则触发倒计时器清0动作,之后执行光照度值采集子函数,根据计算出的光照度值与设定光强值范围相比较,依此获得相应照明模式;若倒计时300秒内检测到的人体距离大于传感器最大检测范围,此时则设置照明模式为照明关闭状态。具体设定参数如下:

图6 亮度调节子程序

光强低于10lx——照明模式三;

光强高于10lx低于300lx——照明模式二;

光强高于300lx低于500lx——照明模式一;

光强高于500lx——照明关闭。

具体实现程序如图7和图8所示。

图7 自动亮度调节判断子函数

图8 光照度检测控制子函数

2 系统调试

在系统设计完成后,先在Vivado平台进行了时序仿真。之后又对各模块及系统总体进行了调试操作。在系统初始化后,当有人接近台灯时,系统会自动检测有否有人体活动,同时启动自动工作模式[5]。当外界光照度低于设定阈值且检测人体与传感器的距离在传感器的检测范围之内时,检测时用串口调试器读取光照度传感器传输数值(图9),检验传感器检测数据是否正确及程序是否读取传感器数据;当检测到人体在检测范围内又或者在设定开/关灯时间内,对台灯自动点亮进行测试(图10)。另外,还对系统照明模式、按键手/自动模式切换(图11)、语音模块等功能模块分别进行了多次测试,功能符合要求。实践证明该系统设计合理且达到了预期目标。

图9 串口调试光照度

图10 定时开机测试

图11 开关手动模式测试

3 结语

本设计在总结一般单一功能台灯缺点的基础之上,设计了以FPGA(EGO1)开发板为控制核心主板的多功能智能台灯系统。通过光照度传感器,使台灯能依据实际环境给出最适宜的光照、语音姿势提醒、手动/自动模式切换等。这些功能模块均可为用户提供更便利、更舒适的体验。而自动调节光照度与手动调节光照度双模式选择下的系统,则可人为或自动调节光线,使用户多了一种选择。在预防青少年近视及驼背等不良坐姿方面,本系统通过语音预警模块进行了通过语音干预提示的尝试。该系统设计合理且集成数字钟功能,又因其控制方式可自选,为用户提供了便利,基本实现了台灯的智能化控制。今后可在此设计基础之上,结合物联网技术或通过蓝牙技术在智能设备上对台灯进行操控,也可以结合语音识别等相关先进科学技术,对系统进行进一步的功能提升。本文对智能台灯更高级的智能化控制有借鉴意义。

猜你喜欢

台灯调节语音
一种用于自控调节行程的螺杆调节结构设计
微信语音恐惧症
2016年奔驰E260L主驾驶座椅不能调节
BUBA台灯设计
DIY书房小台灯
魔力语音
Magic Phonetics魔力语音
对方正在输入……
太阳与台灯
平均税率、标准税率与收入分布对个人所得税累进性的影响