光の三原色である赤、緑、青の3色のLEDと、その制御回路をワンチップ化したLEDモジュールを「フルカラーLED」と言います。
フルカラーLEDの色や明るさは、たった1本の制御信号でコントロールすることができます。また、複数のフルカラーLEDを数珠つなぎに連結することもでき、1本の制御信号でたくさんのフルカラーLEDの色や明るさを制御することができます。このため、複数のフルカラーLEDをテープ状に並べたものやリング状に並べたものなど、さまざまな製品が販売されています。
今回はこの「フルカラーLEDテープ」を、マイクロビットで光らせてみようと思います。
購入した製品はこちらです。
1メートルのテープに60個のフルカラーLEDが載っています。「WS2812B」というフルカラーLEDが使われており、入力電圧は「5V」とのことです。
マイクロビットとの接続には、こちらも先日購入した「KEYESTUDIOセンサーシールド(KS0360)」という拡張ボードを使うことにします。
フルカラーLEDテープの3つの配線(「GND」「+5V」「Din」)に、それぞれメスのケーブル用コネクタを取り付け、センサーシールドに以下のようにつなぎます。
フルカラーLEDテープ | センサーシールド |
---|---|
GND | G |
+5V | V1 |
Din | 0 |
また、センサーシールドのジャンパーピンで、V1の電圧を「5V」に設定しておきます。
MakeCodeエディタでプログラムをつくります。
「NeoPixel」拡張機能を使います。プログラムは以下のとおりです。
「最初だけ」に「変数 strip を 端子 P0 に接続しているLED 60 個のNeoPixel(モード RGB(GRB順) ) にする」ブロックを置きます。
今回使うフルカラーLEDは、「Din」の接続先が「0」、LED個数が「60個」、色順序が「GRB」なので、上記のような設定内容になります。
Aボタンを押すたびに、全てのLED点灯色が「赤」→「緑」→「青」→「白」→「レインボーパターン」→「消灯」と切り替わります。
百円ショップで購入した「乾電池式USBチャージャー」に単三型Ni-MH充電池2本を入れ、USBケーブルで「KEYESTUDIOセンサーシールド」のUSBポートにつなぎます。
Aボタンを押すと全てのフルカラーLEDが赤色に点灯します。その後はAボタンを押すたびに点灯色が切り替わります。
次は、プログラムを以下のように変更します。
Aボタンを押すと「シャキーン」という音がして、LEDの青色の点灯が手前から先の方に流れていきます。
例えば「ボタンAが押されたとき」を「ゆさぶられたとき」に変更し、マイクロビットとフルカラーLEDテープを長い棒に貼り付けると、振るたびに光って音がなる刀のようなおもちゃがつくれそうです。
とても簡単に、マイクロビットでフルカラーLEDテープを光らせることができました。
光る工作は子供ウケも良さそうなので、子供向けワークショップの題材なんかに良いかもしれません。