本記事ではmicro:bitのLEDディスプレイを使いこなせるようになることを目指して解説します。
前回は基本ブロックを使ってLEDディスプレイを点灯させるプログラムを作りましたが、今回はもっと細かく制御できる方法を解説します。
- 【microbit】LEDディスプレイの使い方②~LEDブロック編~【Lチカ】
実際のプログラム例と実行結果を示しながら解説します。
【microbit】LEDディスプレイの使い方②~LEDブロック編~【Lチカ】
micro:bitには5×5のLEDディスプレイがあります。
今回は25個あるLEDの1つ1つを制御(点灯、点滅、消灯)する方法を紹介します。
ちなみに、言葉の定義としては次のとおりです。
- 点灯:LEDが継続して点いている状態
- 点滅:LEDが点いたり消えたりを繰り返す状態
- 消灯:LEDが消えている状態
LEDディスプレイを使ってできること
LEDを1つ1つ制御できると下記のようなことができます。
- 特定のLEDだけ点滅させられる
- 色々な値の棒グラフを作れる
- LEDの明るさを変えられる
上記のとおりです。ぜひ、使い方をマスターしましょう!
基本的なプログラミング方法
以降に紹介するLEDを点灯させる命令ブロックは「開始命令」の間に入れるだけでLEDを点灯させることができます。
「点灯(x,y)」ブロック
この命令は25個あるLEDのうち点灯させたい箇所を座標で指定できる命令です。
LEDの座標は次のとおりです。
例えば、(x=2、y=3)のように指定すると次のように点灯します。
「消灯(x,y)」ブロック
この命令は25個あるLEDのうち消灯させたい箇所を座標で指定できる命令です。
例えば、LEDを点灯させたあとに(x=2、y=3)のように指定すると次のように消灯します。
「反転(x,y)」ブロック
この命令は現在のLEDの状態を反転させる命令です。
具体的には下記のとおりです。
- 現在の状態:消灯 → 点灯に変更
- 現在の状態:点灯 → 消灯に変更
例えば、(x=2、y=3)のように指定すると次のように動きます。
「plot bar graph」ブロック
この命令は入力した値が最大値に対してどのくらいの割合なのかを縦方向の棒グラフで表示してくれる命令です。
まず、このブロックに入力する値は2つあります。
- 値(Value)
- 最大値(High)
例えば、最大値が255のとき、それぞれの値ではこんな感じです。
「点灯(x,y) 明るさ」ブロック
この命令はLEDの明るさを256段階で調整できる命令です。
点灯(x,y)命令はLEDを点灯させるか消灯させるかの2値でしたが、この命令は次のように256段階で調整できます。
「なんで、最大が255なの?100の方がキリ良くない?」と思われるかもですが、コンピューターはデータを2進法で表現しているので、実はキリが良いんです。
例えば、明るさを3パターン実行した結果は次のとおりです。
「LED画面の明るさを設定する」ブロック
この命令は全てのLEDの明るさを一括で設定する命令です。
「点灯(x,y) 明るさ」命令はLED1つ1つを設定する命令でしたが、この命令を1回実行すると全LEDに反映されます。
「LED表示を有効にする」ブロック
この命令はLED表示を有効にするかしないか選択する命令です。
つまり、次のとおりです。
- 真・・・LED表示命令を実行するとLEDが点灯する
- 偽・・・LED表示命令を実行してもLEDが点灯しない
LED表示を「偽」に設定すると、「真」に設定し直さない限りLED表示はされなくなります。
プログラムを解説すると次のとおりです。
「アニメーションを停止する」ブロック
この命令はアニメーションを停止する命令です。
例えば、Hello!と表示しているときに「ボタンAが押されたらアニメーションを停止する」とすると表示が消えます。
※実行結果は▶ボタンを押してから確認してみてください。
「表示モードを設定する」ブロック
この命令は今のところ使い方がわかりませんm(_ _)m 使い方が分かり次第更新します。
白黒に設定してもグレースケールになってしまいました。。。
Lチカ(LEDをチカチカ点滅)
以上の内容を駆使してLチカ(LEDをチカチカ点滅)させるプログラムを作ると次のとおりです。
点滅速度はちょっと違いますが、「反転(x,y)」を使う方が簡単に作れますね。
※実行結果は▶ボタンを押してから確認してみてください。
まとめ
本記事のおさらいです。
- 点灯/消灯/反転させたいLEDは座標で指定する
- 「plot bar graph」を使うと簡単に棒グラフを作れる
- LEDの明るさを指定できる(座標、全体)
- LEDの表示を無効にできる
- Lチカするには「反転」命令が便利
- プログラムの動作確認をしたいときはLEDディスプレイに表示すると便利
上記のとおりです。