奮闘記【28】LCDに情報の表示と暴走対策をしました

2018年12月21日 8:44:37 by fdkltd

どうもhataです

 前回ブログに書いていた、ロボットの必要な情報をLCDへ表示する機能の実装と、ロボットの暴走対策を行いました。

 LCDには、LipoとNi-MHの電圧値・駆動輪モータドライバのエラー・ゲームパッドのボタンと十字キーの状態を表示できるようにしようと考えました。

 最初はそれぞれの情報をスペースも改行も入れずに表示してしまったため、非常に見にくいものになってしまいました。改行とスペースの入れ方を仕様書で確認して実装したのですが、今度は電圧値の桁の変動によって、電圧値の横に表示している単位[V]がずれてしまい、[V]がいくつも表示されてしまいました。[V]の表示位置を固定して、桁の変動の影響を受けなくすることで解決しました。

 LCDへの情報表示機能の実装が完了したので、ロボット全体の動作チェックを行っていたところ、ゲームパッドのレシーバがUSBコネクタから抜けた時に、ロボットが暴走してしまうことが分かりました。そこで、USBコネクタからレシーバが抜けたときは、駆動輪を強制的に止めることにしました。レシーバからの情報を取得するarduinoのライブラリを確認したところ、レシーバの接続状態を示す変数がありました。それを利用してUSBコネクタからレシーバが抜けている時は、駆動輪が強制的に止まる処理を実装し、解決しました。

 最低限競技できるプログラムを実装出来たので、今後は競技の練習をしながら、プログラムにおかしい部分がないか調べていきます。年明けからは、今回のロボットで一番重要な要素「アームにつけたセンサでオブジェを自動的に取得する動作」の実装を目指します。