表示も、それっぽくしてみました。ついでに、Z方向も表示してみました。
左側の円が、XY方向、上の数字がXY方向の総合の加速度、右側のバーがZ方向で下の数字がZの加速度。Zは重力補正をして静止しているときに0Gとしています。
起動時のスプラッシュ・スクリーンとして、C5コルベットのロゴも入れてみました。
実は、ここまで来るのに、結構時間がかかってしまいました。ディスプレイに生値に加えて、G換算した値を表示したら、きちんと動作しなくなりまして。プログラム・コードは絶対に間違っていないのに、なぜか動作が安定せず。試行錯誤すること数時間。結局、文字をたくさん表示していると、メモリが足りなくなるみたいで、表示する文字を少なくしたら、ちゃんと動くようになりました。
PCだと、この程度の動作でメモリが足りないとかそんな事は思いもつかないですが、そういえば昔、まだPCが8ビットの時代はプログラミングのときに常にメモリ残量は気にしていたなぁ、などという事を思い出しました。
一応、ZR1のビデオの右下に似せたつもりです。さすがに、128x64の画面では、コース図までは出せないですが。
今の段階では、ただ3軸加速度計の値を表示しているに過ぎません。すなわち、座標系は加速度計と一致しています。これだと、例えば加速度計を傾けたときに重力によってXY方向が変化してしまいます。本来、Gメーターに表示する値の座標系は重力方向と一致していないといけないと思います。いや、どうなんだろう。そういえば、グライダーに装備されているGメーターは、機体軸に一致していた。でも、クルマの場合は重力軸に一致の方がいいような気がするし。とにかく、基本的に動作と表示はこれでOKだとして、計測軸を車体に一致させるのか、重力に一致させるのかは、少し考えてみることにします。それと、そういう面倒な軸変換計算はMPU-6050のDMPがやってくれると思うので、DMPの使い方を調べてみます。
ところで、今回の作業で一番ショックだったのは、老眼が進んでいたこと。
これまで、日常生活で老眼が進んでいることを意識したことはありません。文庫本も普通に読めるし、携帯端末の小さいフォントも苦労しませんでした。老眼鏡が必要だと思ったこともありません。
しかし、半田付け作業の時に思い知らされました。焦点が合わず、どこを半田付けしているのかわからない。半分くらい勘で半田付けしてました。
でも、老眼鏡はちょっと抵抗感が。いつかは必要になるのでしょうが、今ではない。だって、読み書きは問題ないですから。
というわけで、ホームセンターでヘッド・ルーペを買ってみました。アメリカの研究所で仕事しているときに、組み立て担当の人が使っていたのをちょっと借りたことがあって、とても使いやすかったのを覚えていたので。
しかし、ホームセンサーで売っている安物だと、使い勝手が悪いです。アメリカで使ったのは、頭につけるときに後頭部についているダイヤルでカチカチカチって感じで、締めることができて、ルーペを上げるのも下げるのもスムーズにできたのですが。これは、ベルクロで調節だし、ルーペの上げ下げはヒンジの部分の動きが悪くて、ヘッドベルトを押さえながらやらないと、バンドが脱げてしまいます。
Amazon.co.jpでも探してみたのですが、アメリカで使っていたような作りが良いのは見つからず。
アメリカで使っていたやつ。今度行ったときに買ってこようかなぁ。