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が接続されていることになる。
2 micro:bitにつなげて光らせてみよう
フルカラーLEDテープのケーブルを、ベーシックモジュールの端子に差し込めば接続できる。サーボモーターと同じように、コネクターの色とケーブルの色を合わせよう。
MakeCodeでフルカラーLEDテープのプログラムをつくるためには、Neopixel(ネオピクセル)拡張機能
が必要だ。MakeCodeのツールボックスにある「拡張機能」をクリックして表示された拡張機能から、「Neopixel」をクリックすると追加されるよ。
それでは、フルカラーLEDのプログラムをつくってテストしてみよう。見た目としては、5個のLEDが赤く点灯
しているだけだけど、プログラムの内容は下のようになる。
3 RGBの3色を点灯させる
5個あるLEDのうち3個だけを指定して、それぞれR(赤)G(緑)B(青)に点灯させるぞ。
「最初だけ」ブロックは、先ほどのLEDを光らせるブロックと同じコードにする。
「Neopixel」カテゴリーの「その他」にある「“strip“の“0”番目のLEDを“赤”色に設定する」ブロックで、何番目にあるLEDを何色に点灯させるかを設定している。ちなみに、「●番目」の値は、1ではなく0から始まるよ。端子に一番近いLEDが「0番目」だ。
4 光るLEDを移動させる
光るLEDが移動
していくプログラムをつくってみよう。まずは一方向だけに動かしてみた。ここでは「変数」カテゴリーで、変数「LEDNum」をつくる必要があるよ。
「最初だけ」ブロックには「変数“LEDNum”を“0“にする」ブロックを追加している。
光るLEDが移動するプログラムの部分は次のようになるよ。LEDの点灯と消灯をくり返すことで、移動しているように見せているよ。
5 光るLEDを往復させる
光るLEDが移動するのを、一方向ではなく往復
にしてみた。
「最初だけ」ブロックは光るLEDが移動するプログラムと同じコードを組み合わせる。
「ずっと」ブロックでの1つ目の繰
り返
しは、「光るLEDが移動する」でつくったプログラムと同じだ。2つ目の繰り返しで、戻ってくる方を設定している。このとき変数「LEDNum」では0〜2までしか設定していない。これは、LEDの順番
は0から4までなので、戻
ってくる場合は3、2、1と指定しないといけないからだ。
光るLEDが移動したり、往復している様子を動画で見てみよう!
6 LEDの色を自分でつくってみる
フルカラーLEDは自由に色をつくることもできるよ。RGBは光の三原色なので、赤、緑、青のそれぞれの色の割合を指定すれば、どんな色でもつくりだすことができるんだ。
7 RGBの割合をボタンで指定して色をつくる
プログラムで自由に色がつくれることはわかったけど、自分のつくりたい色じゃなかったときに、またプログラムまで戻って調整
…というのは時間もかかるし、めんどうだよね。 そこで、micro:bitのボタンを使って、色の割合を変えるプログラムにしてみた。ボタンAでR(赤)、ボタンBでG(緑)、ボタンA+BでB(青)の値を増やすことができるので、すぐに色が確認できて便利だ。
ただ、このプログラムでは値
を増
やすだけで、減
らすことができない。値を増やしたり減らしたりできるプログラムは、ぜひキミにつくってみてほしい。値を表示するのもいいアイディアだね。
今回はフルカラーLEDを自由に光らせてみたね。好きな色で光らせてみたり、光り方を変えてみると、楽しいイルミネーションができそうだ。前回つくった紙コップロボットや、他の工作と組み合わせて、動いて光る作品をつくってみてもいいね。プログラム次第
でいろいろなことができるので、ぜひキミのアイディアを形にしてみてほしいな。
(文/倉本大資 撮影/青柳敏史)