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

イチから作る段ボールロボ「embot」は程よい値段とメカ感が魅力 ~アプリも直感的でGood

 子どもがプログラミングをやるときは、リアルに触れるものが動いたり光ったりすると楽しさや実感が倍増します。基板1枚のマイクロコンピューターだとちょっと材料っぽすぎるけれど、ロボット系の教材となると今度はちょっと高機能&多機能すぎてしかも値段が高い!

 ……ちょうどその間くらいのほど良いところにおさまってくれるのが今回紹介する「embot」(エムボット)。サーボやライト、ブザーなどは材料っぽささあふれ、程よく仕組みを理解しながら段ボールでロボットを組み立てて作り上げるロボットで、専用アプリでプログラムして動かします。スターターキットの定価は6,600円ですが、Amazonではちょうどセール中で4,499円で購入できます。

段ボールとを組み立てて自分で作るロボット

 組み立て説明書通りに段ボールで体の各パーツを組み立て、embotコアと呼ばれるコンピューター部分に、腕を動かすサーボモーター2個とブザー(スピーカー)1個、LEDライト2個をつないで体の中に収めます。段ボールですから、気軽に別の形にしようかな、とか色を塗ったり飾り付けたりしようかな、という気楽な気持ちになれるのがいいところ。

組み立てた「embot」
中はこんな感じ

 段ボールの体からはずして中身だけ別のことに使おうと思えば、サーボ、音、LEDがあるのでけっこういろいろなプログラミング工作ができちゃいそうです。

フローチャート型とブロック接続型の直感的なプログラミングアプリ

 プログラミングは無料の専用アプリから。Windows版のほか、iPadOS/iOS版Android版があります。このアプリが独特のプログラミング手法で、とても直感的。プログラムブロックを縦に直線的につないでいく手法は一般的ですが、最初にプログラムの大きい構造をフローチャートのようにして作るという二段構え。

 例えば、ある動きを5回繰り返すというプログラムは、こうなります。

フローチャートでプログラムの大きな流れを作っているところ。丸いアイコンブロックをドラッグして並べ、矢印でつなぐ。[function]はプログラムのまとまりで、開くと詳しいプログラムを作れる。[for]は繰り返しで、回数を指定する
フローチャートで使った[function]の中のプログラムを作っているところ。サーボの角度を指定して、両手を上に向けてから、下ろして真横に広げる動きのプログラム

 フローチャート画面でプログラムを実行するボタンを押すと、Bluetooth接続で「embot」が実際に動き出します。ペアリングはアプリ内で簡単にできます。

手を上から横に動かす動きを5回繰り返すプログラムを実行。アプリ内にシミュレーターがあり、本体がそばになくてもプログラムを試せる
本体を動作させているところ。旗を持たせるだけで、ちょっと雰囲気が出る

 動画で見るとこんな感じです。動きも、見た目もちょっとのどかな感じがして、ほっとします。

段ボールロボ「embot」が一所懸命に旗を振るようにプログラミング - 窓の杜

レベルごとに使えるブロックが増える

 アプリでプログラムを作るときにはレベルを選べて、記事で紹介した画面はレベル2。レベル1ではフローチャートを使わずに、[function]の中のプログラムのようにブロックをつなぐだけでプログラムを作ります。レベル2からフローチャートを使い、さらにレベルが上がると使えるブロックの種類も増えます。変数や演算を使ったり、タブレットの傾きや時刻などの情報をプログラムで使うこともできます。

レベル4の画面で少し複雑なプログラムを作ったところ。[if]や[while]などもある

 このフローチャート方式は、自然とプログラムの大きな流れを考えるようになるし、とっても直感的。ブロック型だけでプログラムを作るよりも、すっと入っていけるお子さんが多そうです。フローチャート型とブロック型の合わせ技的なプログラミング手法は、「embot」ならではで、ブロックが大きくて小さなお子さんでも操作しやすいのがうれしいポイント。

 段ボールのボディを外して自由にプログラミング工作する材料にしても楽しいし、ロボットとは別のものを作れる段ボールセットなどもオプションで販売されています。手作り感あふれるロボット工作の第一歩として楽しく取り組めそうです。

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