聚丰项目 > 基于RT thread的蓝牙LED调色小夜灯

基于RT thread的蓝牙LED调色小夜灯

使用蓝牙控制全彩LED小夜灯,设定色温、开启时长。后续可增加环境数据监测、时间设定、人体感应等扩展功能,再使用手机进行配置。增加小夜灯的物联网属性及功能,实现小物品的智能化,在生活细节处体现科技生活的舒适性。此设计属于原型,仅提供基础功能,更多拓展需要进一步讨论、设计、开发等等。

tashuiqingming tashuiqingming

分享
0 喜欢这个项目
团队介绍

tashuiqingming tashuiqingming

团队成员

tashuiqingming 嵌入式软件工程师

分享
项目简介
使用蓝牙控制全彩LED小夜灯,设定色温、开启时长。后续可增加环境数据监测、时间设定、人体感应等扩展功能,再使用手机进行配置。增加小夜灯的物联网属性及功能,实现小物品的智能化,在生活细节处体现科技生活的舒适性。此设计属于原型,仅提供基础功能,更多拓展需要进一步讨论、设计、开发等等。
硬件说明

RT-Thread使用情况概述:

硬件方案:串口蓝牙、板级LED。采用常规的串口蓝牙从模块JDY-33,连接即透传数据,不需要进行额外操作。

内核部分:使用了线程、信号量、定时器 、PWM


设备驱动:

GPIO/PWM/UART 等


MCU通过串口与蓝牙连接,等待设备上线,解析蓝牙回传数据,设定RGB的PWM占空比,设定定时器工作周期。以实现蓝牙控制LED调色、定时工作等基础功能。



软件说明

软件部分主要涉及两方面:1.串口数据接收。使用软件超时功能,判断一帧数据接收完成,发送接收完成信号量,线程进行数据解析,动作执行。

2.全彩LED的指令打开,超时关闭,指令关闭。三种状态设置情况。


软件命令:

动作

CMD1/0

持续时间

R

G

B

备注

CMD1

uint32_t类型数值(1ms

0-255

0-255

0-255

间隔符“,

CMD0

——

——

——

——

  ——

 例:

        CMD1,1000,122,45,85    打开,持续时间1000msRGB数值分别为1224585

        CMD0                 关闭


代码地址:

https://gitee.com/ZhuPengFly/buletooth_rgbled.git


演示效果

备注:AB32开发板,LPWM互斥输出,板级全彩LED的RGB,其中GB两个IO口连接到LPWM上,故不能实现GB的PWM调色,故实际只对R进行了调色。(PS:互斥这个说法非AB32官方给出,仅个人网上资料查阅所得。若有偏差,欢迎纠正,若有冒犯,敬请谅解)


  1. 电脑连接蓝牙,将提供虚拟蓝牙串口,使用串口调试工具,发送指令,如下图:


  2. c5e9d767b7e108a397e37d4af5370d3.png

  3. 发送CMD1指令。持续时间20s。MCU调试串口输出信息,同时LED打开,时间戳:23:55:55


  4. 图片.png

  5. MCU调试串口输出信息,同时LED关闭,时间戳:23:56:15。持续时间20s,与CMD1设定时间相符


  6. 1639242166(1).png

  7. 发送CMD0指令。MCU调试串口输出信息,同时LED关闭

    1639242337(1).png


评论区(0 )