OLEDディスプレーをメーターにしてみた

DSCF5422.jpg

Raspberry PiとNavitで簡易ナビを作った途端、メインで使っていたiPhone5cが謎の再起動繰り返すトラブルでご臨終。急遽ナビ専用に使っていたiPhone4Sを、普段使いにすることに。Raspiナビはあまりいろいろ表示できないので、眠っていたOLEDディスプレーに速度、エンジン回転数、シフトポジションなどを表示することにしました。

Arduinoとの接続は、Ethernetケーブルを使ってシンプルに。これまではiPhoneにBluetoothで情報を送るため、1秒間ごとにパルスをカウントしていましたが、今回はpulseIn()という関数を使って、それぞれのパルス幅を計測し、そこから速度や回転数を計算する仕様にしてみました。高速化が望めます。ただし欠点もあります。はじめはオドメーター表示をしようと思ったのに、どうしても正確な距離を算出することができませんでした。速度パルス幅を計測後、エンジンパルス幅計測が続き、さらに計算・表示ルーチンに入ってしまうために、その間パルスを取りこぼすのが原因です。なので、オドメーター機能は別の方法を考えることに。



OLEDはArduinoとI2C接続で、画像作成が面倒くさかったので負荷軽減のためAdafruitライブラリ内蔵フォントを利用。速度、回転数、シフトポジションの他に、電圧と基板につけた温度センサーの値を表示。今のところニュートラルは0で表示されています。後ろでピーピー言ってるのは、電圧低下警告です。気温が下がってきてバッテリーが弱ってきたかも。ちなみにバイク用で声の出るETC車載器は無いはずというツッコミはご遠慮ください。pulseInのタイムアウトを0.45秒に設定したので、停車中はだいたい0.5〜1秒くらいで更新されていると思います。走りだせば更新間隔がさらに短くなり、ヌルヌル表示されます。シフトチェンジにも遅れなくスパっと付いてくる感じ。ちなみにOLEDの右にあるのは、パソコンから引っこ抜いた温度計。温度計だらけになってしまったため後日撤去いたしました。

IMG_2657.jpg
IMG_2658.jpg
F01637ED1FE7EDA5643A3BDE0DB8D929AD764AEB46368ED1D2pimgpsh_fullsize_distr.jpg

今日はこの装備で、犬山の寂光院に紅葉を見に行ってきました。今年は変に暖かかったせいか、色づきはいまいちでしたが、甘酒がおいしかったです。Raspiナビだけだと不安だったので、ツーリングマップルも持って行ったら、これが大正解。道の形や地名から自分がどこにいるかすぐに分かります。

DSCF5411.jpg

メーター周りが雑然としてしまいましたが、まあ趣味のバイクなのでこれでいいのだ。




関連記事
スポンサーサイト

コメント

目指せ北海道

水没して壊れました。新しいOLEDメーターは下記リンクへ。

http://habingovt.blog.fc2.com/blog-entry-530.html
非公開コメント

habingovt

2ストバイク(RZ250R&SDR)をおりてから二十余年。仕事で体調を崩したときに、友人からVT250Fというバイクを譲り受けました。4半世紀を生き抜いてきたバイクにまたがり、ふたたび走り始めたら、なんだかだんだん楽しくなって、バイクも自分も元気になってきました。目標は、YouTubeライブをしながら北海道を自由に走り回ること。いつ倒れるかも分かりませんが、生暖かい目で見守ってやってください。Twitter & tipmona @habingofit