スイッチサイエンスで面白そうなものを買いました。1本のPWMで大量のLEDを操作できるLED NeoPixelというものです。
買ったものはこちら。FLORAはArduino互換機でLilypadの小さい版といったところ。この16連LEDと同サイズなのでスイッチサイエンスでも互いにリンクが貼られていました。本来は導電糸などで服に縫い付けたりして使うのがベストです。ただ光らせるだけの用途であればNeoPixel Ringは普通のArduino UNOとかでも動きます。
FLORAはこのようにリチウムポリマーのバッテリーの口などもあるのでポータブルにするときは便利そうです。
話をNeoPixel Ringに戻しますが、4つのピンが出ているだけです。今回使うのはVCC、GND、INピンだけです。このINピンとArduinoのPWMピンだけで16個のLEDが操作できるのだから驚きです。以前LEDドライバを利用して16個のLEDを操作しましたが、全然こっちの方がスマートですね。
肝心のLEDの制御ですが、Adafruitというライブラリを利用します。READMEにも書いていますが、ZIPでダウンロードし、フォルダをリネームしてからArduinoのlibrariesに入れるだけで利用可能です。
Windowsであればこんな配置になるはずです。
C:\Users\jonki\Documents\Arduino\libraries\Adafruit_NeoPixel
使い方はexamplesを見るのが早いです。適当にこのスケッチをアップして見ると様々なアニメーションを見ることができます。Arduinoの5V、GND、6番ピンをそれぞれNeoPixel RingのVCC、GND、INに繋ぐだけです。簡単ですね。
APIとしてはこういったわかりやすいものが用意されています。RGB及び輝度の設定が簡単にかけます。
setPixelColor(uint16_t n, uint8_t r, uint8_t g, uint8_t b), setBrightness(uint8_t);
RING以外にもテープ式など面白いものが多いので色々と応用もできそうです。スイッチサイエンスさんも多く取り扱っているので入手性も極めて良いですね。