久しぶりにmicro:bit関連の記事です。今回は「TM1637」チップで制御している、4桁の7セグメントLEDを利用してみます。以前にI2CインターフェイスのLCDパネルも扱いましたが、数値のみの表示であれば今回の7セグメント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を車両で使う その18 LEDのフォントとスクロールスピードを変える
micro:bitではLEDにアイコンや文字(半角アルファベット、半角数字など)の表示が可能ですが、特に文字の場合は表示のスクロール速度が一定なので、ある程度の文字数になると内容の確認に煩わしさを感じてしまいます。また日本語では「半角カタカナ」を表示させる事も出来るので、今回はこれらの機能を試してみます。
WRX micro:bitを車両で使う その17 光センサーと温度センサーの利用
micro:bitの基本的な機能として、光センサーと温度センサーをこれまでに扱っていなかったので、今回試してみます。これまでに試した方位センサーと加速度センサーはmicro:bitに専用でセンサーが搭載されていますが、光センサーと温度センサーについては、それぞれLEDとメインプロセッサーに含まれる機能で代用する形になっています。