基于蓝牙的多功能台灯控制系统设计*
2021-12-16陶曾杰袁可可李世友付定元
陶曾杰,袁可可,李世友,付定元
(湖南信息学院电子科学与工程学院,湖南 长沙 410151)
如今,人们对台灯的要求不再是单一的照明,而是追求照明的个性化和智能化[1].而市面上大部分台灯只具备简单的开/关功能,智能式多功能台灯较少,人离开时若忘记关灯,灯会一直开启,造成电能的浪费.为了解决这个问题,笔者拟设计一套基于蓝牙的多功能台灯控制系统.
1 系统结构
基于蓝牙的多功能台灯控制系统是通过传感器检测周围环境,再利用微控制器进行分析处理,它不仅可以实现台灯的自动开/关、亮度调节功能,还可以根据使用者的坐姿和使用时间作出语音提醒.台灯控制系统的设计框架如图1所示.
图1 台灯控制系统设计框架Fig.1 Block Diagram of Lamp Control System
2 硬件设计
2.1 信号检测
2.1.1 红外检测 红外检测电路采用HC-SR501,检测周围是否有人.当检测范围内有人时,红外模块2脚输出一个高电平,经R14限流后导通三极管,此时三极管集电极接地,即PEOPLE端(与P2.2相连)为低电平,LED D5点亮,单片机根据PEOPLE为低电平判断有人.R13为上拉电阻,当检测范围内无人时,2脚输出低电平,三极管截止,PEOPLE通过上拉电阻变成高电平.红外检测电路如图2所示.
图2 红外检测电路Fig.2 Infrared Detection Circuit
2.1.2 光感检测 采用光敏电阻根据外界光照强度进行光感检测.当周围环境光照强度发生改变时,光敏电阻两端电压也发生相应变化[2].光敏电阻与1个100 kΩ的电阻形成分压电路,传输至单片机,单片机将其值与给定值进行比较分析,判断光照强度,再通过PWM调节灯光的强弱.
2.1.3 超声波测距 超声波测距采用HC-SR04,用来检测使用者与桌面之间的距离.测距时,主控芯片通过Trig引脚发送1个10 μs的脉冲,启动超声波测距模块,模块内部会自动发射8个40 kHz的方波,并检测是否有信号返回.当检测到返回信号时,Echo引脚会输出1个高电平,该高电平持续的时间即为超声波从发射到返回的时间[3].
2.2 信号输出
2.2.1 语音播报 语音播报采用NY3P035语音芯片,用来进行倒计时结束后的语音提醒,以及使用者使用时间过长、坐姿不正确等提醒.NY3P035内置1组PWM输出器,可直推喇叭,外围电路相对简单,仅需要耦合1个104电容即可.语音播报电路如图3所示.
图3 语音播报电路Fig.3 Voice Broadcast Circuit
2.2.2 LED驱动电路 为了方便,LED驱动采用USB接口输出,用来连接负载.当单片机LED端口输出低电平时,经过限流电阻,导通三极管,此时J6的+极和三极管的集电极相连,J6+极接入+5 V电源,LED开始工作.当单片机LED端口输出高电平时,三极管截止,J6不得电,负载停止工作.LED驱动电路如图4所示.
图4 LED驱动电路Fig.4 LED Drive Circuit
2.2.3 显示及报警 显示采用OLED屏,主要显示倒计时时间、使用者与台灯之间的距离、外界光线强度/灯光亮度等.超声波测量的距离小于预设值时通过蜂鸣器进行报警,提醒使用者注意坐姿.
2.3 蓝牙通信
蓝牙通信采用HC-05蓝牙模块.灯作为从端设备,可以与手机主控制端建立双向通信,台灯OLED屏显示的数据传送到手机端并显示,手机端对灯下达控制命令.
3 软件设计
3.1 主程序流程设计
系统首先初始化,显示屏显示倒计时时间、外界光线强度/灯光亮度、使用者与台灯之间的距离,然后根据自动模式、手动模式或蓝牙控制进行不同的操作.自动模式下,红外感应传感器检测是否有人,有则开启台灯并开始倒计时.倒计时结束时喇叭播报提醒休息,此时需要手动复位,关闭台灯并重置倒计时;若此时使用者已离开,则系统会有1个30 s的延时,延时结束后检测到无人便自动关灯.手动模式下,使用者通过旋钮开启台灯并调节亮度.蓝牙控制下,使用者在手机端开启台灯并调节亮度.系统主程序流程如图5所示.
图5 系统主程序流程Fig.5 Main Flow Chart of System
3.2 蓝牙通信设置
蓝牙HC-05模块用来接收数据并将数据传输至单片机,再通过手机上的蓝牙串口助手发送数据.将蓝牙模块用TTL线与电脑连接,按模块上的按键再上电,进入AT模式(图6).打开电脑串口调试器,设置好端口号、波特率,选择十六进制显示,就可以对蓝牙模块进行调试了[4].
图6 AT模式下的测试Fig.6 Test in AT Mode
蓝牙控制App为现成的蓝牙串口助手,它有12个按键,选择其中4个按键作为台灯的控制按键,分别控制台灯开/关、灯光调亮、灯光调暗和自动/手动模式切换.将串口助手和蓝牙模块进行配对连接,模块上的LED灯由快闪变为2次/s的闪烁,表示连接成功.
在蓝牙调试中,利用串口工具将蓝牙模块与电脑相连,通过串口调试助手对蓝牙信息进行检测和修改.在AT模式下可以查看蓝牙地址和配对密码.手机蓝牙串口助手与蓝牙模块配对后就发送数据,调试助手接收并显示收到的数据,蓝牙配对测试如图7所示.图8示出了手机蓝牙串口助手界面,蓝牙控制选择使用4个按键,显示4段数据.
图7 蓝牙配对测试Fig.7 Bluetooth-Paired Test
图8 蓝牙串口助手界面Fig.8 Bluetooth Serial Port Assistant Interface
4 结语
对硬软件的整体调试和蓝牙端的联机测试后,上电开始实际使用.使用者通过按键切换自动/手动模式,并设置定时时间、超声波阈值等.手动模式下,使用者可以直接调节灯光亮度;自动模式下,红外感应检测到人就自动开灯,再根据外界光线强度的变化调节灯光亮度,当超声波的测量距离小于预设值时会进行报警提醒.当手机蓝牙终端与台灯控制系统连接成功后,蓝牙终端通过发送开/关灯信号和调节灯光亮/暗信号来控制台灯.基于蓝牙的多功能台灯控制系统弥补了现有台灯功能单一、浪费电能的不足.考虑到该系统中手机控制端App界面利用的是蓝牙串口助手界面,界面显示不够丰富,因此笔者之后将对手机控制端App采用安卓系统设计出人性化功能更强大的界面.