【embotでプログラミングを学ぼう⑬-2】測定した距離をプログラムに使おう:課題編
目次
- 【embotレベル】3
- 【プログラムの技】センサーの情報を使う(「超音波センサー」使用)
- 【主に使うプログラム】センサー(距離)、while、if
解説編で知った新しいプログラムの技を使って、次の課題に挑戦してみましょう。
<今回は、embotと一緒に「超音波センサー」(https://shop.embot.jp/)を使用します。別途ご購入いただく必要があります。また、超音波センサーはembot+(エムボットプラス)のみ使用することができます。>
embotテルミンを作ろう
embotと「超音波センサー」を使って、かざす手の高さによって音階がことなる楽器(テルミン)のロボットを作ってみましょう。3段階の高さを設定して、ドレミをならすロボットにします。
プログラムの解説とポイント
フローチャートで[start]、[while]、[if]、[function]、[end]ブロックを図のように置き、線でつなぎましょう。
ここでは、超音波センサーからの距離が、
・300mmより小さいときは、「ド」
・300mm~399mmのときは、「レ」
・400mmより大きいときは、「ミ」
の音が出るプログラムを作ります。各ブロックの役割と手順をイメージしておきましょう。
最初に[while]のプログラムを作成します。[while]ブロックのプログラムは[スイッチ01=ON]を設定します。これで、スイッチ01がONのときに、ずっと繰り返されるプログラムを作ることができます。
ずっと繰り返されるプログラムは、【embotでプログラミングを学ぼう⑫-1】ずっと繰り返すプログラムを作ろう:解説編 も参考にしてみてくださいね。
次に、[if]の設定をしていきます。
1個目の[if]ブロックは、「超音波<300」と設定します。2個目の[if]ブロックは「超音波<400」を設定します。
さいごに[function]ブロックにそれぞれド、レ、ミが3秒鳴るプログラムを作成します。
これで完成です。フローチャートの画面に戻って、スイッチ01をONにし、プログラムを動かしてみましょう。手をかざす高さによってド、レ、ミのいずれかの音がでます。
まとめ
「距離」が測定できると、リアルな環境に合わせたしくみが他にもいろいろ作れそうですね。
つぎは、いよいよ最後のプログラムに挑戦します。
【embotでプログラミングを学ぼう⑭-1】一部を変えて再利用するプログラムの技:解説編