どれ使う?プログラミング教育ツール

子供向けプログラミングアプリ「mBlock」で組み立てロボット教材mBotをプログラムしよう【後編】

 2020年度からついに小学校でプログラミング教育が実施されます。これに伴い家庭でも手軽にプログラミングを学習できるツールが多数登場していますが、どんなツールを使えばいいのか迷ってしまう方も多いのではないでしょうか? そこで本連載では家庭でのプログラミング教育にピッタリなお勧めツールを紹介していきたいと思います。

 子ども向けプログラミング教材には、実際に動くロボット作り、そのロボットの機能をプログラミングするタイプのものがあります。Makeblock社“mBot”というロボット教材は、キットの通りにロボットを組み立て、専用アプリでプログラムを組んで使います。前回の記事では、同社の「mBlock」という無料のプログラミングアプリの使い方と「mBlock」でmBotを接続する準備までを解説しました。今回は、実際にmBotを接続し、プログラムを作成して動かしてみましょう。

ロボット教材mBotにプログラミングする~プログラミング編

 ここからは、mBotをUSBで接続した状態でプログラムを作成して動かしてみます。

mBotをUSB接続してプログラムを作成している状態

 前回記事で解説した通り、mBotを「mBlock」からコントロールする場合は、パソコンにドライバーをインストールする必要がありました。ドライバーが必要なハード機器をつなぐ場合は特に、プログラムを一気にたくさん書かずに最低限の内容で動作を確認することをおすすめします。トラブルがあった場合に、USBの接続の問題か、機器側のハードの問題か、プログラムの作り方の問題か、等のありうる原因をひとつずつ切り分けて検討しなければならないからです。

 ここでは少しプログラムのハードルを上げて、“ボタンを押したら前進し、手をかざすとストップする”というプログラムを作成してみます。まず、下の図では、大きな流れだけを作って、ステップごとにLEDの色を変え、プログラムが動作しているかどうかを確認しています。このプログラムでは、前進もストップもしません。

(1)スペースキーを押すとプログラムが実行される。確認のためLEDをブルーに。(2)ハード側のボタンを押すとプログラムが次に進む。確認のためLEDを紫に。(3)超音波センサーの値を確認しつづけて5cm未満に物を検知したらLEDを赤にする。(4)5cm未満に何もなければLEDをグリーンにする

 上記のプログラムがうまく動いている場合、キーボードのスペースキーを押すと本体のLEDが1秒ブルーになり、本体のボタンを押すとLEDが1秒紫になって、すぐグリーンになり、手を近づけて5cm未満になったところで赤になります。手をどかせばまたグリーンになります。

 このプログラムが動いたら、さらに、前進と動きを止めるプログラムを追加しましょう。

(1)に前進するプログラム、(2)に動きを止めるプログラムを追加したこれで、スペースキーを押してプログラムを実行後、本体のボタンを押したら前進し、手をかざすと止まるプログラムが出来上がりました。USBをつないだまま実際に動かしてみることができます。
USBでつないだまま動作テストをしているところ

 これでうまく動いたら、プログラムを本体に転送します。こんなロボットがUSBでパソコンにつながったまま動作するのでは面白くありません。mBlockの設定をアップロードモードに変え、プログラムを改編し、mBot本体にプログラムをアップロードします。下の図を参考にしてください。

(1)トグルボタンでアップロードモードを[オン]に設定。(2)一部のイベントブロックが使えなくなるので、アップロードしても動くブロックに差し替える。(3)[アップロード]ボタンでプログラムを本体に転送
データの転送中

 データの転送が完了したら、USBケーブルから外し、単体で動かしてみましょう。電源を入れ直すとプログラムがスタートし、本体のボタンを押すとロボットが前進を始めます。手をかざすと魔法をかけたようにロボットがストップします。

単体で動かすと楽しさがアップする

 今回のように機器を接続する場合、トラブルもつきものです。今回筆者が試した際は、プログラムが間違っている、本体の電池切れなど単純な理由で動かないこともあれば、転送がうまくいかず本体を再起動(電源の入れ直し)するとうまくいくというケースも多々ありました。うまくいかないときは、問題を細かく切り分けて原因を探ってみてください。こうした機器のプログラミングはちょっと手間がかかりますが、動かす面白さも大きいので、ぜひチャレンジしてみてください。

 なお、この記事では「mBlock」を中心に紹介しましたが、mBotには、モバイル用のプログラミングアプリもあり、mBotを使いながら簡単なプログラムを学べるコンテンツも収録されています。目的やシーンに応じて使い分けてみてください。