プログラミング体験教室(2020/8/30)
MAiZM(一般社団法人みとよAI社会推進機構)が主催するプログラミング体験教室(全6回コース)のうち、第5回目の講師を担当しました。第5回目の内容は「移動型ロボットの基礎を学ぶ!」です。
MAiZMプログラミング体験教室
MAiZM(一般社団法人みとよAI社会推進機構)が主催するプログラミング体験教室(全6回コース)のうち、2020年8月30日(日)に開催された第5回目の講師を担当しました。このイベントは「いろんな教材を使って、楽しみながらプログラミングにチャレンジしよう!」をコンセプトに、初めてプログラミングに触れる子どもたちが、少しずつステップアップしながら学べる、全6回コースのプログラミング体験教室です。
micro:bitとmicro:Maqueenで移動型ロボットの基礎を学ぶ!
私が担当したのは第5回目、と言うことは、子どもたちはすでにコース4回分のプログラミング体験を終えています。これまでに体験した教材は、たこ焼きロボの愛称で親しまれているOzobot(第1回)、さまざまな方向へ移動可能な球体のsphero(第2回)、無線でつながる不思議なブロックMESH(第3回)、子どもたちに大人気のScratchとmicro:bitを組み合わせたネコリンピック(第4回)です。
- Ozobot
- sphero edu
- MESH
- Scratch + micro:bit(ネコリンピック)
子どもたちの体験時間は2時間。これまでに、Ozobotやsphero eduなどの移動型ロボットを体験しているので、もう少し踏み込んで「移動型ロボットの基礎を学ぶ!」ことを今回の目標としました。使用する教材は、micro:bit(2台)とmicro:Maqueenです。micro:Maqueenは、独立した二つの駆動輪を持つロボットカーです。「付録3-24.micro:Maqueen V4.0」で詳しく紹介しています。
1台のmicro:bitをコントローラーにして、無線通信でmicro:Maqueenを操縦するプログラムを作ります。
組み立てる
プログラミングを始める前に、micro:Maqueenを組み立てます。組み立てる工程は、独立した二つの駆動輪(別々のモーターで動くタイヤ)の存在に気づいてもらうのが狙いです。
ドライバーを使って、バッテリーボックスを取り付けます。
私の手元をカメラで撮影しながら、その映像をプロジェクターで投影して一緒に組み立てました。およそ10分で組み上がりました。
動く?動かない?
組み上がったロボットカーです。ここで、子どもたちに「スイッチを入れると動く?動かない?」と質問してみます。子どもたちからは「動く!」「動かない!」といった反応が返ります。「じゃあ、スイッチを入れてみよう」・・・しーん。
何が足りない?
動かないロボットカー、何が足りない?子どもたちに考えてもらいます。これまでに体験してきたOzobotやsphero eduにはコンピューターが入っていました。このロボットカーには、まだコンピューターがありません。micro:bitを取り付けて、ロボットカーの完成です。
動く?動かない?(再び)
再び、子どもたちに「スイッチを入れると動く?動かない?」と質問してみます。子どもたちは、先ほどより慎重になりながら「動く!」「動かない!」といった反応に分かれます。「じゃあ、スイッチを入れてみよう」・・・しーん(再び)。
「まだ、なにか足りないね。」「コンピューターを動かすために必要なものは?」「そう、プログラム!」
いよいよ、プログラミング...その前に。
プログラミングの前に、机上でロボットカーの動きを考えます。まずは、このロボットカーでできることの紹介です。前後への移動はもちろん、その場で左右へ回転したり、旋回することができます。机の上に置いたロボットカーのタイヤを指で動かして、その組み合わせで前進したり回転することを体験しました。
続けて、プログラミングに必要な3つの要素を説明します。3つの要素とは、モーターの位置(右側・左側)、モーターの回転方向(前・後ろ)、モーターの回転速度(ゆっくり~はやい)です。この3つの要素を組み合わせてプログラミングすることで、ロボットカーを思い通りに動かすことができます。
プログラミング!
micro:Maqueenの拡張機能を追加した後、まず、前進して停止する簡単なプログラムを作ります。モーターを制御するブロックと止めるブロックを説明してシンキングタイム!しばらくすると「動いた-!」の声とともにロボットカーが走り出します。
引き続き、次の課題にチャレンジです。前進→後進→右回転→停止するプログラムを作ります。動作のステップが少し増えたので、少しだけ難しくなりました。
無線通信にチャレンジ!
ここまでで、子どもたちは、プログラミングによって、ロボットカーを思い通りに動かすことができるようになりました。次は、micro:bitにあらかじめ搭載されている無線機能を使って、ロボットカーのリモコン操縦にチャレンジします。
リモコン側のmicro:bitのボタン(AとB)に、ロボットカーの動作を、自由に決めて割り当てます。ただし、AとBを一緒に押したときは、必ず停止するルールにします。
リモコンのプログラムを作ります。
ロボットカーのプログラムを作ります。
完成したら、広いスペースへ移動して、テスト走行します。自分の机との間を、何度も往復しながら、プログラミングを繰り返し、思い通りの動作に近づけていました。
全員でゲームにチャレンジ!
全員のロボットカーが完成したところで、二人一組のチームに分かれて、ゲームをしました。その名も、ロボットカーピンポン球争奪選手権!
ペンタゴン型のコート内で、5チームが同時にロボットカーを操縦して、ピンポン球を奪い合います。白いピンポン球は1点、オレンジ色のピンポン球は3点、自分の手元へ運べば得点となります。制限時間は一人2分間です。
開始とともに、白熱したバトル!激しくぶつかり合いながら、ピンポン球を奪い合います。思わず大量得点したときには歓喜も!優勝は、30点越えの大量ゲットでした。
最後の自由時間
ゲームが終わった後は、15分ほどの自由時間です。すると、教室の隅から「よっしゃー!」という大きな声が。近づいてみると、四つ巴のロボットカー相撲が開催されていました。ぶつかり合って、ひっくり返ると負けのようです。途中「ちょっとプログラム変更してくるわ」と自席へ戻る子ども。どうやら、プログラミングの醍醐味に気づいたようです。それにしても、どこ変更したん。めっちゃ、気になるわー!