Arduino始めました

久しぶりのブログ更新になってしまいました。
私の頭はシングル・タスク処理しかできないようで、忙しくなると他のことが手に付かなくなり、ブログを書いていたことすら忘れてしまいます。
最近、AVR関係でJTAGデバッガを久しぶりに使い出したところ、トラブルが発生しました。解決はしたのですが、そのことを記録しておこうと思ったの同時に、ブログのことも思い出しました。

さて、2ヶ月ほど前からArduinoを使い出しました。
Arduinoのことを以前からある程度知っていましたが、今まで手を出しませんでした。ただお客様の要求するCPU性能は常に高いものばかりでは無く、将来的な入手性、大量生産による低価格、さらには自分で改良してみたいという要望もあり、Arduinoを使用することになりました。

Arduino MEGA2560を使ってみた感想です。
全般的によく出来ていますね。

<<長所>>

(1)要求されるCPUチップの知識が少ない。

データシートを読む必要性が下がるので楽が出来ます。
特にピン配置やレジスタ構成、コネクタとそのピン配置を気にせずにソースを記述できるのは、結構画期的に思えます。これらはハードウェアの都合でしかないので、ソフト開発者からすると足枷です。
しかしArduinoコネクタ・ピンにはボード全体で通し番号が付けられているため、シルク印刷の番号を読み取り、APIの引数に指定すればそれで済みます。

(2)ライブラリが沢山ある。

Aruduinoの標準ライブラリ以外に、有志が作成したライブラリが沢山公開されています。The Arduino Playground

(3)いざとなれば細かいところまでコード記述可能。

GCCやAtmelの開発環境を内部で利用しているので、性能&機能アップのために、直接ポートをたたくようなコードをアセンブラで書くことも可能です。
もちろんArduinoの機能と衝突しないようにする必要があるはずです。

(4)デザインが(ちょっと)良い。

たぶんイタリアで開発されたことも影響しているのでしょう。
デザインは些末なところかもしれませんが、安価なサード・パーティ製互換ボードに埋もれないようにするための対策にもなると思います。若干コストに影響を与えているように思えますが。

<<短所>>

(1)開発環境(Arduino IDE)がイマイチ。

ソフト開発に慣れていないユーザにとってはこれ位が丁度良いのかもしれませんが、私にはちょっと不満。
プログラムを書き込むとき、シリアル・コンソールが閉じてしまい、デバッグするとき毎回開き直す必要がある。
他の開発ツールもあるようですが、純正(?)だし、お客様のご意向もあるので...

(2)基板の穴とピン

基板取り付け用の穴位置は、長方形の四隅の関係になるように配置されていません。専用ケース以外では、特注(or自前)加工するしかないのでは?
穴とソケット、あるいは信号パターンが近過ぎるように思います。ネジの皿と干渉しそうです。
ピンはワイヤ・ラッピング用ピン・ソケットを流用してますが、これは2.54mmピッチではありません。2.54mmピッチ2列のヘッダ・ピンの方が安定するし、ユニバーサル基板が使えるから好きなんですけどね、シールド関係もあるから今更変えるのは難しいでしょうね。