【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

 

【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

 

 

观看演示效果:https://www.bilibili.com/video/BV1dv411Y7x3

 

使用STM32 HAL库编程 PWM+DMA控制输出,CubeMX生成初始工程

实现全彩音乐灯

WS2812B全彩流水灯效果展示及理论详细讲解

WS2812B的主要用途是在路边的氛围灯,我们在一些公园里看到五彩斑斓闪烁的灯基本都是WS2812为基础的灯带

 

另外我们还可以通过纯软件延时的方式来控制数据发送,这可以方便程序移植

 

二、 基础认识 (一)  小理论

WS2812B是一种智能控制LED光源,将控制电路和RGB芯片集成在一个5050个组件的封装中。内部包括智能数字端口数据锁存和信号整形放大驱动电路。还包括精密的内部振荡器和电压可编程恒流控制部分,有效保证像素点的光色高度一致。

数据传输协议采用单NZR通信模式。像素上电复位后,DIN端口从控制器接收数据,第一个像素采集初始24位数据,然后发送给内部数据锁存器,其他经过内部信号整形放大电路整形后的数据通过DO端口发送给下一个级联像素。每传输一个像素后,信号减少24位。像素采用自整形传输技术,使得像素级联数不受信号传输的限制,只取决于信号传输的速度。

复位时间>280us,中断时不会误复位,支持低频率,价格低廉的MCU。刷新频率更新至2KHz,无闪烁,提高了出色的显示效果。

特性:

l  控制电路和LED共用唯一的电源。

l  控制电路和RGB芯片集成在一个5050个元件的封装中,形成一个完整的可寻址电路

l  像素内置信号整形电路,波形整形到下一个驱动器后,保证波形失真不累积。

l  内置电子复位电路和失电复位电路。

l  每个像素的三原色都可以实现256亮度的显示,完成16777216色的全彩显示,并且扫描频率为2KHz。

l  级联端口通过单线传输信号。

l  任意两点距离不超过5m传输信号无需任何增加电路。

l  刷新率为30fps时,级联个数不小于1024像素。

l  以800Kbps的速度发送数据。

l  灯的颜色高度一致,性价比高不需要外部电子元件,甚至不需要电容。

(二)   样式汇总

1

【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

灯板矩阵

【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

灯带

【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

灯板

【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

三、硬件简介

灯带参数:WS2812B灯条:30珠每米9w,60珠每米18w,144珠每米43W,电压:(直流)DC5V

也就是每个灯珠全亮的功耗约为0.3W

 

l  供电:5V

l  每个灯珠全亮的功率:0.3W

l  每个灯珠全亮的电流:0.6mA

 

每个芯片有四个引脚

【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

 

级联接线方式

上一个芯片的DO接到下一个芯片的DI

【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

 

 

【有趣的全彩LED | 编程】用STM32 HAL库让WS2812B为你所动

四、编程思路

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsszdy.html