2026年9月30日

000-5.コラム~Tech Spotlight~ 第5回目「アイコンブロックを使ってCS&AIのプログラムを作る」

コラム~Tech Spotlight~ではそのときどきに気になるテーマにスポットライトをあてたコラムをお届けします。
レゴ エデュケーションの「レゴ エデュケーション コンピューターサイエンス&AI(以後、CS&AI)」には対象年齢に合わせて「小学1~2年生(5+)」「小学3~6年生(8+)」「中学1~3年生(11+)」という3種類のセットがあります。
CS&AIのプログラミングは主に「コーディングキャンバス」というアプリを使います。
今回は「コーディング・キャンバス」の「アイコンブロック」について紹介したいと思います。

CS&AIの入手方法については次のページを参考にしてください。

(文/松原拓也)

◆「アイコンブロック」とは

2026年9月にCS&AIの「小学1~2年生(5+)」セットが発売されました。これに合わせて、2026年8月末に「コーディング・キャンバス」のバージョンアップが行われ、「アイコンブロック」が利用できるようになりました。「アイコンブロック」は「ワードブロック」よりも低学年向けに作られたプログラムの形式です。
Webブラウザで「コーディング・キャンバス」を動かす場合、次のURLを開きます。


メニューで「新しいプロジェクト」を選択すると、「アイコンブロック」か「ワードブロック」かを選択することできます。ここでは「アイコンブロック」を選択してみることにします。

センサーやモーターはBluetoothを使って接続します。接続するための手順は「ワードブロック」の時と同じです。
接続した直後にファームウェアのバージョンがチェックされます。もし、ファームウェアが古い場合には自動的にファームウェアの更新が始まります。 筆者の動作環境の場合、いつまで待ってもファームウェアの更新が終わらなくて、再度接続をやり直すと、実は更新が終わっていたという怪現象が起こりました。同じような状況に遭遇した場合には、5分くらい待ってみて、完了しないようならば、接続をやり直すことをおすすめします。

こちらが「アイコンブロック」で使うブロックです。ブロックの名前はヘルプの内容を引用していますが、一部独自に修正しています。
ブロックは全部で33種類あります。ブロックの機能はかなりシンプルです。変数やリスト(配列)が使えなかったり、条件分岐理ができなかったりするので、凝ったプログラムは作れません。

◆アイコンブロックの主な機能

「アイコンブロック」の主な機能を紹介します。
AI関連の機能の例です。「~ポーズが見えたとき」ブロックでカメラ映像から人物のポーズを認識することができます。対応しているポーズは4種類のみです。自分でポーズを追加することはできません。

メッセージ機能の例です。
「メッセージをおくる」ブロックと「メッセージをうけとったとき」ブロックを使ってグラフを描きます。これでサブルーチンのような処理を行うことができます。
左側のプログラムの場合、てっきり2つのループが並列的に実行されると思っていたのですが、実際にはメッセージ内のループ(赤い棒グラフ)が優先的に実行されていて、メッセージを発行した直後のループ(青い棒グラフ)は後回しに実行されます。
右側のプログラムの場合、「メッセージをうけとったとき」ブロックを2つ使っていて、2つのループを並列的に実行しています。

コントローラーの機能の例です。
この例では「左レバーが~のとき」「右レバーが~のとき」ブロックを使って、コントローラーのレバーを検出しています。レバーの位置が変化した瞬間にブロックが呼び出されます。指定できるレバーの位置は3種類だけです。

カラーセンサーの機能の例です。
この例では「色が~のとき」ブロック使って色を読み取っています。色が変化した瞬間にブロックが呼び出されます。カラーセンサーは7色+「色がない」+「すべての色」=全9種類の色を読み取ることができます。

◆モーターの制御

シングルモーターの機能の例です。
この例では「~むきへうごかす」ブロックを使ってシングルモーターを動かします。ブロックに「1」を指定すると、モーターは1回転します。「0.5」のように少数で指定することはできません。角度で指定することもできません。 「モーターのはやさを~にする」ブロックを使うとモーターの速度を指定することができます(4種類)。

ダブルモーターの機能の例、その1です。
「かたむいたとき」ブロックを使って、ダブルモーターが傾いたことを検出します。ダブルモーターの内部にはモーションセンサーが搭載されています。傾いていない状態から傾いていた状態に変化した瞬間にブロックが呼び出されます。水平状態を0度として考えると、80度を超えたあたりで反応しているように感じます。

ダブルモーターの機能の例、その2です。
ダブルモーターにタイヤを取り付けたロボットを走らせます。前後方向に走らせるには「前へうごく」「後ろへうごく」ブロックを使います。 その場せん回させるには「左に回る」「右に回る」ブロックを使います。
タイヤの直径で変化すると思いますが、移動は「1」を指定すると約20cm前進/後退しました。少数の値は使えません。 せん回は「1」を指定すると約90度せん回しました。せん回の角度はモーションセンサーで検出しているので、モーターを手で持ち上げしまうと回転が終わりません。

ダブルモーターの機能の例、その3です。
「うごくはやさを~にする」ブロックを使って、モーターの速度を指定して、ロボットを走らせます。速度を最高にすると、勢いよくロボットが走ります。


なお、レゴ エデュケーションの公式Webサイトには「小学1~2年生(5+)」セットを使った授業内容の例が公開されています。

https://education.lego.com/ja-jp/products/lego-education-computer-science-and-ai/45520/

資料はページ内の「教員向けリソース」の中から見ることができます。見るには会員登録(無料)が必要です。 この資料を見たところだと、仲間と協力して発表することに授業の主題があるように感じます。 高度なプログラムを作りたい場合には「ワードブロック」やPythonに移行した方が良いと思います。

動作中の様子

当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。