【Arduino】 まずは購入

100514-1.jpg
Arduinoを買いました。Arduinoとは、フィジカル・コンピューティングに特化したイタリア製のマイコンです。
webを検索すると、これでLEDをチカチカさせたり、温度計を作ったり、いろいろな動かし方が紹介されています。しかし、マイコンとは本来、何かの目的を達成するための道具・手段であるはずのものですが、その手段が目的になっているサイトがほとんどです。まぁ、趣味とはある意味でそういうものですから、それはそれで全然構わないと思うし、そういう記事は役に立つので助かります。

私はArduinoを使うことが目的ではありません。最終的にやりたいことがあるのです。その手段として、Arduinoを使ってみようと思います。このBlogに書いているくらいですから、それはもちろんクルマに関係しています。

一番最初のきっかけは、これ。
100514-2.jpg
アメリカのTESLA Electronics社が販売しているG-TECH Pro EGSという多機能タコメータです。このタコメータには、小さな液晶モニタが付いていて、ここに様々な情報を選択表示できるようになっています。写真ではデジタルで回転数を表示していますが、8チャンネルのアナログおよびパルス入力を持っているので、ほぼ何でも表示できると言えるでしょう。さらに、OBD2プロトコルでECUと通信もできるので、ECUが持っている情報も表示できます。メモリモジュールによって、それらのデータのロギングもできます。

そして、先日、スピダーにOBD2のDLCが装備されていることを発見しました。ということは、このG-TECH Pro EGSをスピダーに付けることもできそうです。デザインもカッコいいし、欲しいなぁと思っていました。
しかし、そういったことができるオプションを揃えると$700くらいになります。この種の製品の価格としては格安だと思いますが、必要というものでもありません。ただの自己満足です。それに$700は、ちょっと出せません。
それなら、自分で作ってみようかな、と思いました。こんなカッコいいデザインのタコメータは作れませんが、液晶のキャラクタ・ディスプレイを使って、そこに各種車両情報を表示するのはカッコ良さそうだし、自分でも作れそうな気がします。

最初は、昔少し使った事があるPICを使おうと思ってました。webサイトでPIC関係の情報収集をしているうちに、Arduinoの存在を知りました。
私の専門は、機械工学です。機械工学と言っても今時のエンジニアですから、運動方程式を立ててPIDで制御する程度のソフトウェアを書いたりすることは出来ますが、それを動かす電気ハードになると、ちょっと難しい。PICを使った場合は、PICの入出力の前後の電気ハードは、設計と製作が必要ですが、その部分に苦手意識がありました。
しかし、Arduinoはそれ単体でADコンバータやPWM出力などを持っていて、そこまで入出力の面倒を見てくれれば私にもなんとかなりそうです。これなら、だいぶ敷居が低くなりそうに思います。

さて、Arduinoで何をしようかと言うと。いきなり最終目標のものを作るのは難しいので、次の3つのフェーズに分けてみます。

Phase0:off bord study
Arduinoを使うのは初めてなので、まずはArduinoの使い方の勉強を机上でやります。これは、LEDをチカチカさせみたり、アナログやデジタル信号を入力して、それを元に何かに出力してみたり、液晶キャラクタディスプレイの使い方を憶えます。そして、次に述べるPhase1の動作を机上で擬似的に動かしてみます。

Phase1:warning display
スピダーの警告灯表示は、シフトレバーの前に集中して配置されていますが、運転中は右腕に隠れてしまい、まったく見えません。そこで、警告灯の信号をもらって、運転中に見えるところに設置したLCDに、その内容を表示します。
この段階で、スピダーにArduinoやLCDを搭載することになるので、ケースや設置のための加工が伴います。私の予想では、ソフトを書いたり電気配線をすることよりも、この加工が一番難しいと思っています。

Phase2:ECU data display
OBD2から情報を得て、LCDに表示します。エンジン負荷、吸気量、吸気温度、ラムダフィードバックなど、ECUが持っているデータを選択的に表示できるようにします。ELM Electronics社が販売しているELM327というICがOBD2とRS232Cのインタープリターをしてくれるみたいなので、これを使うつもりです。

Phase3:Logging
最終目標はこれ。warningやECUデータに加えて、例えば加速度センサなども追加して、走行中のそれらのデータをSDメモリカードに記録できるようにします。

こんな計画を立ててみました。
Phase3の完成まで5年くらいかかるかもしれないし、途中で飽きたり投げ出したりする可能性もあります。Phase1あたりで満足してしまうかもしれません。レースに使うわけでもないし、高度なエンジンチューニングをしているわけでもないので、Phase2以降の機能がスピダーに必要なわけではありせん。付いていたらカッコいいかな、という結局は自己満足のためなのです。

というわけで、これからArduinoを使った車載電子機器の製作にチャレンジしてみます。覚悟を決めるために、このBlogに"A. Arduino"というカテゴリーを追加しました。頭が"A."なのはBMW Z4で"9."まで使ってしまったのでその次として"A."にしました。"10."にすると、ソートで"1."の前か後に並んでしまうかもしれないので。まあ、16進数だと思ってください。

まず最初の段階として、Arduinoと液晶キャラクタディスプレイ、それに入力の勉強用にcdsや温度センサなどを購入してみました。
これから、お約束のLEDチカチカとか、LCDに"Hello world!"を表示してみるとかやってみます。