見出し画像

ロボットプログラミングってなに?③

もうすぐクリスマスですね!
今年も年の瀬です。吐く息は白く、寒さが厳しくなってきました。
その分、バラードやクリスマスソングが心を温めてくれます。

街を彩るイルミネーションも、温かな光を照らしてくれています。
今回はイルミネーションの仕組みを通して、プログラミングの基礎をお話していこうと思います。

イルミネーションというと、夜に輝く綺麗なもの、というイメージだと思いますが、昼に見るとどうでしょうか?
昼は太陽が出ていて周りが明るいため、夜みたいにきれいに見えません。
そのため、ほとんどのイルミネーションは消灯しています。

つまり、毎日暗くなったら点灯して、明るくなったら消灯しているわけですが、これが手作業だと大変ですし、忘れてしまうこともあるでしょう。
そこで、自動で点灯と消灯を行うプログラムが必要になってきます。

イルミネーションのプログラムは、プログラミングの基本的な処理を学ぶのに最適です。それは「順次処理」「条件分岐」「繰り返し」の3つです。

学校の時間割を例にこれらの基本処理を説明します。

順次処理(じゅんじしょり)
これは、時間割に沿って授業が進むようなものです。例えば、1時間目に数学、2時間目に英語、というように、一つの授業が終わると次の授業が始まります。プログラミングでは、コードが書かれた順番に従って一つずつタスクを実行することを指します。

分岐処理(ぶんきしょり)
これは、特定の条件によって授業の内容が変わることに似ています。たとえば、雨が降っている日は体育の授業が体育館で行われる、といった具合です。プログラミングでは、「もし〜なら、〜する」という条件に基づいて異なるアクションを取る処理を指します。

反復処理(はんぷくしょり)
これは、同じ授業が毎週繰り返されることに例えられます。例えば、毎週月曜日の1時間目に数学の授業がある、というように。プログラミングでは、特定の条件が満たされるまで、または指定した回数だけ、同じコードを繰り返し実行することを指します。

「順次処理」「条件分岐」「繰り返し」の3つを活用したイルミネーションのプログラムはこうなります。
ロボットプログラミングでは、条件分岐を「もし〇〇なら」ブロック、繰り返しを「ずっと」ブロックで表現しています。

まず、昼か夜かを調べるためには明るさを感知する必要があります。そのために使われるのが「光センサー」です。
光センサーは、周りの明るさ(光)を電気に変えることができます。センサーの中の「フォトトランジスタ」という部品によって、光を電気に変えることができます。そして、その電気の大きさを読み取ることで、周りの明るさを知ることができる、そういった仕組みです。
光センサーが明るさの情報を受け取り、その情報を基にプログラムを経由して、LEDの点灯・消灯を制御する。それがイルミネーションの仕組みです。

光センサーはカメラやテレビなど、さまざまな製品に使われています。

ロボットプログラミングでは、他にも音センサーやタッチセンサーなどのセンサーを使って情報を受け取り、プログラムを経由して、ロボットを動かしています。
次回はさまざななセンサーに着目して、説明していきます。


この記事が気に入ったらサポートをしてみませんか?