この記事は、arduinoでフルカラーLED64配列(WS2812B-64)を使うためのものです。WS2812BはテープLEDなどで見かけるフルカラーLEDです。5VとGNDと信号線の3端子で制御可能です。これが8x8=64個並んだものが2000円弱で売られています。使い方はテープLEDと同じです。
#接続方法
基板にはINとOUTがあり、IN側の3端子をつなぎます。
OUT端子は、数珠繋ぎに拡張するための端子です。
基板<->arduino
V+ <-> 5V
V- <-> GND
IN <-> D6
#消費電力
64個のLEDを(255,255,255)で光らせると、推定値2000mA以上必要となり、USBの規格が500mAで設計されているのでなにかが壊れるかもしれません。
実測値は以下の通りです。
64個のLEDを(64,64,64)で光らせると600mAでした。
64個のLEDを(32,32,32)で光らせると360mAでした。
これにはarduinoの消費電力も含まれています。
色は光の三原色でつくられており、白が一番消費電力が高く、白以外の色であれば消費電力は下がることから、(64,64,64)以内で使っていれば、実用上問題ないのかなと思います。
#プログラム
「ライブラリの管理」メニューから「Adafruit NeoPixel」を検索し、インストールします。
以下、適当に光らせるプログラムです。
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel pixels(64, 6, NEO_GRB + NEO_KHZ800);
int counter = 0;
void setup() {
pixels.begin();
}
void loop() {
for (int i = 0; i < 64; i++) {
int r = i;
int g = (i*8)%64;
int b = sin(counter/50.0)*32+32;
pixels.setPixelColor(i, pixels.Color(r,g,b));
}
pixels.show();
delay(10);
counter++;
}