- 追加された行はこの色です。
- 削除された行はこの色です。
[[FrontPage]]
Funnel勉強中。まとめてみる。Fioを特別に貸してもらっているのでまだ公にできないかな?書いてから小林先生にみてもらう。問題なければ公開。
*Funnel [#i2989870]
IAMASの小林茂先生が考案したフィジカル・コンピューティング用マイコンキットがGainer。その無線版。
IAMASの[[小林茂:http://www.yapan.org/diary/]]先生が考案したフィジカル・コンピューティング・ツールキットが[[Gainer:http://gainer.cc/]]。その無線版。~
詳しくは[[ここ:http://funnel.cc/]] ~
開発状況は[[ここ:http://code.google.com/p/funnel/]] ~
名前の由来は[[ここ:http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%83%B3%E3%83%8D%E3%83%AB_(%E6%A9%9F%E5%8B%95%E6%88%A6%E5%A3%AB%E3%82%AC%E3%83%B3%E3%83%80%E3%83%A0)#.E3.83.95.E3.82.A1.E3.83.B3.E3.83.8D.E3.83.AB]] ~
**動作モデル [#ub9d0d3b]
XBee, Gainer, Ardinoなどいろいろなマイコンキットでできる。
基本的にどれもXBee経由。よって、
-XBee単体
-XBee+Fio
-XBee単体
-XBee+Fio
の2つでやってみた。
**XBee単体 [#v392bc2a]
PC<-USB->(評価ボード(XBee)) ------ (XBee)~
利点)すぐに始められる。~
欠点)ポート数が少ない。電源を制作しなければならない。ブレッドボードに刺さらない。~
いま変換ソケットとかインターフェースがきた!あとでちょっと書きかえる。~
**XBee+Fio [#a2c9ba84]
PC<-USB->(評価ボード(XBee)) ------ ((XBee)Fio)~
利点)ポートが多い。電源がある。ブレッドボードに刺さる。~
欠点)まだ製品になっていない。~
-Fio = Funnel I/O: GainerにGainerI/OがあるようにFunnelにFunnelI/Oがある。まだ評価段階。今回特別に貸与してもらっている。~
-Fioとは
Funnel I/Oのこと。GainerにGainerI/OがあるようにFunnelにFunnelI/Oがある。まだ評価段階であるが今回特別に貸与してもらっている。~
*可変抵抗でやってみた。 [#h07785d4]
-設定方法
これから書く。
**XBee単体 [#md780815]
※)XBeeの抜き差しや敗戦の変更時は必ず電源を切って行うこと。
*** 1.回路を組む [#od4005fe]
(ここに回路図と写真をいれる)
エンドデバイス側の回路を組む際の注意点~
電源電圧は必ず2.8〜3.4Vの範囲で使用~
↑5Vを加えるとモジュールが破壊!~
Vref(14番ピン)はVCC(1番ピン)に接続~
↑A/D変換のための基準電圧~
*** 2.X-CTUでXbeeの値を設定する [#f3966afc]
設定に関してほかのパラメータをいじったことがあればrestoreして初期設定に戻す。~
1:1の通信を行う。~
コーディネータ(ホスト)側
ATID 1111 <-PAN(グループ)ID
ATMY 0001 <-自分のID
ATDH 0000
ATDL 0002 <-相手のID
ATAP 2 <-APIモードの設定
エンドデバイス(クライアント)側
ATID 1111 <-PAN(グループ)ID
ATMY 0002 <-自分のID
ATDH 0000
ATDL 0001 <-相手のID
ATD0 2 <-ピン20をアナログ入力AD0に設定
ATIR 64 <-サンプリング間隔(0x64 = 100)
ATIT 5 <-ここで指定したサンプル数ごとに送信
*** 3.Funnel Serverを設定する [#ub6be0b3]
Funnel007を使用する。~
(008b4では動作しなかった。接続はするが後述するサンプルでは値を得られない。謎)~
settings.yamlを次のようにする
server:
command port: 9000
notification port: 9001
io:
type: XBee
com: COM22 <-ここはコーディネータをつなげているCOMポート番号を指定
baudrate: 9600
*** 4.ここでXBeeのコーディネータ・エンドデバイスとも電源を入れる [#vf567fde]
*** 5.Funnel Serverを起動する [#v7084a01]
以下のメッセージを確認~
Funnel 007 (2008-04-21)
I/Oモジュールと接続中です…
baudrate: 9600
I/Oモジュールと接続が完了しました:COM22
FIRMWARE VERSION: 10a5
SOURCE ADDRESS: 01
PAN ID: 1111
コマンドポート:サーバの起動中…
通知ポート:サーバの起動中…
通知ポート:サーバが起動しました:9001
コマンドポート:サーバが起動しました:9000
NODE: MY=2, SH=13a200, SL=400107f0, dB=59, NI=' '
-チェックポイント
--FIRMWARE VERSIONなどの情報が表示されているか?→されていなければATAPの結果を確認
--エンド・デバイスが表示されているか?→リトライしても表示されなければATIDの結果を確認
*** 6.ProcessingにFunnelのライブラリをインストールする [#n2e57e4e]
processingはビルド0098を使用。~
funnel_008b3/libraries/processing/library~
の~
funnel.jar~
javaosc.jar~
を~
processing-0098/libraries/funnel/library~
に入れる。(ディレクトリがなければ作成)~
*** 7.Processingを起動する [#ca085054]
以下のスケッチを作成。フォントはサンプルのものを流用する。~
/*
analog in
*/
import processing.funnel.*;
XBee xbee;
PFont myFont;
void setup()
{
size(400,130);
myFont = loadFont("CourierNewPSMT-24.vlw");
textFont(myFont, 24);
int[] moduleIDs = {2};
xbee = new XBee(this,moduleIDs);
}
void draw()
{
background(0);
text("analogInput[0]: " + xbee.iomodule(2).port(0).value,10,80);
}
*** 8.動作確認 [#p35e6827]
可変抵抗のつまみを回すと、値が0.0から1.0で変わる。ヤフー:-D~
値が震えていたりしたらエンド・デバイスの電源を切って、14番ピンに基準電圧(+3.3V)をとっているか確認すること。~
*ジャイロでやってみた。 [#xd9dbc94]
これから書く。
-方位角の出し方。