クムクムの胸の部分にあるRGB-LEDは、赤(Red)、緑(Green)、青(Blue)の3色の光を組み合わせることで、様々な色を表現できます。

クムクムロボットに使用されているRGB-LEDは5mmの砲弾型の樹脂の中に赤・緑・青に光る素子が入っていて、その素子にはプラスとマイナスがあり、そこに電流を流すことで光ることができます。
このLEDの仕組みは、プラス側を赤・緑・青を個別にしに、マイナス側をすべて共通にした「コモンカソード型」と呼ばれるタイプです。これは、3つのLEDが共通のカソード(負の端子)を持ち、個々のアノード(正の端子)をそれぞれの色ごとに制御する構造をしています。

逆のパターンとして、プラスを共通にしてマイナスを個別に制御する「コモンアノード型」と呼ばれるLEDもあります。

いずれにしても、このLEDはクムクムのメインボードにあるCPUからの命令によって、各色のLEDに電流を流すかどうかを制御します。そしてこのCPUに指令を与えるがスクラッチです。
スクラッチはBluetoothを経由しメインCPUに対して、赤のLEDを点灯させたい場合、赤ONのコマンドを発行することで赤のアノードに対して電流を流します。同様に、緑や青のLEDも同じような動きになります。

このように、赤・緑・青は個別の素子になっていて、それぞれの点灯を制御できるため、単色のみならず、複数の色を混ぜ合わせて異なる色を作り出すことが可能です。

スクラッチでのRGB-LEDコマンド操作

スクラッチでは、RGB-LEDをコントロールするためのいくつかのコマンドが用意されています。

たとえば、[LED(赤▼)色を(ON▼)する]というコマンドを使うと、ロボットのLEDを赤色に点灯させることができます。同様に、他の色やオフにする操作も可能です。これらのコマンドを使いこなすことで、ロボットにさまざまな表情を与えることができます。

簡単な点滅プログラムを作ろう

では、実際に簡単な点滅プログラムを作ってみましょう。このプログラムでは、RGB-LEDを一定間隔で点灯させたり消灯します。

点滅プログラムの仕組みを理解する

このプログラムでは、「繰り返し」ブロックを使用して一連のアクションを定期的に繰り返すこともできます。

LEDを点灯させるコマンドと消灯させるコマンドの間にある「待つ」コマンドが、LEDの点滅間隔を制御しています。こうすることで、一定のリズムでLEDが点滅する効果を作り出すことができます。

緑と青のLED点滅プログラム

赤色のLED点滅に続き、緑と青のLEDについても同様のプログラムを作成しましょう。

緑のLED点滅プログラム

青のLED点滅プログラム

1秒待つ部分を変えると点滅の間隔が変わるので実験をしてみましょう。

3色のLEDを順番に点滅させるプログラム

赤、緑、青のLEDを順番に点滅させるプログラムを作成して、カラフルな点滅効果を楽しみましょう。

プログラムの解説

このプログラムでは、赤、緑、青の各LEDを順番に点灯させることで、動的な視覚効果を生み出します。各色が独立して制御されるため、プログラムによって様々な色の組み合わせや点滅パターンを作成することが可能です。

色を混ぜてみる

では実際に色を混ぜるプログラムを作ってみます。
クムクムの場合ひとつ気ををつけなくてはいけないのが、コマンドを送り出すためにBluetoothの通信時間がかかることです。
例えば赤をONにしてそのあと緑をONにする命令を連続で送っても、赤ONのあとの青ONまでの間に少し時間がかかるため、赤が光ってから緑が光るという動きが目に見えてしまします。
本来のCPUの処理速度であればこの速度はほんの一瞬のためほとんど赤も緑も同時に光るのですが、スクラッチとクムクムはBluetoothで通信が行われているため仕方がないs状態になっています。
そのため、2つの色もしくは3つの色が混ざってから少しの時間光ったままにする時間を作って、色が混ざっている状態をしっかり確認できるようにします。
サンプルプログラムでは、色をONにした後3秒間光続けるようにしています。

クムクムとスクラッチで学ぶプログラミングの楽しさ

クムクムロボットとスクラッチを用いたこのようなプログラミング活動は、子供たちにとって非常に魅力的な学習経験となります。特に、カラフルなLEDの点滅は、視覚的にも楽しいですし、プログラミングの基本的な概念を理解するのに役立ちます。クリエイティブな思考と技術的なスキルの両方を育むこの活動を通じて、プログラミングの世界をさらに探求してみましょう!