今回は新たに加えた動作を綴っていきます。
まず1つは、スタート時に手で大体の位置に置いていたのでは、毎回ズレが生じるので
最初バックして壁に当ててからスタートする様にしました。
実はこれに少し手間取りまして
普段使っている前に走る関数のモーター回転方向を反対にすればそのままいけると思っていたら
ただ反対にしただけでは、まともに動かなかったのです。
試行錯誤した結果、その関数を使うのを辞めて
袋小路に入った時に180度反転する関数を使い、これのタイヤ回転方向を後ろに合わせて
後進する距離を入れられる様にしたバック専用関数を作りました。
引数でスピード等の入力は無くしてバックする距離だけを入れる簡単なものです。
これでバックを覚えたので、櫛などで徐々にずれていくのを修正出来る様に
何回か連続で櫛に入ったらバックして壁に当てて位置を修正する様にしました。
それに合わせてフロントLEDの点灯による状態表示も変更、
今まで1から順に状態表示していましたが、視覚的に何番が何と判り辛いので
4つのLEDを[○○○○]で表すと、ストレートで走る場合には[●○○○]特殊ルーチンに入ると[○○○●]
左折すると[○●○○]連続左折の特殊ルーチンに入ると[●●○○]
右折も同様に[○○●○]連続で入ると[○○●●]と光る事で視覚的に判り易くしました。
因みに180度反転は[○●●○]で、その後バックすると
[○●●○]が一度点滅すると同時にモード決定音が鳴る様にしています。
その後、新しい試みを幾つか試していましたが
社内大会が近日あるという事で、それに向けて完走優先での調整に切り替えて
プログラムを弄っていく事にしました。
社内大会については次回でお伝えします。