アナログタコメータをつくる(2) Arduinoとステッピングモータ
前回は OBD2 スキャナを改造して信号線を引き出したところまででした。引き続き制御部をこしらえていきます。
クルマとマイコンを OBD2 で接続してゴニョゴニョしている例は Web にたくさん見つかりますが、方向性はだいたい二手に分かれるようです。車載ネットワーク CAN にまで踏み込んですべて自前でやるか、深いところは ELM327 に任せて表層だけすくい取るか。当然、自分は後者です。なのでスキャナの改造から入ったわけで。
さて Arduino です。3D プリンタの制御基板として長いこと使ってはいますが、あちらには Marlin というすばらしいファームウェアがあるので、プログラミングのことは全然わからずとも使えてました。せいぜい自分の環境に合わせてちょっとヘッダファイルを書き換えるくらい。内容は全く理解していません。
なぜかうちには Arduino UNO とその互換機が計3枚あります。純正品は職場の人にもらったもの、中華な互換機は 3D スキャナ Ciclop で使っているもの。やばいところをショートさせて壊してしまい同じものを買い増ししました。その後よくよく調べてみたらシリアル周りが死んでいるだけだったので、シリアル変換基板を入手すれば使えないことはないはず。なので合計3枚です。まあ互換機はともかくとして、せっかく UNO があるのだから、プロトタイプはこれを使って作り込んでいくことにしますかね。最終的にはもっと小さな Arduino に移植すればよいかと。
本プロジェクトで目指すのはこんなかんじのものです。
- 針のあるメカ式のアナログタコメータ
- オプティトロン、いわゆる自発光式とする。文字盤と針を光らせる
- Cdsで周囲の明るさを取得して文字盤バックライトの調光をする
ホントはタコメータとは別に LCD を装備して、エンジン回転数以外の情報、例えば吸気温度とかトルクとかも表示させる予定でスタートしたのですが、もろもろの事情でひとまずタコメータのみです。このあたりの詳細はいずれ。