今月でレベル3の内容が終わることもあり、最後はやや難易度の高い内容となっていますが、二人は大丈夫かなと先生も少し心配なようです。
前回はライントレース機能とロボットアームを組み合わせた搬送ロボットの作成を行いましたが、今回は衝突回避機能付きの無人搬送ロボット作成となります。最初に無人搬送ロボットの活躍する場面について先生から説明がされます。自動で物を運んでくれると例えば給食を持っていく手間も省けるねと言った話をしていますが、小学校では先生方が運ぶという事を聞き、先生驚いています。その他工業的なクリーンルームで活躍することも触れています。二人とも何故???状態だった為、先生から「クリーンルームでは教材で使用しているマイコンなどを作っています。これは空気中にある目に見えないごみやほこりが原因で不良品を作ることがある為」と言う事を話すと二人とも「なるほどな~」と理解できたようです。
そうしてロボットを作成し、完成をした後いよいよプログラム作成に入ります。まずはブロックを掴む離すのプログラムです。
先生から教科書の通りにプログラムは作らないよという事を説明され、先生が作成をするように二人ともプログラム作成を進めていきます。
![]() |
パラメータを利用する関数を作成しています。これにより関数の中身を一切変更することなく、関数を使う(呼び出す)為のパラメータ(ここではサーボモーター角度)を決めればその通りに動いてくれることを解説しながら作成をしてもらっています。 |
そうして実際にブロックを掴むプログラムと置くプログラムが出来ました。
![]() |
教科書の内容を少し省略しています。一気に全部やればよいという碧依さんの意見もありましたが、パラメータ型関数に慣れて欲しいと思う先生の狙いもあったようで、今回はこの形で進めましょうと話をして納得をしてもらっています。 |
ここまでの動作に問題がないかどうかを二人に確認してもらい、問題なしを確認出来た所で次の段階へとプログラムを進めていきます。
次に行うのは荷物を掴むまでロボットカーを進める事 ここで赤外線フォトリフレクタの数値を確認してもらい、ブロックの手前で止める為の条件用数値を決めてもらいました。
そしていよいよメインのブロックを掴むまで前に進ませ、ブロックを掴んだ後に台座まで進ませ、最後に荷物を置くプログラムの作成をしてもらいます。一気に作ろうとするとうまくいかないだろうと先生は考え、以下のように作ってみてくださいとアドバイスをします。
①ロボットカーを前進させて、ブロックで止めた後にブロックを掴む
②ロボットカーを前進させて、台座で止めた後にブロックを置く
ここで泰平君が「ロボットカーを前に進むと止めるは「関数」が楽なの?」と質問をしてきました。先生はにっこりしながら「関数にすると楽ですよ」と答え、泰平君もそれならばとプログラム作成に取り掛かります。
![]() |
泰平君作成プログラム いい感じに出来たと本人は満足していましたが、これだとすぐに止まってその場でブロックを掴む動作をはじめます。案の定うまく動かないと泰平君から言われたので、ブロックの所で止めるようにしましょうと先生が助言を出しています。碧依さんも同様の所で詰まっていました。 |
二人とも行き詰った所で改めて先生から助言がされます。
「ブロックをつかむ時に、赤外線フォトリフレクタA4の値を見て動きを止めましょう」ここでようやく何が足りないのか二人とも気づいたようでプログラムの修正を行いました。
しっかりブロックの手前で止まってブロックを掴んでいます。 プログラムではtomaru前に赤外線フォトリフレクタA4が閾値より大きくなるまで待つ必要があるんだと認識をしてくれたようです。 |
ここまで出来れば後は簡単 台座に掴んだブロックをのせるプログラムも同様に作成できていました。
![]() |
もう1つ課題を進めたかったところですが、本日は時間が来たのでここでお終い。残りは次回へ持ち越しとなります。
エレパチャレンジクラブにおける生徒たちの歴史が新たな1ページ
※登場人物や教室概要についてはこちら