led灯珠好坏的检测方法rgb灯珠
下载流行游戏全色灯带。买来灯带总是检查好坏。从GiHub下载WS2812库,通过其中的样本代码,闪烁速度非常快,完全看不见。而且耗电非常大。用外置电源供电,Arduino板的稳压电路烫得手都摸不着了。我们修改了程序,同时只点亮了一个灯,从一端向相反方向跑,又跑回来了。这样,USB供电也能运行。
#include lt;Adafruit_NeoPixel.hgt;#ifdef __AVR__ #include lt;AVR/power.hgt; //Required for 16 MHz Adafruit Trinket#endif#define PIN 6#define NUMP 144Adafruit_NeoPixel pixels(NUMP, PIN, Neo_GRB + Neo_KHZ800);void setup() { //These lines are specifically to support the Adafruit Trinket 5V 16 MHz. //Any other board, you can remove this part (but no harm leaving it):#if defined(__AVR_ATtiny85__) (F_CPU == 16000000) clock_prescale_set(clock_div_1);#endif //END of Trinket-specific code. pixels.begin();}int pn = 0;int md = 1;int r = random(0, 200);int g = random(0, 200);int b = random(0, 200);void loop() { pixels.clear(); pixels.setPixelColor(pn, pixels.Color(r, g, b)); pixels.show(); delay(60); pn = pn + md; if(md == 1 pn == NUMP || md == -1 pn == 0){ md = -md; r = random(0, 200); g = random(0, 200); b = random(0, 200); }}
跑一条是一种颜色,见面后又随机变成一种颜色。由此,检测出灯珠的RGB3个灯芯。有问题是一目了然的。
我们使用了144珠的全色灯带。如果你的珠数不同,例如像60珠那样,把代码的“#defineNUMP144”变更为“#defineNUMP60”就可以了。
连接着的是D6个口。变更“#definePIN6”后,可以连接到其他数字端口。