我们首先在proteus中找到WS2812B,给其加载一个Pattem信号源,如下图:
在根据WS2812所需要的脉冲宽度进行修改,首先,实现逻辑0需要的是一个低电压在0.8us左右,高平电压需要0.35us,逻辑1则需要高电平0.7us,低电平0.6us。我们设置一个大于500ns的值(一般0.5us~5us都可以),我们将频率设置2M(100khz到2Mhz以上的都可以驱动),下图:
从上图可以看出,当为HIGH_LOW_HIGH时,为彩色(上图设置为)绿色
设置为下图为紫色
如果设置为LOW_HIGH_LOW则为全白
另外,我们也可以用Pattem信号来设置
如果我们要把所有的灯点亮,则必须有一连串的信号发出,
很明显,WS2812B被点亮。
对于这傻傻的点亮我们可能不满意的,我们希望看到的是流动起来的样子。那么,我们就必须有一个能够产生有规律的变化的信号才可以达到我们的目标。
大招来了,我们使用信号发生器,手动来控制使其产生信号序列,看效果:
其中的示波器可以用来观察信号发生器产生的波形和频率。
通过上述试验,我们应该基本了解了WS2812的特点和使用方法了,那么我们使用单片机驱动它的时候就知道频率大约在什么范围内才能够真正驱动它,使它正常工作。