micro:bitでフルカラーLEDを自由に光らせてみよう!

 micro:bit(マイクロビット)は手のひらサイズの小さなコンピューター。いろいろな機能
(きのう)

(そな)
わっていて、自分でプログラミングをすることができるよ。ブログラミングは「MakeCode(メイクコード) for micro:bit」を使えば、初心者
(しょしんしゃ)
でもかんたんにできるんだ。

 前回までは、micro:bitに「ベーシックモジュール」と「電池モジュール」を組み合わせて、サーボモーターを動かした。今回は、「KoKa micro:bit実験・工作キット」に入っているフルカラーLEDを使ってみるよ。

 フルカラーLEDはICを搭載
とうさい
したLEDで、光の三原色
さんげんしょく
であるR(Red:赤)、G(Green:緑)、B(Blue:青)の3色のLEDが内蔵
ないぞう
されている。この3色を駆使
くし
することで、名前の通りすべての色をつくり出すことができる。さらに、LEDがリボン
じょう
にいくつかつながっているものなら、指定
してい
した位置
いち
のLEDを光らせることができるんだ。

 今回使うフルカラーLEDは輝度
きど
が高く、発光
はっこう
しているときはとてもまぶしいので、直接
ちょくせつ
光が目に入らないように注意しよう。

1 フルカラーLEDテープってどんなもの?

 今回使うのはフルカラーLEDが5個つながっているテープだ。表面
ひょうめん
をよく見てみると、LEDとLEDの間に表面
ひょうめん
のような部分があって、+5V、 DO(DI)、 GNDと書いてあるのが見える。1つのLEDには5V、GND、DO(データ出力)、DI(データ入力)の端子
たんし
があり、それが数珠
じゅず
つなぎになっているんだ。このテープの状態
じょうたい
だと、5個のLEDが接続されていることになる。

フルカラーLEDテープ

2 micro:bitにつなげて光らせてみよう

 フルカラーLEDテープのケーブルを、ベーシックモジュールの端子に差し込めば接続できる。サーボモーターと同じように、コネクターの色とケーブルの色を合わせよう。

 MakeCodeでフルカラーLEDテープのプログラムをつくるためには、Neopixel(ネオピクセル)拡張機能
かくちょうきのう
が必要だ。MakeCodeのツールボックスにある「拡張機能」をクリックして表示された拡張機能から、「Neopixel」をクリックすると追加されるよ。

拡張機能から「Neopixel」拡張機能を読み込む
MakeCodeの「ツールボックス」にある「拡張機能」をクリックして、表示される「Neopixel」をクリックする
Neopixelカテゴリーのブロック
「Neopixel」カテゴリーのブロック
Neopixel(その他)カテゴリーのブロック
「Neopixel」カテゴリーの「その他」をクリックして表示されるブロック

 それでは、フルカラーLEDのプログラムをつくってテストしてみよう。見た目としては、5個のLEDが赤く点灯
てんとう
しているだけだけど、プログラムの内容は下のようになる。

フルカラーLEDを点灯させるプログラム
フルカラーLEDが赤く点灯
電源をオンにするとLEDが赤く点灯する。

3 RGBの3色を点灯させる

 5個あるLEDのうち3個だけを指定して、それぞれR(赤)G(緑)B(青)に点灯させるぞ。
 「最初だけ」ブロックは、先ほどのLEDを光らせるブロックと同じコードにする。

変数「strip」の設定をする

 「Neopixel」カテゴリーの「その他」にある「“strip“の“0”番目のLEDを“赤”色に設定する」ブロックで、何番目にあるLEDを何色に点灯させるかを設定している。ちなみに、「●番目」の値は、1ではなく0から始まるよ。端子に一番近いLEDが「0番目」だ。

LEDを点灯させるプログラム
プログラムを実行すると、指定した位のLEDが点灯

4 光るLEDを移動させる

 光るLEDが移動
いどう
していくプログラムをつくってみよう。まずは一方向だけに動かしてみた。ここでは「変数」カテゴリーで、変数「LEDNum」をつくる必要があるよ。

 「最初だけ」ブロックには「変数“LEDNum”を“0“にする」ブロックを追加している。

変数「LEDNum」を0にする

 光るLEDが移動するプログラムの部分は次のようになるよ。LEDの点灯と消灯をくり返すことで、移動しているように見せているよ。

光るLEDが移動するプログラム

5 光るLEDを往復させる

 光るLEDが移動するのを、一方向ではなく往復
おうふく
にしてみた。

 「最初だけ」ブロックは光るLEDが移動するプログラムと同じコードを組み合わせる。

変数「LEDNum」を0にするプログラム

 「ずっと」ブロックでの1つ目の

かえ
しは、「光るLEDが移動する」でつくったプログラムと同じだ。2つ目の繰り返しで、戻ってくる方を設定している。このとき変数「LEDNum」では0〜2までしか設定していない。これは、LEDの順番
じゅんばん
は0から4までなので、
もど
ってくる場合は3、2、1と指定しないといけないからだ。

LEDの点灯が往復するプログラム

 光るLEDが移動したり、往復している様子を動画で見てみよう!

6 LEDの色を自分でつくってみる

 フルカラーLEDは自由に色をつくることもできるよ。RGBは光の三原色なので、赤、緑、青のそれぞれの色の割合を指定すれば、どんな色でもつくりだすことができるんだ。

LEDの色を設定するプログラム

7 RGBの割合をボタンで指定して色をつくる

 プログラムで自由に色がつくれることはわかったけど、自分のつくりたい色じゃなかったときに、またプログラムまで戻って調整
ちょうせい
…というのは時間もかかるし、めんどうだよね。 そこで、micro:bitのボタンを使って、色の割合を変えるプログラムにしてみた。ボタンAでR(赤)、ボタンBでG(緑)、ボタンA+BでB(青)の値を増やすことができるので、すぐに色が確認できて便利だ。

LEDの色を設定するプログラムの初期ってい
micro:bitのボタンAが押されたときには赤を増やす
micro:bitのボタンBが押されたときには緑を増やす
micro:bitのボタンAとBが同時に押されたときは青を増やす
LEDを設定された色で点灯させるプログラム
エメラルドグリーンのような色をつくってみた
エメラルドグリーンのような色をつくってみたよ

 ただ、このプログラムでは
あたい

やすだけで、
らすことができない。値を増やしたり減らしたりできるプログラムは、ぜひキミにつくってみてほしい。値を表示するのもいいアイディアだね。

 今回はフルカラーLEDを自由に光らせてみたね。好きな色で光らせてみたり、光り方を変えてみると、楽しいイルミネーションができそうだ。前回つくった紙コップロボットや、他の工作と組み合わせて、動いて光る作品をつくってみてもいいね。プログラム次第
しだい
でいろいろなことができるので、ぜひキミのアイディアを形にしてみてほしいな。

(文/倉本大資 撮影/青柳敏史)

最新号好評発売中!

子供の科学 2020年 12月号

CTR IMG