今回は、mBot2プログラミングシリーズ(mBlock編)の第10回です。
mBot2に搭載されているCyberPiのLEDを制御する方法を紹介します。
LEDの点灯・消灯、色の変更に関するプログラムを作成していきます。
この記事で分かること
- CyberPiのLEDについて
- LEDに関するブロックとその使い方
- LED制御のプログラミング方法
CyberPiとLED
CyberPiは、mBot2に搭載された多機能モジュールで、ディスプレイ、センサー、マイク、スピーカーなどが一体となっています。
これにより、音の再生や制御、ディスプレイ表示、センサー入力の処理など、さまざまな機能を実現することができます。
LEDはCyberPiの手前に5つ並んでいて、それぞれを個別に制御することができます。

mBlockで扱える『LED』に関するブロックは『LED』パレットに入っており、内容は大きく次の4つに分類できます。
- アニメーションを表示する
- 個別に色を制御する
- LED点灯の調整をする
それぞれ解説していきます。
mBlockとは?『スクラッチ(Scratch)』との違い
mBlockは、小学校や学習塾で取り入れられている『スクラッチ(Scratch)』をベースとしたビジュアルプログラミングツールです。
スクラッチの基本的な操作感を引き継ぎながら、ロボットやハードウェアの制御に特化しているため、mBlockを使えば、プログラミング初心者でも簡単にロボットプログラミングを始めることができます。
アニメーションを表示する
mBlockで使用するブロック

指定したLEDアニメーションを表示するブロックです。
[虹▼]をクリックすると、以下の選択が可能です。

LEDアニメーションの動作
LEDアニメーションを一通り動かしてみました。

個別に色を制御する
mBlockで使用するブロック

5つのLEDの色を設定するブロックです。
任意のLEDの場所をクリックして、色を設定します。


指定した位置のLEDの色を設定するブロックです。
[全て▼]をクリックすると、LEDの位置を選択できます。
左側から1,2…の順で並んでいます。


色の部分をクリックすると、次の画面で色の設定ができます。

- 色:LEDの色の種類を決めます
- 鮮やかさ:色の鮮やかさを調整します
- 0%:白色(色味がなくなる)
- 100%:鮮やかな色
- 明るさ:LEDの明るさを調整します
- 0%:消灯状態(光らない)
- 100%:最も明るい


点灯する色をRGB(赤・緑・青)値で設定するブロックです。
[全て▼]をクリックすると、LEDの位置を選択できます。
(全て/1/2/3/4/5)
RGBは光の三原色で、赤(Red)、緑(Green)、青(Blue)の3つの値を組み合わせて色を作ります。
各値は0から255の範囲で指定します。

白色点灯・消灯の簡単なプログラム
白色に点灯させたい場合は、次のように『鮮やかさ』をゼロに設定します。

RGBで設定する場合は、全てを255に設定します。

点灯ブロックを使って消灯させたい場合は、『明るさ』をゼロに設定します。

RGBで設定する場合は、全てを0に設定します。


LED点灯の調整をする
mBlockで使用するブロック

LEDの色を左から右に指定した位置数だけ移動させるブロックです。
設定範囲:-4~4
例えば、指定位置数を「1」として実行した場合、実行前と実行後の並びは次のようになります。





LEDの明るさに関するブロックです。
明るさの設定や変更(増減)、明るさを参照する際に使用します。
- 明るさの設定範囲は、0~100%
- 明るさ変更(増減)の範囲は、-100~100%
- 負の値は明るさの減少、正の値は明るさの増加を意味する

指定されたLEDを消灯するブロックです。

例題:LEDをランダムに光らせる
- 例題
- 解答例
『一定周期ごとに、5つのLEDをそれぞれランダムな色に点灯させる』プログラムを作ってみましょう。

RGB指定で色を設定するブロックを使用します。
それぞれの要素に、0~255の乱数を設定することで、5つのLEDがそれぞれ異なる色を発します。
まとめ
今回は、CyberPiを使ってLEDを制御する方法を紹介しました。
CyberPiのLEDを活用することで、初心者でも簡単にmBot2の視覚的な表現力を高めることができます。
ぜひ、今回のプログラムを参考にして、自分だけのオリジナルプログラムに挑戦してみてください。
次回は、CyberPiのディスプレイ制御について解説します。
mBlockを使ったmBot2のプログラミング方法を丁寧に解説していておススメです。
CyberPi単体でもプログラミング教育に非常に役立ちます!
