TRSプログラミング(14)

タミヤロボットスクール ロボットプログラミング第14回

今回は「距離センサー」の取り付けとその実験です。

 

いよいよみんなのカムロボくんも、

僕のカムロボと同じ仕様になってきました。

 

それに伴って、

自由自在な動き…もできるようになっていくと思います。

 

とはいえ、まだまだプログラミングコードへの理解が浅いので、悪戦苦闘な状況ではあります。

 

だからこそ、

動いた時の感動は、かなり大きいようです。


距離センサーをつけた後、

課題に取り組んでいる最中です。

 

最初の課題は、

「距離センサーに手を近づけたら、カムロボが手をあげる」

という課題です。

 

いきなりレベルハイです(笑)

 

でもこの文章を「プログラミング的思考に落とし込む」

というのが一つのこのクラスの狙いなので、

今回はだいぶ時間を使って子ども達に考えてもらいました。

 

 


プログラミング的思考とは、

何をどの順番でしていくのか

どのような数値を使うのか

どのような記号を使うのか

どのような関数(プログラムコード)にするのか

を体系立てて考える思考のことです。

 

上記の「距離センサーに手を近づけたら、カムロボが手を上げる」という文章をどのように表すといいかを考えるのです。

 

決して、簡単なことではありませんが、

これまで学んできたことを利用すれば、

決して無理なことではありません。

でも、難しいです(笑)

僕も何度もエラーを出しました(笑)

 


考え方としては、

①「距離センサーを起動させ、距離センサーの数値を変数にする」

②「もし、距離センサーの数値がある数値より大きくなれば(実際の手からの距離が短くなれば)、手をあげる」

③「もし、距離センサーの数値がある数値より小さくなれば(実際の手からの距離が遠くなれば)、手を下げる」

④「ちょっと時間をおいて」

⑤「最初に戻る」

という考えをします。

①は初めてなので、子ども達にはコードをそのまま伝えました。

②と③は、IFと腕を動かすPWMを使うので、ここを考えてもらいました。

④もこれまで何度も出てきているWAITなので、ここも考えてもらいました。

⑤も何度も出てきていますが、まだテキスト的に習っていないのでコードを教えました。

 

そして結果はどうだったかといえば…

全滅です(涙)

 

まぁそうですよね〜と思います。

でも、子ども達にとって「自分でプログラミングを考える」経験は

おそらくこれが初めてに近いです。

これまでは、そこにあるものを写すことがほとんどでしたが、

それだと思考する部分が少ないので限界があります。

 

しかし、自分で考えるとなると、

無限の広がりが生まれてくると思います。

正直、プログラミング的思考をする経験がまだまだ少ない分、

かなり脳みそがクラッシュしそうになっていましたが、

どのようにモノを考えて、カタチにしていくのかは

プログラミングに限らず、すべてのことに対応できますから、

これはこれで必要な時間だったと思います。

 

もちろん最後はちゃんと「ちゃんと起動する一例」のプログラムコードは伝えました。

でもあくまでも一例に過ぎず、

これから子ども達自身が、

きっと自分で考えられるようになると期待しています(笑)

 

何度もトライして、

何度もエラーして…

 

エラーすることを怖がる子ども達が多いので、

「わかんな〜い」という言葉で

自分を諦めてしまうこともありますが、

モノゴトを考えて、カタチにするというのは、

その「わかんな〜い」からがスタートだと思います。

 

これはどうだろう?

できない!

じゃぁこれはどうだろう?

できない!

ならこれは?

おっ、いい感じ!

そしたらこれは?

できた〜!

 

何度もトライして、

何度も研究して、考えて、やってみて、

何度もエラーして、

何度も研究して、考えて、やってみて…

 

エラーすることを怖がらない、

むしろそれが当然のプロセスなんだってことをね

こうした学習を通じて知ってほしいなと思います。

 

次回は、ちょっとスケジュール通りにはいきませんが、

この続きから始めます。

まぁ…授業一回分飛ばしても、

その価値はあるかなと思っています。