自作・iPhone表示のOBD2メーターを作る【実装編】
目的 |
修理・故障・メンテナンス |
作業 |
DIY |
難易度 |
  中級 |
作業時間 |
30分以内 |
1
前回「自作・iPhone表示のOBD2メーターを作る【実験編】」(
http://minkara.carview.co.jp/userid/1540421/car/1141809/3720427/note.aspx)で、OBD2の通信回路をブレッドボード上で組んで実験を行ってみました。
今回は実際に回路を組んで、iPhoneアプリも作ってみたので車体に取り付けて遊んでみます。
この回路は、車体のOBD2情報を「MCP2551」のCANトランシーバを通じて「MCP2515」のCANコントローラでデータを取得してやります。そのデータをマイコン「PIC16F1705」で処理してBluetoorhモジュールへ送り無線通信に乗せてやります。
その無線データを自作iPhoneアプリで拾ってやって画面に表示してやるという目論見です。
上手くいっているみたいなのでご紹介…。
2
完成した回路です。
回路図詳細は、「実験編」にあるものと同じです。
写真上、の大きなコネクタは「OBD2」です。16ピン使いのコネクタですが、必要な端子は6ピンの「CAN High」と14ピンの「CAN Low」だけです。
あとは、電源とGNDの合計4本だけで構成されている回路です。
回路中左側の緑色の基盤がBLEモジュールです(BLE = Bluetooth規格)。この手のモジュールにはあまり選択肢がなく、3,000円くらいするお高いモジュールです。
この回路は「CANトランシーバ」の8ピンDIP、「CANモジュール」の18ピンDIP、「マイコン」の14ピンDIPで構成されており場所が大きくなりがちでした。
なので…。今回は基板を2階建てにしてスペースを小さくしてみました。
3
車体への取り付けについては、TTのOBD2はアクセル上の方にあるのでそこにコネクタを差し込みます。
電源は、ヒューズボックスから適当にみつくろいました。
貼り付けはいつでもメンテができるようにマジックテープで固定しています。
なお、回路のボックスにはLEDがついておりデータ受信ごとに点灯するようなプログラムしているので夜に下の方でほんのりチカチカしています。
4
今回も、iPhoneアプリを新作してみました。
動きについては動画をどうぞ…。
いつものように「Xcode」でSwift言語を使ってプログラミングしています。
画面レイアウトさえ決まればこのくらいであれば3日もあればなんとか形になります。
真ん中の大きなメータは、新しいTTのメーターをなんとなく真似てみましたw
TTの純正ナビはBluetooth無線で楽曲を飛ばせて聴けるので快適なんだけど、画面には曲名などのメタ情報が一切表示されません。
なので…。今回画面の左にはiTunesで再生中の曲を表示させるようにしました。
5
メインで使っているiPhoneは6プラスですが、小さな画面のiPhoneにもiOS9が動作すれば対応できようにしています。
プログラムのコード上では多分iPadも正常に表示できるはず…。試してないけど…。
動画を見ればわかるように、「アクセル開度」がたまに正常な値を示さないです。アクセルをそんなに踏んでないのに「100%」になったりだとか…。
「アクセル開度」を読み取るPID(パラメータID)ってのが幾つかあって今回の回路では「0x4C」のデータを取っている。これがいけないのかも…。「0x11」や「0x45」や「0x47」あたりのPIDでもアクセル開度が取得できそうな…。気が向いたら直します。
動き的にも正常で機能は果たしているけど、あまり必要なデータが取得できない。
OBD2のハックの成功は大満足なんだけど…。
車載用のスマホホルダーも買う気もないし…。
この回路…。お蔵入りの匂いがプンプンしますw
[PR]Yahoo!ショッピング
タグ
関連コンテンツ( iphone の関連コンテンツ )
関連整備ピックアップ
関連リンク