micro:bitで復数のフルカラーLEDを光らせる neopixel用ブロックの使い方

2019年9月4日プログラミング

micro:bitは、ZIP Haloなどのneopixel系のフルカラーLEDを簡単に制御できるようにあらかじめブロックが準備されています。ただ、ブロック名からは何ができるのかピンときません。
というわけで、今回はmake codeで使えるneopixel用ブロックの使い方について説明します。

ポイントは、「~を設定する」系ブロックで内部的に光り方を設定をして、「~を点灯する」系ブロックで実際の光り方を変える、という点です。

ちなみに、フルカラーLEDではありませんが、Arduinoで復数のLEDを繋げて光らせる方法は下記の記事で紹介しています。

普段使用するブロック

LEDを使うために最初に使う。
接続しているLEDの個数、色の設定モードを指定し、LEDを操作するための変数を生成する。(ここではLED変数と呼ぶ)
ここで生成した変数を操作して光らせていく。
※接続しているLEDの個数より少なく指定すると変な色で光る場合がある。
※ZIP Haloの場合、色の設定モードに「GRB順」を指定する。

一部分のLEDを操作する場合に使う。
LED変数に対して、部分的に操作する範囲をLEDの開始位置と個数で指定し、新たなLED変数を生成する。
※開始位置は、元のLED変数の一番最初を「0番目」と数える。

LED変数の全LEDを指定した色で光らせる。

途中の1個だけ色を変える場合に使う。
これを実行しても内部的に設定されるだけで、光っている状態は変わらない。
「~を指定した色で点灯する」ブロックを実行することで実際のLEDに反映される。

色の設定を実際のLEDに反映する。

LEDの明るさを操作する場合に使う。
これを実行しても内部的に設定されるだけで、光っている状態は変わらない。
「~に設定されている色を明るさで調整する」ブロックを実行することで実際のLEDに反映される。
また、この設定後に点灯するLEDは、設定した明るさになる。

明るさの設定を実際のLEDに反映する。

LEDを虹色(グラデーション)に光らせる場合に使う。

LEDの色をずらす場合に使う。
最初と最後のLEDがつながっているようにずれる。(色がぐるぐる回る感じ)
ずらす個数に正の数を指定するか負の数を指定するかでずらす方向を変えられる。

LEDの色をずらす場合に使う。
ずらした結果、端っこのLEDは消えていく。
ずらす個数に正の数を指定するか負の数を指定するかでずらす方向を変えられる。

値を取得するためのブロック

RGB指定で、色を示す数値を得る。

色名指定で、色を示す数値を得る。

そのLED変数で操作しているLEDの個数を得る。

マトリクス表現する場合のブロック

LEDの位置をマトリクス表現(x座標、y座標で指定)する場合に使う。
x軸のLEDの個数を2以上で指定する。

LEDの位置をマトリクス表現で指定し、途中1箇所だけ色を操作する場合に使う。
x、yともに一番最初の座標は0。
これを実行しても内部的に設定されるだけで、光っている状態は変わらない。

あまり使わないブロック(説明は省略)

フルカラーLEDだと、幻想的な演出から、花火のような派手な演出まで、色んな楽しみ方ができますね。