憧れのHUD
以前から車載用のヘッドアップディスプレイを作りたいと思っていた。古くはS13シルビア、最近ではレクサスやBMWといった高級車のほか、マツダの各車種にも装備されていて凄く羨ましい。見た目の格好良さもさることながら、実用的にも運転中の視線、焦点をずらさずに時速などを確認できて便利だと思う。実際にHUD装備の車を運転した事があるが、こんな便利な装備がなぜ他の車には用意されていないのか。21世紀をとうに過ぎているというのに未だスタンダードになっていない事態に憤りを感じる。
自作の検討
最近はスマホ用のHUDアプリがある
自作するには以下の方法が頭に浮かんだ。
①スマホ用のHUDアプリを使い、3Dプリンタ製のマウントと併せて運用
②車のEUCから車速パルスを拾ってArduinoに読み込み、7セグLEDに速度を表示
まず挙げた①のGPSを用いたHUDアプリが一番お手軽だ。スマホのアプリを立ち上げてダッシュボードに置けば画面がフロントガラスに反射してHUDっぽくなってくれる。反射する事を考えて予め表示は反転されており、アプリの種類もデザインも様々。3Dプリンタでスマホを固定するマウントだけ作ればいいだけなのだが、車に乗る度にスマホをいちいちセットするのが面倒臭い。GPSは電池の消耗が激しいので、電源の確保も必要と一見お手軽に見えるも実際にはスマートさに欠ける。
②の方法は自分にとっては少々敷居が高い。車速パルスを拾う事は以前乗っていた軽自動車にナビを自分で取り付けた際に経験済みだが、それをArduino上で速度情報に変換する自信もスキルも無い。ネット上に事例もあるが、色々とややこしそうでたじろいでしまう。
OBD2端子から簡単に信号を取り出せるらしい
最近の車にはOBD2端子という車両情報通信の為の端子が付いており、ここから簡単に情報を読み込む為の機器が販売されているようだ。ELM327というカナダメーカーのICを使った機器がAmazon等で安価に売られているが、これらはBT通信が基本で、端子から取り出した信号をスマホのアプリと通信して車両情報をスマホディスプレイに映し出す用途を主とする。
僕はスマホと通信させたい訳では無く、自分でも手軽に扱えるArduinoと通信させたい(事例はあるけど、要改造)、ネット上を更に調べていると目的に合致するアイテムが見つかった。
Freematicsというオーストラリアメーカー?(多分個人運営だと思う)のOBD-II Arduino Adapterが正に自分が求めているものだった。このArduino用アダプタもELM327を使用しているとの事だ。2本のシリアル線と車両経由の電源、アースの計4本の線で簡単にArduinoに車両情報を読み込ませる事ができる。GitHub上にあるArduinoのサンプルスケッチを見たところ、非常に簡単な記述だった。これなら僕でもいけそう。
39.9$のモデルAと59.9$のモデルBがあり、高い方のモデルはArduino互換ボードやGPS、加速度センサー、I2C通信等を内蔵している上位版のようだが自分の場合は車速さえ取り出せればいいのでモデルAを購入。39.9$+EMS送料10$だった。数日後発送したとの連絡があったものの、発送元は中国上海。上海の空港を出発後なかなか荷物追跡のステータスが更新されず焦ったが、発注から1週間程たってから川崎の通関を通過し、程なくして自宅に到着した。
さすがチャイナクオリティ。緩衝材もなにも無く、この貧弱な紙袋にそのままアダプターが入っていた。しかも袋が臭い。
目的のブツ
無事荷物が届いたので早速Arduinoに接続してテストしたい。
続きを読む