【microbit】LEDディスプレイの使い方②~LEDブロック編~【Lチカ】

【microbit】LEDディスプレイの使い方②~LEDブロック編~【Lチカ】

※当サイトには広告が掲載されています。ご了承くださいm(_ _)m

本記事では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を点滅させることをLチカ(LEDをチカチカ光らせるの意味)と言ったりします。

LEDディスプレイを使ってできること

LEDを1つ1つ制御できると下記のようなことができます。

  • 特定のLEDだけ点滅させられる
  • 色々な値の棒グラフを作れる
  • LEDの明るさを変えられる

上記のとおりです。ぜひ、使い方をマスターしましょう!

基本的なプログラミング方法

以降に紹介するLEDを点灯させる命令ブロックは「開始命令」の間に入れるだけでLEDを点灯させることができます。

使用する「開始命令」は作りたいプログラムによって変えてください。

「点灯(x,y)」ブロック

この命令は25個あるLEDのうち点灯させたい箇所を座標で指定できる命令です。

LEDの座標は次のとおりです。

1からではなく、0から始まるのがポイントです。プログラミングをしていると0から始まることがほとんどです。

例えば、(x=2、y=3)のように指定すると次のように点灯します。

「消灯(x,y)」ブロック

この命令は25個あるLEDのうち消灯させたい箇所を座標で指定できる命令です。

例えば、LEDを点灯させたあとに(x=2、y=3)のように指定すると次のように消灯します。

「反転(x,y)」ブロック

この命令は現在のLEDの状態を反転させる命令です。

具体的には下記のとおりです。

  • 現在の状態:消灯 → 点灯に変更
  • 現在の状態:点灯 → 消灯に変更

例えば、(x=2、y=3)のように指定すると次のように動きます。

解説すると、最初はLEDが消灯しているので点灯に変わります(反転します)。2回目は点灯しているので消灯に変わります(反転します)。これを「ずっと」繰り返すので、点滅しているように見えます。

「plot bar graph」ブロック

この命令は入力した値が最大値に対してどのくらいの割合なのかを縦方向の棒グラフで表示してくれる命令です。

まず、このブロックに入力する値は2つあります。

  • 値(Value)
  • 最大値(High)

この最大値に対して値がどのくらいの割合なのかを棒グラフで表示してくれます。

例えば、最大値が255のとき、それぞれの値ではこんな感じです。

使い方としては、「読み取ったセンサーの値をグラフにしてわかりやすくする」とかですかね~。

「点灯(x,y) 明るさ」ブロック

この命令はLEDの明るさを256段階で調整できる命令です。

点灯(x,y)命令はLEDを点灯させるか消灯させるかの2値でしたが、この命令は次のように256段階で調整できます。

0(消灯) ~ 255(点灯:明るさ最大)

「なんで、最大が255なの?100の方がキリ良くない?」と思われるかもですが、コンピューターはデータを2進法で表現しているので、実はキリが良いんです。

コンピューターのデータの扱い方は「【初心者向け】パソコンのビットとバイトをエンジニアが丁寧に解説」の記事をご覧ください。

例えば、明るさを3パターン実行した結果は次のとおりです。

「LED画面の明るさを設定する」ブロック

この命令は全てのLEDの明るさを一括で設定する命令です。

「点灯(x,y) 明るさ」命令はLED1つ1つを設定する命令でしたが、この命令を1回実行すると全LEDに反映されます。

一括で設定したい場合に利用しましよう!

「LED表示を有効にする」ブロック

この命令はLED表示を有効にするかしないか選択する命令です。

つまり、次のとおりです。

  • 真・・・LED表示命令を実行するとLEDが点灯する
  • 偽・・・LED表示命令を実行してもLEDが点灯しない
ちなみに、この命令を使わないときは「真」として動作します。

LED表示を「偽」に設定すると、「真」に設定し直さない限りLED表示はされなくなります。

プログラムを解説すると次のとおりです。

何らかの理由でLED表示を停止したいときに「LED表示を有効にする<偽>」にします。

「アニメーションを停止する」ブロック

この命令はアニメーションを停止する命令です。

例えば、Hello!と表示しているときに「ボタンAが押されたらアニメーションを停止する」とすると表示が消えます。

※実行結果は▶ボタンを押してから確認してみてください。

「表示モードを設定する」ブロック

この命令は今のところ使い方がわかりませんm(_ _)m 使い方が分かり次第更新します。

白黒に設定してもグレースケールになってしまいました。。。

Lチカ(LEDをチカチカ点滅)

以上の内容を駆使してLチカ(LEDをチカチカ点滅)させるプログラムを作ると次のとおりです。

点滅速度はちょっと違いますが、「反転(x,y)」を使う方が簡単に作れますね。
※実行結果は▶ボタンを押してから確認してみてください。

左のプログラムは点灯と消灯を0.5秒毎に切り替えて点滅を実現しています。右のプログラムは反転を利用して点滅を実現しています。

まとめ

本記事のおさらいです。

  • 点灯/消灯/反転させたいLEDは座標で指定する
  • 「plot bar graph」を使うと簡単に棒グラフを作れる
  • LEDの明るさを指定できる(座標、全体)
  • LEDの表示を無効にできる
  • Lチカするには「反転」命令が便利
  • プログラムの動作確認をしたいときはLEDディスプレイに表示すると便利

上記のとおりです。

micro:bit講座一覧へ戻る

タイトルとURLをコピーしました