2011年5月4日水曜日

Arduino Fio (導入篇)


Arduino Fio は「マイコンとXBee とリチウムポリマバッテリー(と adobe Flash)」の組み合わせを簡単にするために作られた、「Funnel I/O」というArduino 派生機種だったもので、現在は正式に Arduino ブランドとして販売されています。

細かい経緯はさておき、以前 XBee を買った際にこちらも買ってみました。
(予算がなくて追加の Xbee は買えなかったのですが、、、)

基本的な使い方は他の Arduino と同じですが、いくつか注意点があります。

1. Arduino には Arduino Uno などの5V 版と、Arduino Pro などの 3.3V 版があり、Fio は3.3V 仕様です。
2. USB 端子がありますが、電源(バッテリーの充電)専用です。通信機能はありません。


XBee 経由での書き込みはまたの機会にして、シリアルアダプタによる書き込みを行ってみました。


これは以前、別の要件で買った(そして使ってなかった)sparkfun のFTDI アダプタです。これを使ってみましょう。
FTDI アダプタも3.3V 仕様と5V 仕様があります。そして手持ちのこれは5V、、、

メーカーのサイトに説明がありますが、このアダプタはパターンカット&ジャンパ(ハンダでショートする)で 3.3V/5V 相互に変更可能です。
(もともと、FTDI のチップ(FT232RL) がそのような仕様になっています。)



しかし、また戻す事もあるかもしれないし、少し面倒、、、


ここで再検討。Arduino で使うATmega チップの電源仕様は1.8V 〜5.5V と広く、3.3V 版も5V 版も同じチップを使っています。じゃあ、5V で書き込んで良いんじゃないの?
ということで、パターン(→Schematic)を追ってみると、XBee モジュール(2.8 〜 3.4V)とバッテリー(3.7V) を外せば問題なさそう。

というわけで、5V で書き込み決行。


書き込みは、ヘッダピンを半田付けせず、押し当てる形で行いました。(これは公式ページにも書いてある由緒正しい方法です。)

試しにシリアルエコーバックのプログラムを書きこみ、そのままUSB 経由で通信を確認。
つづいて Firmata (StandardFirmataForFio) を書き込みました。
Fio 用のFirmata は先のFunnel のサイトからダウンロードできます。(Funnel は他にも便利なツールがあるので、別途紹介したいと思います。)

1.0-r787 の場合は、以下のファイルです。
funnel-1.0-r787/hardware/fio/firmware/StandardFirmataForFio/StandardFirmataForFio.pde

この回と同様、Pduino でXBee 経由の通信テストを行い、成功しました。


シリアルエコーバックプログラムの例
(シリアルの通信速度とXBee の通信速度を合わせます。Pduino 用に 57.6kbps にしているので、57600 になっています。)

//============================
void setup() {
Serial.begin(57600);
}
void loop() {
if (Serial.available()) {
Serial.print((char) Serial.read());
delay(10);
}
}
//============================


3 件のコメント:

  1. はじめまして、Kohと申します。

    GW明けあたりにFIOを入手し、いじり始めている者です。

    FUNNELは Ver1.0(R787)を使われている様ですが
    Arduino は Arduino0018でしょうか。

    私の環境は
    Win + Arduino0018 + funnel ver1.0(R787)
    なのですが
    StandardFirmataForFio.pdeをCompileすると

    TOTAL_PINS が未定義
    readPort() が未解決

    の旨のerrorが発生してCompileが完了しません。

    よろしければ 成功している実行環境を教えていただけないでしょうか?

    # フォーラムの方にも問い合わせをしてみますが
    # 登録認証されるまで 時間がかかりそうなので
    # 情報いただけますと助かります。

    返信削除
  2. koh さんはじめまして。
    返信遅くなりました。

    当方の環境は
    Arduino IDE 0022 (Mac OS X 10.6) で行っております。
    funnel ver1.0(r787) のStandardFirmataForFio.pde で、エラーなしでコンパイルできました。

    参考になれば幸いです。

    返信削除
  3. TETRASTYLE さん

    コメントありがとうございました。

    Arduino IDE 0022で無事コンパイルできました。

    ドキュメントには 0018を使用せよと書かれていたので
    信じて進ん目ていました。

    ドキュメントのメンテされていないようですね。

    大変助かりました。ありがとうございました。

    返信削除