开发板驱动WS2812B炫彩灯带时的几个坑
一.基础原理
有关WS2812B炫彩灯带的数据手册网上有很多,这里不再赘述,以下将记录一下我在操作时遇到的坑,以及解决办法。
二.“入坑”以及“出坑”
1.“ 一号坑”,关于时序
“坑形”:通过编程调试,灯的颜色与预想的表现不一致,并且跑流水灯的效果不理想
“出坑”:ws2812b的时序要求是一样的,但是灯带与灯带之间有一点区别,有些灯带以RGB的顺序输入字节,有的则是按照GRB的顺序。同时,有的灯带的三个字节是一起输入的,字节与字节之间无间隔(未留图),而有的则是需要间隔,如图。弄清楚自己的灯带情况,便可以正确输出。
2. “二号坑”,关于电压电流
“坑形”:灯点亮的表现方式与预期不一致。
“出坑”:一般灯带的输入电压大致都在5V左右,我从开发板直接引入电源,点亮灯的个数少时,还可以正常使用,如果点亮多个灯,电流不够,所以保守起见,应该接入独立5V电源。
3. “三号坑”,关于过滤
“坑形”:调试时发现第一个灯的表现形式与后续的灯表现的不一致,后续的灯与预期的一致,即后续的灯能正确表达,而只有第一个灯不能正确表达。
“出坑”:输入数据后,后面的灯接到的数据信号都是前面的灯“整形”之后传递来的,而第一个灯通过数据端直接接入,信号有损,才出现了这样的情况。所以可以在灯带的数据端串联一个1k电阻,降低线路上的噪声。