前回はmicro:bitで車両パルス信号から車速を割り出してみましたが、今回は車両のOBD2ポート(診断コネクター)にELM327を接続して、エンジン回転数などの情報を読み出します。ELM327を経由しての車両情報の読み出しはこれまでも行っていますが、今回はその表示方法としてmicro:bit用のLEDリングを使用してみます。
WRX micro:bitを車両で使う その21 車両からエンジン回転数を得る
前回と前々回の記事で、ELM327を介してエンジン回転数を示す2バイトのデータが、micro:bitのバッファ内の定位置に入る事の確認と、アスキーコード16進数から数値10進数への変換プログラムの作成を行いました。今回はこれらを踏まえた上で実際にエンジン回転数を得られるプログラムを作成し、車両で試してみます。
WRX micro:bitを車両で使う その20 アスキーコード16進数から数値10進数への変換
前回、車両に接続したELM327へOBD2ポートに対しての情報取得命令(010C:エンジン回転数)をmicro:bitから送信し、その答えとなる返信をLCDパネルに表示出来る事は確認しました。実際の返信内容にはエンジン回転数以外の情報も含まれるのですが、繰り返しの取得でもmicro:bitのバッファー内で毎回同じ位置に入る事も確認出来たので、必要な部分のみ抜き出して利用出来そうです。ただし返信内容は16進数のアスキーコード(文字)なので、これを最終的には10進数の数値に変換する必要があります。
WRX micro:bitを車両で使う その19 ELM327の車両との通信を確認する
シリアル通信におけるRS232C通信については、TTLコンバーターを使用する事でmicro:bitとELM327間の通信は一応行う事が出来ました。今回は実際に車両のOBD2ポートにELM327を接続し、micro:bitの情報取得命令に対して、車両からの応答をLCDパネルで表示出来るか確認してみます。
WRX micro:bitを車両で使う その16 シリアル通信(RS232C)を行う
micro:bitの通信機能には無線通信機能の他、有線で行うシリアル通信機能があります。シリアル通信では3本の配線(送信・受信・GND)を使用して通信を行いますが、micro:bit同士であればワニ口クリップで簡単に接続して通信が可能です。さらにUSBでPC(要ターミナルアプリ等)と接続して数値や文字の送受信も出来ます。また今回はRS232Cでのシリアル通信も行ってみました。
WRX OBD2で車両情報を取得する その18 OBD2の分岐ケーブルについて
以前、ELM327を使用して車両OBD2からデータを取得し、FA用PLCでアクセル開度や車速、エンジン回転数を同時に取得する事が出来ました。実際に車両で確認してみてもそれなりに正しい値になっていそうですが、車両でデジタル表示される車速以外は確認する方法がありません。そこでOBD2の分岐ケーブルを購入し、通常車両で使用しているTRUSTのインフォメータータッチと比較してみようと思います。・・・が。