wiki:ArduinoFioTest

Version 38 (modified by ysck, 8 years ago) (diff)

--

ArduinoFioをつかってみる。


小林 茂さんの著書「Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ」
「8章 高度なレシピ レシピ32 無線で接続したい (P.369) 」に,沿って実験してみました。

「ArduinoFioにつながったセンサーの値をXBeeで送信して、PC側のXBeeで受信してProcessingをつかい描画します。」

ハードウェアは、色々と必要です。

今回用意したモノは
ArduinoFio 1個
XBee シリーズ1 / チップアンテナ(XB24-ACI-001) 2個
XbeeエクスプローラUSB 1個
・センサー(CdSセルと10kΩ抵抗器) 1セット
・その他(ピンヘッダ、ピンソケット、ブレッドボードなど)


ArduinoFioは購入したままでは使えません。ピンヘッダやピンソケットを付けてあげる必要があります。


扱いやすいのはこんなソケット。

ArduinoFioは使い方によって、ピンヘッダを付けるか、ピンソケットをつけるか考えます。
ハンダ付けしちゃう前に、使い方を良く考えましょう。やり直しできなくはないですが、少し難易度が高いです。


ピンソケットをはんだづけするとこんな感じ。


ブレッドボードに指すときはピンヘッダをつかって中継する。


USB-シリアル変換を使って、Arduinoに命令を書き込むときはL型ピンヘッダを使うと良い感じ。


というか、L型のピンヘッダじゃなくてもokです。好みですね。

XBeeの設定をします。

PCへの接続は、XbeeエクスプローラUSBが便利です。
XBee本体をXBeeエクスプローラに差して、USB(miniB)を使ってPCに接続する。
外すときは逆の手順です。

Windows環境があれば、X-CTUを使ってファームウェアアップデートや設定の変更ができます。
X-CTUのダウンロード

「XBeeConfigTool」でも設定変更が可能です。

XBeeConfigTool

一緒に使うXBee本体のPAN IDは同じモノ(ex.[1234])をつかって、それぞれ異なるMY ID(ex.[0000][0001]など)を割り当てます。
IDの数字は任意ですが、同じ場所でXBeeを利用する人がいる場合は予め確認をとる必要があります。

「XBeeConfigTool」はfunnel.ccのダウンロードにある「funnel-1.0-r×××.zip」の中に入っています。(2011年6月28日現在)

XBeeの設定が済みましたら、ArduinoFioへの無線アップロードも可能です。

!Arduino Fio の設定をします。

ArduinoIDEを使って、ファームウェアを書き込みます。
「StandardFirmataForFio」というファームウェア(Arduinoコード)を書き込みます。
※「StandardFirmataForFio」は、「XBeeConfigTool」とzipファイルの中、「funnel-1.0-r×××/hardware/fio/firmware/StandardFirmataForFio.pde」にあります。


!ArduinoFioにXBeeを搭載するとこんな感じ。逆向きに指したり、ピンをずらして差してしまったりしないように注意してください。


A0に光センサーをつなぐ回路を組む。書籍と異なり、!ArduinoFio本体を逆さに差しています。


電源はリチウムイオンポリマー電池か、もしくはUSB(miniB)から給電します。

Processingの実行環境を用意します。
拡張子はArduinoとProcessingは同じ(.pde)ですのでご注意ください。(2011年6月28日現在)
※ProcessingやFunnelのインストール方法については、「2章 開発環境を整える (P.61) 」を参照ください。

Processing用のプログラムは(P.379-380)のProcessing用サンプルを利用しますが、1点だけ追記変更をします。

fio = new Fio(this, moduleIDs, Fio.FIRMATA );

→ fio = new Fio(this, moduleIDs, Fio.FIRMATA, "COMポート番号");

※※選択反転している箇所を追記変更を加えています。 ※※COMポート番号はご利用いただく環境によって異なります。

こうしてあげれば、FunnelServerを立ち上げる必要がなくなります。(Flashから利用するときは必要)
Processingにてプログラムを実行すると。以下のような実行画面でセンサーの値に応じてグラフが描画されます。


実行画面

以上。

本実験はFunnelライブラリ等は、[funnel-1.0-r787]のバージョンで行いました。

Attachments (23)