SDKパーツライブラリに掲載されているパーツを実際に購入して試した結果をレポートします。第3回は、コントローラチップとしてWS2812Bを使ったフルカラーLEDです。要点コントローラチップWS2812Bを使ったフルカラーLEDを試してみた。Barをamazonで安く購入した。端子の半田付けが必要。各LEDに色が設定される仕組みを説明した。Barを複数台数珠つなぎすると動作しなかった。外部電源にしたら数珠つなぎでも動作した。パーツライブラリのページWS2812Bはパーツライブラリの「LED」に分類されています。パーツライブラリのページはこちらです。購入先パーツライブラリのページにはスイッチサイエンスとadafruitの商品ページのリンクが掲載されています。どちらも1,000円程度するので、もっと安いものはないかと探してみたら、8個のLEDが直線状に並んでいる製品を見つけました。5個セットで810円なのでお買い得です。Bar」と表記することにします。Barには、入力用の4ピンと出力用の4ピンの計8ピンが用意されています。下の写真で、左側が入力ピン、右側が出力ピンです。入力用4ピンの内訳は、GND、DIN、4-7VDC、GNDとなっていてGNDが2つあるので、実質は3ピンです。Barを数珠つなぎにできます。Barは上の写真のような状態であり、他の機器と接続するためのピンやソケットがありません。そこで、obnizへの接続がしやすく数珠つなぎがやり易いように、入力側にピンヘッダー、出力側にピンソケットを半田付けしました。ピンヘッダーとピンソケットは秋月電子通商で購入しました。(40P)ピンが40個繋がった製品なので、4ピンになるようにニッパーで切断します。1×4(4p)こちらは4ピンの製品なのでそのまま使います。動作の仕組みobnizから色情報の列をLEDに送ります。下図の例では、”赤、青、緑”を送っています。各LEDは、受け取った色情報の先頭の色を自分に設定し、残りの色情報を次のLEDに送信します。下図の例では次のような動作になります。1番目のLEDは”赤、青、緑”を受け取り、赤を自分に設定して、”青、緑”を2番目のLEDに送る。2番目のLEDは”青、緑”を受け取り、青を自分に設定して、”緑”を3番目のLEDに送る。3番目のLEDは”緑”を受け取り、緑を自分に設定する。残りのデータがないので次には送らない。配線まずはパーツライブラリのページに記載されている配線を分析してみます。WS2812Bのパーツライブラリのページには次のようなプログラムが掲載されていますio0がgnd、io1がvcc、io2がdinを接続するプログラムになっています。Barをobnizに接続した場合、ピンの接続の順番はio0がGND、io1がDIN、io2が4-7VDC、io3がGNDになります。パーツライブラリのプログラムとはピンの順番が異なることが分かります。この並び順に対応するためには、プログラムを次のように変更すればよいはずです。)関数の説明部分にあるプログラム動かしてみます。引数部分を上述のように変更して次のようなプログラムにしました。プログラムを実行すると、1番目のLEDが赤に、2番目のLEDが青になります。写真ではLEDの発光が少なく写っていますが、肉眼ではかなり明るく光っています。次に8個のLEDを全部光らせてみます。led.rgbsに与える配列の要素を8個に増やします。cloud上のここに置いてあります。http://obniz.io/ja/console/program?root=/users/266/repo&filename=M-WS2812B-1-LED-Bar-8Colors.htmlプログラムを実行すると、8個のLEDが別々の色で光ります。Barを1本追加してみました。プログラムは、led.rgbsに与える配列の要素をコピペして2倍にしました。cloudのここに置いてあります。Barは両方とも光りませんでした。電源が不足している可能性があるので、外部電源を接続して試してみました。外部電源は、USBからブレッドボードに電源を供給できる変換ボードを使いました。Barが2本とも光りました。