近年、ますます小型化するコンピュータの世界ですが、Arduinoの派生品から更に小型なシリーズがSeeed Sutudioから展開されています。
Xadow (購入はseeed studio bazaar/仕様はseeed studio wiki)
検索してみましたが、日本では取り扱っているショップさんはないようですね。現状は海外のショップを経由して購入するしかなさそうです。コンセプトは明確でして
- 連結可能である
- 低消費電力である
- 小型基板である
以上の3点です。
連結可能である
Arduinoでは基板のピン配置が決まっており、基板間の連結は差し込むだけで済みますが、Xadowではフレキシブルケーブルで接続します。ただ連結可能なだけではなく、フレキシブルケーブルを採用していることから基板配置にも自由度があることが特徴です。
低消費電力である
マイコンにはATmega32U4が採用されていますので、Arduinoや他の派生品に比べて低消費電力である、ということはなさそうです。ただし、必要最低限の素子しか搭載されていませんので、若干の優位はあるかもしれません。
小型基板である
オープンソースハードウェアですので回路図、配線図が公開されています。購入サイトを見ても分かりますが、基板のサイズは25ドルセントでしょうか?この程度の大きさです。ウェアラブル用途に開発された基板であること間違いなしでしょう。
使用にあたって注意点があります。基本はArduinoと同じ開発環境を利用しますが、プログラムの書込みに際しては一部変更が必要となります。
- システムファイルの差し替え
- USBCore.cpp変更点
- Board.txt変更点
- USBドライバのインストール
USBCore.cppとBoard.txtを差し替える必要があります。
表示用のテキストエリアの変更がメインです。しかし、CDCに関する一部コードが変更になっていました。
if (USB_Available(CDC_RX)) // 変更前 while (USB_Available(CDC_RX)) // 変更後
変更前はif文であるため、USBが有効であれば以降に続く命令が1回実行されるのですが、変更後はwhile文であるため、USBが有効である限り以降に続く命令を実行し続けます。こうした見えない変更(ユーザーが意図しない変更)は思わぬ動作を招くことがあるので、変更点には注意が必要です。
ボードの定義と、CPUの一部定義が変更されています。
mega2560.upload.protocol=wiring // 変更前 mega2560.upload.protocol=stk500v2 // 変更後 ~中略~ atmega8.bootloader.file=ATmegaBOOT-prod-firmware-2009-11-07.hex // 変更前 atmega8.bootloader.file=ATmegaBOOT.hex // 変更後
またxadowに関する定義が追加されています。(一部分のみ掲載)
Lite.name=Seeeduino Lite Clio.name=Seeeduino Clio Node.name=Seeeduino Node Xadow.name=Seeeduino Xadow
ボード定義の追加だけであれば、元ファイルとの統合も考えられるのですが、cpuに関する定義も変更されているため統合は避けたほうがいいでしょう。
Arudinoとxadowを同時開発する際にはこれらファイルの管理が必要になります。USBCore.cppとBoard.txtを個別に管理する方法もありますが、何を変更するか分からなくなってしまうことも有りますので、開発環境ごとコピーを取っておいて、Arduino開発用/Xadow開発用で切り替えると混乱は少なくなるでしょう。
こちらは変更点ではありませんが、注意点として記載しておきます。Windowsで開発する場合、書込みに際してUSBドライバが必要になります。これまでArudinoの開発をしてこられた方は既にインストールされているので不要ですが、新たに開発を行う場合はUSBドライバをパソコンにインストールします。
ドライバはArduino本家(「こちら)にあります。インストールの方法はSeeed Sutudio(こちら)にもありますので、ご参照ください。
開発はleonardoとして行うことになります。ピン配置を見ると分かりますが、かなりタイトになっており、I2C、SPI、UARTが独立して利用できるものの、これら通信を同時に利用しますとI/Oとして利用できるピンがなくなってしまいます。小型であるメリットを利用してあれもこれもと多機能にしてしまうと行き詰まる可能性があるので、注意が必要です。
もし複数基板を利用する可能性があるならI2C接続を推奨します。I2Cハブ基板があるのでこちらを活用すると簡易ネットワークが構築でき、接続センサにも幅が出るでしょう。
まだxadowで開発の実績はありませんが、今後携わってみたいシステムの一つです。海外調達がメインとなりますが、そんなに難しいものではありません。不良品が届いた時の不安もありますが、メールによる対応で行えばまず問題ないでしょう。英語に不安を感じるかたはシンプルな英語、もしくは自動翻訳を利用するのも手でしょう。