2023年8月13日(日)に人と科学の未来館サイピアで、4回コースの3日目を行いました。 この日の予定は以下の通りです。
- 10:00~12:00 ボールセンサーを1つで試合する
- 12:00~13:00 お昼休憩
- 13:00~15:20 ボールセンサーを2つ使う方法
- 15:20~15:30 事務連絡
1.ボールセンサー1つでボールを探して押すプログラム
前回(7月30日)のプログラムを改修します。 このプログラムはボールに近づくと(ボールが見つかったら)停止するものです。
このプログラムの意味は、①=ボールがないとき、②=ボールが見つかったときとなります。 これを元に、①=ボールがないので右回りに探す、②=ボールが見つかったので押す、と考えます。 この考えでプログラムを作ると、下記のようになります。
①=右に回る、と言うのは、右に行くプログラムで、②=押す、と言うのはまっすぐ進む(前にボールはあるはず)プログラムになります。 まずは、これで試合を行ってみます。 試合はルールを覚えるのに良い機会になります。 午前中は試合を行って終了です。
2.ロボットにはボールセンサーがどう見えているのか再確認
午後は、ボールセンサーの値を再確認します。 ロボットはボールの有無を、センサーからの数値でしか判断できません。 調べてみると、こんな感じです。
ボールもロボットも動かしていないのに、ばらつきがあります。 これはボールの仕組みでこうなりますが、このままでは使いにくいので、ボール値の平均を計算してみます。
1,000回読み出して、その平均を計算します。 変数にballとdataを使うのは、プログラムが正しく動かないとき、調べやすくするためです。 だいたい以下のように数値が同じになってきます。
3.ボールセンサー2つの数値を調整します
ボールセンサーには、値の調整を行うネジがあります。 ③の部分です。
2つのボールセンサーの値を表示させながら、このネジを回します。 2つのボールセンサーの値が同じになるように調整します。
ここまでで3日目の講習会は終わりです。