具有坐姿纠正与人体感应的多功能智能台灯
2021-09-27广东工贸职业技术学院胡应坤
广东工贸职业技术学院 胡应坤 张 萍 赖 健
目前市场上已有的智能台灯功能相对单一,已有的坐姿纠正检测误报率比较高且安装不便,实用性不强。本设计集合了人体感应检测,低头坐姿检测,手动、自动、夜灯三种模式切换,OLED显示功能,手机APP监控调节多种功能于一体。调试结果表明,本智能台灯为使用者带来一个适宜舒适的照明环境,同时起到保护视力,促使养成良好坐姿习惯的作用,具有较高的经济价值。
随着科技的发展,智能产品渗透到我们生活的各个领域,台灯已是千家万户的必须生活用品,在光线不足的情况下为人们补充适当光线,这就是传统台灯的基本功能。但随着人们生活水平的提高,台灯的功能不仅仅满足于普通的照明。近年来,青少年中近视的发病率逐年上升。经调查发现近视的学生中80%左右是家里或者学校的照明条件不符合照明用眼标准;90%中小学生写作业时坐姿不规范,经常性近距离阅读、趴着看书学习等等,时间长了很容易导致近视、腰肢劳损等疾病,基于以上调查,本团队设计了一款坐姿纠正与人体感应的智能台灯。
本作品以目前应用非常广泛、高性价比的STM32f407微处理器作为主控制器,结合按键检测技术、红外检测技术、蓝牙通信技术、NRF无线通信、语音交互、串口通信技术、spi总线通信技术、OLED显示、人体感应、PWM调节、光照度传感器、温湿度传感器等技术进行综合设计的一款坐姿纠正与人体感应的智能台灯。
整个智能台灯分成台灯主体和低头检测支柱两大部分,两部分通过NRF无线通信实现数据交互,省去了有线连接的麻烦。台灯主体分成底座和灯板两部分,两边的低头检测支柱安装有红外对管,用于检测使用者是否低头弯腰,并可通过台灯底座的按键选择低头报警高度阈值,两边支柱采用可调节的固定夹固定住,最宽距离可达到3m。
1 项目设计的基本思路
整个智能台灯硬件系统分成台灯主体和低头检测两部分,通过NRF无线通信实现命令和数据的交互。
1.1 台灯主体硬件框架和实现原理分析
如图1是台灯主体硬件电路框图。电源电路分为锂电池充放电电源管理、电源稳压两个主要部分。采取USB供电方式时,在向电路供电同时也向锂电池充电。当没有外接USB供电时,采取锂电池供电。稳压电路主要是将USB的5V电源通过降压型DC/DC转换器转变为3.3V供给电路。温湿度传感器检测当前环境下的温湿度并显示在台灯OLED显示屏上。人体红外感应模块检测灯前是否有人,做到人走灯自动关闭、有人自动开启,节省电能。光敏传感器用于台灯自动模式下采集当前环境亮度,并反馈给主处理器使得台灯亮度自动改变。亮度、色温2个按键用于手动模式调节亮度和色温。模式切换按键用于循环切换台灯的自动模式、手动模式、夜灯模式。低头距离调节按键用于设定低头检测的报警距离阈值,检测是否低头和弯腰驼背,确保使用者保持正确的坐姿。语音模块通过串口接收主处理器的词条,播报相应的语音提醒。采用PWM无极调压方式调节LED灯亮度和色温,达到适宜的工作学习灯光环境。NRF无线通信模块与低头检测主板进行命令和数据的交互。OLED显示屏用于实时显示当前温度、湿度、模式以及当前时间。自主设计的智能台灯手机APP通过蓝牙与主处理器实现命令和数据的交互。
图1 台灯主体硬件电路框图
1.2 台灯低头检测主板硬件框架和实现原理分析
如图2所示为台灯低头检测主板硬件电路框图。低头检测主板与台灯主板利用NRF24L01实现无线通信,接收台灯主板发送的按键命令,从而激活对应的激光二极管发光和相应的红外接收器,如果使用者低头,则挡住了红外接收器,处理器把触发信号通过NRF无线通信传送到台灯主体,台灯主处理器开启定时器计时,如果超过6s仍然接收到低头检测信号,则自动关闭灯光,并发出语音提醒:“台灯已关闭,请注意坐姿”。如果使用者端正好坐姿抬头后,则主处理器恢复开启灯光。让使用者时刻保持良好的坐姿和抬头姿势。当然,如果使用者不想使用此功能,可关闭低头检测主板的电源开关,或者采用手机APP遥控关闭。
图2 台灯低头检测主板硬件电路框图
2 程序设计流程分析
台灯主体的程序设计的编译环境采用MDK5.25,采用C语言编写程序。
2.1 台灯主体程序分析
程序设计流程如图3所示。台灯接上电源后,系统各部分复位初始化,包括如下模块:台灯主体主芯片、温湿度传感器、人体感应传感器、光敏传感器、4个按键、语音模块、PWM控制、NRF无线通信模块、OLED显示屏。
图3 台灯主体程序设计流程
程序化完毕后,台灯会发出语音提示:“欢迎使用防近视智能台灯”,并显示当前环境的温湿度,然后进入while(1)循环,判断模式切换按键是否按下,如果按下则改变变量i的值,如果i=1则启动自动模式,如果i=2则启动手动模式,如果i=3则启动夜灯模式,没按下则默认模式是自动模式。每选择一种模式都有相应的语音提醒。下面分别描述3种模式和两个子程序模块的工作过程。
(1)自动模式
首先读取环境的亮度值和温度,然后根据设定的规则自动调节台灯亮度和色温,环境光线越亮台灯则变暗。环境温度越高,则色温越低,环境温度越低,则色温越高。调节完毕进入检测周围是否有人的子程序。
(2)手动模式
如果亮度调节按键按下,则亮度逐渐变亮,到最亮后,又从最暗开始逐渐变亮,如此循环往复;如果色温调节按键按下,则色温逐渐变高,到最高后,又从最低开始逐渐变高,如此循环往复;调节完毕或者无按键按下则进入检测周围是否有人的子程序。
(3)夜灯模式
已经在程序设置了一个固定的低亮度值和柔和的色温值,不可手动调节和自动调节,关闭了检测周围是否有人和低头检测功能。此模式可以替代夜光灯使用,省去了单独购买的麻烦。
(4)检测周围是否有人的子程序
判断台灯周围是否有人,如果没人,则启动定时器定时60s后,如果周围还是没人,则自动关闭台灯,但如果检测到有人,则会自动打开台灯,并保持关闭之前的亮度和色温。如果有人则转到执行低头检测的子程序。
(5)低头检测的子程序
如果检测到人体坐姿不正确,语音提醒:“你的坐姿不对了,请注意抬头挺胸”,并启动定时器定时6s后,如果继续检测到低头,则自动关闭台灯,并语音提醒:“台灯已关闭,请注意坐姿”,如果恢复正确坐姿,则打开台灯,保持关闭之前的亮度和色温。如果人体坐姿正确,则保持台灯的亮度和色温值不变,并再次进入判断台灯模式的循环监测。
2.2 台灯低头检测主板程序分析
如图4所示为台灯低头检测程序设计流程图。台灯低头检测主板同样在通电后进行主芯片的初始化、激光二极管和红外接收对管相应IO引脚的初始化、并把红外接收管的信号引脚设置为外部中断、NRF无线通信模块的初始化,初始化完成之后不断查询台灯主板是否发送新的按键值命令过来,有则使能相应的激光二极管和红外接收管。如果发生相应的外部中断,则可判断使用者低头距离低于报警阈值,并把此标志位发送给台灯主板。
图4 台灯低头检测程序设计流程图
2.3 智能台灯手机APP设计分析
手机端APP采用Android集成开发环境的JAVA语言实现,显示控制界面能够实现台灯的打开和关闭、模式选择、手动模式下台灯亮度和色温调节等。
3 智能台灯制作实物调试结果
本设计已经制作出实物,其使用场景能够实现三种模式切换。在自动模式下能自动调节亮度和色温,手动模式下通过按键或者手机APP能调节亮度和色温,夜灯模式能以固定的低亮度和色温呈现。能自动感应周围是否有人,四个档位的低头检测距离报警阈值都能实现,语音提醒功能正常,OLED屏幕能正常显示当前的温湿度和时间、模式等功能。