STM32例程分享-05-WS2812B灯带(单线归零码)

例程运行结果:
在这里插入图片描述

1. 简介

   WS2812B是一款全彩LED控制IC,单总线控制, 灯带上的每一位灯珠都可用编程控制全彩显示,通过单片机,我们可以实现任意数量任意颜色任意组合效果的炫彩灯光显示效果。
在这里插入图片描述

2. 通信格式

1) 单线归零码

   数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术,使得该像素点的级联个数不受信号传送的限制,仅受限信号传输速度要求。
在这里插入图片描述

   根据手册介绍,数据发送的顺序是GRB,高位先发。每8bit代表了WS2812B灯珠对此种颜色光发光的强度,故耀眼的绿、红、蓝纯色光对应十六进制的编码分别为:0xff0000(绿)、0x00ff00(红)、0x0000ff(蓝)。
2)数据编码
编码时序图:
在这里插入图片描述
数据传输时间:
在这里插入图片描述

这里我们使用定时器来完成他的时序周期,如果有示波器的话,也可以通过延时来模拟周期。

3. WS2812B驱动

1) 查看驱动

   在公众号”IOT趣制作“中回复”0433“直接下载资源文件,然后在目录“.\常用模块资料\06-WS2812B灯带模块\WS2812B灯带模块-示例工程\HARDWARE\WS2812B”中的ws2812B.c和h文件是WS28B12B的驱动文件。
在这里插入图片描述

在ws2812B.h文件中,可以对引脚、灯珠数量等进行修改配置。
在这里插入图片描述

2) 使用方法

PWM_WS2812B_Init(WS2812B_ARR);  //WS2812B初始化        
WS2812B_Reset();                //复位
PWM_WS2812B_Red(1);             //1个灯珠红灯
PWM_WS2812B_Green(1);            //1个灯珠绿灯
PWM_WS2812B_Blue(1);             //1个灯珠蓝灯
PWM_WS2812B_Red(3);             //3个灯珠红灯

4. 示例工程

   打开目录“.\常用模块资料\06-WS2812B灯带模块\WS2812B灯带模块-示例工程\USER”下的KEIL工程
在这里插入图片描述

编译烧录运行,查看效果
在这里插入图片描述


本期内容资源获取:公众号回复关键字“0433”直接下载相关资源:
在这里插入图片描述

上一期:STM32例程分享-04-MPU6050陀螺仪模块(IIC)
下一期:STM32例程分享-06-mlx90614人体红外测温模块


评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IOT趣制作

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值