プログラミング教室「プロラボ唐津」では、ロボットを使ったプログラミング教育を行っています。
使用しているプログラミングロボットは、「クムクム」です。
今回は、こちらのロボットを使ったプログラミングの例を紹介します。
今日はお正月2姫なので、超音波距離センサーの反応プログラミングに挑戦してみた…Arduinoでもだいぶんうまく動き出した!#ロボット #robot #programinng #Arduino #C言語 #プログラミング初心者#エンジニアと繋がりたい#駆け出しエンジニアと繋がりたい #プログラミング初心者と繋がりたい pic.twitter.com/LpRGqL3isU
— 電子工作とものづくりとプログラミングが大好きdr.yossy (@yossynaotan) January 2, 2021
こちらの動画を見ると、「クムクムロボットの前になにかを置くとヤダヤダヤダ!ウソウソウソ!とツンデレな態度をとる」プログラムのようですね。
前に何かを置くと反応しているのは、クムクムロボットに搭載されている超音波距離センサを利用しているからです。
「ツンデレロボット」のプログラムを考える
まず、今回のプログラムは、ArduinoIDEを使って、C言語でプログラミングされています。
C言語で説明すると難しいので、あえてScratchでやった場合、どのようにプログラミングされているかを説明していきます。
こちらのプログラムの処理の流れをまとめると、以下の通りです。
- 目の前に何かきたらツンデレになる
たったの1項目、、、
見た目だけで判断すれば、たったの1項目ですが、プログラミング的には、条件分岐のif文と繰り返し文を使っています。
ifは、英語で「もし~ならば」という意味で、Scratchでは、「もし~なら●」というブロックがあります。
「もしも目の前に何かきたら」というのは、まさに「もし~なら●」ブロックと同じですよね。
もう一つ重要なのが繰り返し文です。
プログラムは、基本、上から下へ順序よく処理していきます。
そして、一番下まで処理したらプログラムが終了します。
このプログラムは、常に目の前に何かが来るのを待っている状態です。
つまり、常にプログラムが動いている状態にしなければいけません。
そのために繰り返し文を使うのです。
厳密にいえば、ずっと繰り返すループ処理になりますが、Scratchでは、「●回繰り返す」「ずっと」の2つのブロックがあります。
1000000回繰り返すとか設定すれば、長い時間処理を止めずに行うこともできますが、常に処理させておきたい場合は、「ずっと」ブロックを使います。
次に、「目の前に何かきたら」を判断する材料ですが、これは冒頭でもお伝えした「超音波距離センサ」を利用しています。
超音波距離センサとは、超音波の反射時間を利用して対象物までの測距を測ることができる電子部品です。
クムクムロボットの目になっている部分が、超音波距離センサですね。
超音波距離センサーの仕組みを知ることで、「音の速さ」「周波数」「温度との関係」など理科の知識も身に付けることができます。
音の速さは、気温で変わることを学校の授業で習いませんでしたか?
プログラミング教室「プロラボ唐津」では、プログラミングだけなく、色々な分野の知識も教えながら、子供たちが興味を持つ分野を最大限に伸ばしていこうと考えています。
プログラミングロボット「クムクム」は、まさに色々な分野の集合体です。
少し話がそれましたが、この超音波距離センサを使って、常に目の前の距離を測り、距離が短くなれば、ツンデレ処理をするというわけです。
Scratchでプログラミングするなら、こんな感じです。
思ってたより、短いプログラムだと感じましたか?
見た目だけで判断すると難しいと感じるかもしれませんが、一つ一つ分解していくと大したことがないことに気づきます。
シンプルに短く、分かるところから考えていくと、問題解決の糸口が見つかるのです。
これが、論理的に考えるということです。
プログラミング教室「プロラボ唐津」では、子供たちが悩んだ時には、論理的な物事の考え方を教育していきます。