Aliexpressに自称WS2812Bが売っていたので買ってみた。購入ページはここ。
![](https://ae01.alicdn.com/kf/S1544877dcaab446b9b2a1c26f06ab866I/Led-ws2812b-4-10-1000-5050-rgb-smd-ws2812.jpg)
Ledチップws2812b,4ピン,10〜1000個,5050 rgb smd,ホワイトバージョン,ws2812,個別にアドレス指定可能なデジタルピクセル,dc5v - AliExpress 39
Smarter Shopping, Better Living! Aliexpress.com
1000個買って届いたものがこれ。値段は3000円だった。
![](https://sironekolab.com/wp/wp-content/uploads/2022/07/image-1-1024x576.png)
VDDは5V、VSSはGNDに接続する。1つのみの場合はDINはArduinoへ、DOUTは解放、複数個接続する場合は初めのLEDのみDINをArduino、以降DINとDOUTを相互に接続する。
![](https://sironekolab.com/wp/wp-content/uploads/2022/07/image-2.png)
![](https://sironekolab.com/wp/wp-content/uploads/2022/07/image-3-1024x263.png)
プログラムはAdafruit_NeoPixel.hを使えば動作する。
#define NUMPIXELS 1
で並べるLED個数を指定し、
pixels.setPixelColor(i, pixels.Color(0, 150, 0));
でLEDへ書き込む。この場合R=0,G=150,B=0の色が指定される。最大値は255。最大値で使う場合は爆光と発熱に注意。
以下コード全文
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define NUMPIXELS 1
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 500
void setup() {
pixels.begin();
}
void loop() {
pixels.clear();
for(int i=0; i<NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(0, 150, 0));
pixels.show();
delay(DELAYVAL);
}
}
コメント