FastLED 是一款功能强大,简单易用的控制WS2812,LPD8806,等LED光带的Arduino第三方库.目前FastLED是公认的Arduino开发者应用最为广泛的LED控制库之一.在商业市场中,也有很多使用FastLED库所开发的产品.
FastLED的仓库地址如下:
WS2812B
由于现在璃奈板仍然处于测试验证阶段,我使用的是一块柔性的WS2812BLED灯板(如下图所示),共贴了16*16共256个灯珠.事实证明,这个大小已经可以有效处理璃奈板显示的绝大部分表情.
供电与接线方式
这个是在LED方面碰到的第一个也是最大的坑,因为这个问题成功彻底烧废一块板(字面意义的报废),烧坏一块板(换完灯珠后正常),直到第三家店他们的客服才终于解决了这个老大难问题.
电源
WS2812B LED灯带上每一个灯珠都需要60mA左右的电流强度,为了确保灯带正常工作,控制电路所配备的直流电源要能提供充足的电流强度为光带供电.比方说对于256颗灯珠的WS2812B来说,给到的直流电源应当是256*60/1000=15.36A.
实际上店家告诉我说60mA只是一个保证安全的参考值,如果亮度不开满的话每个灯珠只有20-30mA的工作电流,并且考虑到256个LED全亮灯的情况也不多,所以实际上6A-8A的DC电流已经足够支持璃奈板的正常工作.
WS2812B的标准工作电压为5V,超过5V就有概率把板子的IC控制给烧坏,这块板子就报废了.电压是万万不能随便乱加的(悲).
接线方式
这玩意更是一个大坑.WS2812B分别有三组线.DIN组和DOUT组分别有VCC,GND,DATA三条线,中间一组附加电源线则只有VCC和GND线,没有数据线.
DIN负责从开发板或者其他WS2812B接受控制信号.由于一共只有256个灯珠,如果控制信号超出了这个值,溢出的部分通过DOUT传输给其他WS2812B,实现扩展.
需要注意的是,一旦选择采用了外部电源而非开发板供电(因为璃奈板灯珠过多,开发板带不动,强行带可能会把板烧了),那么就必须采用附加电源线而非DIN组的电源线进行供电.因为DIN组的GND必须和DIN线一起接到开发板上,否则无法正常传递控制信号!