APP下载

多功能智能灯系统的设计与实现

2021-11-03新余学院何运繁

电子世界 2021年19期
关键词:灯带下位上位

新余学院 何运繁 罗 俊

针对生活中人们对节能环保意识缺失的问题,以及符合人们日常生活的便利习惯,本文设计了一款基于蓝牙通信的多功能智能灯系统。该智能灯系统通过蓝牙实现上位机与下位机的通信控制,同时在上位机上使用了μC/OS实时操作系统以增强系统的实时性与带负载能力,再结合多种传感器与WS2812B灯带实现了灯光的智能感应调节、定时、温湿度显示报警提示等多功能。

当前,随着物联网技术的迅速发展,物联网智能化设备的运用越来越普遍,智能家居就是其中之一,同时给人们的生活带来极大的方便与体验。而在生活中,日常灯的需求对人们而言是至关重要的,对于传统的灯往往需要手动控制,而对于智能化灯,它能够感应周围是否有人的存在而选择是否自动开灯,从而避免了多次复杂的手动操作。本文设计了一款基于蓝牙通信的多功能智能灯系统,该系统整体上可分为控制上位机与灯光下位机,两者之间通过蓝牙实现系统的无线控制。本文所设计的智能灯系统不仅能够根据外界环境而自动亮灭,还可以根据人们的需求设置定时熄灭,实时显示当前环境温湿度并具有报警提醒等功能,同时系统也可以调节灯光的颜色来渲染出不同的气氛,从而来调节人们的心情。

1 方案设计

系统在整体设计上,可分为控制上位机部分、灯光下位机部分和蓝牙通讯部分。其中灯光下位机部分连接温湿度传感器、红外传感器、WS2812B灯带等功能模块。多功能智能灯的系统模块框图如图1所示。

图1 多功能智能灯的系统模块框图

由于本文所设计的智能灯系统具有的功能较多,因此在前期的初步试验测试时发现,功能的复杂性给裸机系统带来了一定的运行局限性,如系统卡顿、响应延迟较大等。为了有效地提高系统运行的效率,在控制上位机上采用μC/OS实时操作系统可以最大程度上的减小上述系统运行局限性问题。同时考虑本设计对屏幕显示的利用较为频繁且市面上对LCD显示的解决方案也比较多,为了提高显示画面的美观化与可视性,因此在LCD显示部分采用了emWIN5页面处理的解决方案,对于这类方案,市面上也有比较多资料可进行参考。

2 灯光下位机的硬件模块设计

2.1 控制模块

灯光下位机的控制芯片采用的是STM32F103系列,该系列单片机是ST公司开发的基于Cortex-M3内核的32位微处理器。相比51系列的单片机,它具有USART,I2C,SPI等多个通信接口,72M更高的主频,足够大的RAM、FLSAH,运行速度更快。在程序开发上,它可以使用易于阅读、维护成本低的封装库开发,大大的提高了开发效率。

2.2 感应模块

图2所示的是灯光下位机的部分硬件模块电路图,其包括感应模块、WS2812B灯带模块、温湿度和报警模块。下位机的感应模块主要由红外传感器HC-SR501和光敏传感器组成,其原理是通过热释电材料接收人体发出特定波长的红外线而引起其表面电荷的变化,然后热释电传感器将这种辐射变化转换为电平的变化。光敏传感器能够感知周围光线的强弱,将光信号转换为电信号,从而判断周围环境光线的亮暗程度,在结合红外传感,从而实现在光线较暗时检测到有人而亮灯。

图2 灯光下位机硬件部分模块电路图

2.3 WS2812B灯带模块

WS2812B灯带模块是一个具有内部控制电路和LED发光电路的智能光源。一个WS2812B灯带具有8个5050 RGB LED灯组成,该模块的输入口连接下位机的PB10端口,其中一个灯需要G(绿)8位、R(红)8位、B(蓝)8位——24位数据,控制,需要模拟时序:1码(约900ns高电平、300ns低电平)、0码(约300ns高电平、900ns低电平),由于这个时间间隔比较短,需使用定时器定时。由于芯片内部的锁存器和整形电路,数据每经过一级LED灯,就会相应的减少24位,这样的逐级递减从而达到每个灯都能够有数据的传递过来。

2.4 温湿度和报警模块

温湿度传感器使用的是DHT11,其中采用3.3V供电,一个IO口输出数据,它的响应速度快,抗干扰能力强,性价比高。利用温湿度所读取的温度值,可做一个温度报警器。当温度达到设定的值后,就会执行报警模块----由蜂鸣器和红色LED指示灯等组成,蜂鸣器就会响起,同时LED也会亮起以提醒人们。

3 系统软件设计

在系统启动后,灯光下位机默认处于智能感应模式。此时,若光线较为阴暗的且识别到有人存在时,传感器的端口输出高电平并被STM32单片机识别后,单片机则通过控制WS2812B灯带使灯亮起;当人远离或者光线较为明亮时,端口又会输出低电平,灯自动熄灭。在其他情况下,则可以使用控制上位机通过蓝牙通信对灯光下位机进行控制并实时显示当前环境温湿度,与此同时,灯光下位机的感应模式暂时失效。本文所设计的多功能智能灯系统软件整体流程图如图3所示。

图3 系统软件的整体流程图

3.1 上位机软件设计

上位机程序设计部分采用了μC/OS-III实时多任务操作系统,其流程结构如图4。在系统启动后,调度器将优先响应实时列表中优先级最高的任务,其中3个主要用户任务分别为:用户初始主页面任务、触摸按键实时检测任务,显示更新任务,其他的初始化等均放在各任务中。当上位机进入用户主页面之后,会根据当前的触摸按键来判定用户所选择的页面标志,而后由调度器根据页面标志执行显示更新任务从而使上位机LED显示进入对应的用户界面。

图4 上位机系统框架图

用户页面的页面标志如表1所示,初始情况下为主页面,1表示标志被按下,同时系统会执行相应的回调函数进入对应的用户页面。

表1 用户页面与页面标志

3.2 下位机软件设计

下位机系统流程如图5所示。下位机系统在开机初始化之后,会自动与上位机进行蓝牙配对,并在蓝牙配对后根据是否有收到上位机指令来分别进入自动模式或遥控模式。当下位机处于自动模式时,会根据当前红外传感和光敏传感的情况控制灯带的亮灭;当下位机处于遥控模式时,会根据上位机发送的指令直接控制灯带的亮灭或进行定时开关,同时下位机对环境温湿度进行读取并发送给上位机,并根据设定的温湿度阈值进行报警提示。

图5 下位机系统流程图

下位机定时功能的实现,则是通过用户操作上位机上的延时按键来增加定时器的寄存器值,通过蓝牙将其值从上位机传送给下位机,且定时时长可多次累加。下位机对灯带进行控制需要模拟一个时序,下位机控制芯片通过向IO口写入24bit数据即可点亮灯带上的一个小灯,若改变IO口写入的数据则可实现不同的灯光颜色。由于带灯内部为级联整形电路,因此一个小灯的数据可自动传输到下一级电路。下位机向灯带写入一个8bie数据的代码实现过程如下:

4 系统调试

在系统硬件和软件设计完成后,对下位机灯带模块进行了原型焊接调试以检测各模块是否正常。表2所示的是温度报警的功能测试结果。由于春季室内温度大致为25℃左右,故事先将报警温度的阀值调整为25℃。然后将上位机开启为控制模式后,下位机的温湿度传感器将获取的环境温湿度数据通过蓝牙将数据实时传输给上位机。当实时温度超过设定的阀值时,上位机的温度提示区域会显示“Alarm”字样,如图6所示的是用户处于计算器界面时发生报警时的温度显示与提示字样;而下位机部分的灯带会亮起微弱的红光颜色以给人直观的报警提示,如图7所示。

表2 温度报警测试结果

图6 温度过高时上位机的报警提示

图7 温度过高时下位机的灯光报警提示

本文设计了一款基于蓝牙通信的多功能化智能灯系统。整个系统在设计上采用模块化的设计思想对各部分逐一设计,同时在上位机上使用μC/OS-III操作系统,整个系统的实时性更好,在系统同时运行多个任务时,也丝毫不卡顿,这一巨大优势在许多领域上有着极其重要的应用。同时随着人们对生活水平的不断提高,智能家居居理念的逐渐普及,智能灯的使用也有着广阔的应用前景。

猜你喜欢

灯带下位上位
电路状态展示教具制作
便携式可收放LED灯带
隐形灯带点亮家的光芒
发射机房监控系统之下位机
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
小米杂货铺又添新品:支持1600万种色彩的灯带
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”