Funnelまとめ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
Funnelをまとめてみる。~
-Funnelまとめ(このページ)
-WiiFunnel(Wiiリモコンみたいなものを作る)
-OLED4D for Arduino(4Dシステム有機ELモジュールドライバ)
-SOMO14D for Arduino(4Dシステムサウンド再生モジュールドラ...
-[[Funnelまとめ(XIO編)]](XBeeのみでFunnel)
更新歴~
-Arduino Fio用に大幅改訂。 -- kazushi? 2010-06-13 (日) 19...
-一部の誤植を修正。 -- kazushi? 2010-07-13 (火) 18:54:26
- ハードディスククラッシュからデータ復旧。 -- [[kazushi]]...
#comment
*Funnel [#bf9a006f]
&ref(fio_front.jpg,zoom,320x240); &ref(fio_back.jpg,zoom,...
写真はArduino Fio+XBee(チップアンテナ型)+EIC-801+リチウム...
2010/06/13現在のバージョンはv1.0(r737)です。~
IAMASの小林茂先生が考案したフィジカル・コンピューティング...
公式サイトは[[ここ:http://funnel.cc/]]~
開発状況は[[ここ:http://code.google.com/p/funnel/]]~
名前の由来は[[ここ:http://ja.wikipedia.org/wiki/%E3%83%95...
**動作モデル [#f859eb80]
Funnel専用I/Oモジュール(Fio)だけなく、XBee, Gainer, Ardui...
-Arduino Fio
の場合を説明する。~
***XBee+Arduino Fio † [#cb8148ba]
PC<-USB->(エクスプローラUSB(XBee)) ------ ((XBee)ArduinoF...
&ref(XBeeExplore.jpg,zoom,160x120); ------ &ref(fio_front...
利点)ポートが多い。電源がある。ブレッドボードに刺さる。Ar...
欠点)XIOより大きい。Arduino Diemilanoveより動作が遅い。(8...
-Arduino Fioとは XBeeを搭載することによって無線で制御でき...
*Arduino Fio [#fb579d80]
&color(red){※この情報は2010/06/13時点のものです。};~
&color(red){※XBeeの抜き差しや配線の変更は必ず電源を切って...
&color(red){※リチウムリチウムイオンポリマー電池の取り扱い...
***ハードウェアの準備 † [#da59a3b4]
http://funnel.cc/Hardware/FIO をよく読んでそろえる。私が...
-[[Arduino Fio:http://www.switch-science.com/products/det...
-[[XBee無線モデム(802.15.4モデル):http://www.switch-scie...
-[[XBee Explorer USB(XBee⇔USB変換モジュール):http://www.s...
-[[リチウムイオンポリマー電池1000mAh:http://www.switch-sc...
-[[ピンヘッダ(14穴以上):http://www.switch-science.com/pro...
-[[ピンソケット(14穴以上):http://akizukidenshi.com/catalo...
-USBケーブル(A⇔mini-B)x 1本(FTDI Basicを常に使う場合は...
-[[ブレッドボードEIC-801:http://akizukidenshi.com/catalog...
-[[ジャンプワイヤ:http://www.sunhayato.co.jp/products/det...
-(option)[[FTDI Basic Breakoutボード(3.3V):http://www.swi...
***半田付け [#p25b6dc4]
+Arduino Fioは購入直後はピンソケットがないので用意して半...
+XBee Explorer USBまたはXBee starter kit:RTSとD3の間をジ...
&ref(3214685994_3d3fd6d333_m.jpg);~
***電池の充電 [#p356a0d8]
一晩待つ^^;~
***ソフトウェアの入手 [#g05908a4]
以下はWindows用。macの場合は公式サイトを参照のこと。ダウ...
-[[funnel-1.0-r737.zip:http://code.google.com/p/funnel/do...
-[[processing-1.1.zip:http://processing.org/download/]]
-[[arduino-0018.zip:http://arduino.cc/en/Main/Software]]
-[[X-CTU v5.1.4.1:http://www.digi.com/support/productdetl...
-[[FTDI Virtual COM port (VCP) drivers v2.06.02:http://ww...
-[[interfascia:http://www.superstable.net/interfascia/]](...
***PCとXBeeの設定 [#i6eb7f63]
+XBeeエクスプローラとUSBケーブルを使ってXBeeをUSBに接続。
+ハードウェアの検出ウィザードが起動したら、FTDI VCP drive...
+コントロールパネル>システム>デバイスマネージャにてポー...
+ついでにCOMポート設定を変更しておく。(Windowsのみ)
++デバイスマネージャからCOMポートのプロパティを表示する
++「ポートの設定」ボタンを押して設定画面を開く
++「ビット/秒」を38400にする
++「詳細設定」を押して「その他のオプション」で「クローズ...
***XBeeのファームウェアの更新(10CDより古い場合) † [#sfee2...
+X-CTUを起動。
+modem configurationのreadを押してXBeeの接続を確認。ここ...
+XBeeを交換して同様に確認する。
+確認更新後、X-CTUを終了。
***XBeeの設定 [#t51e7e36]
+processing-1.1.zipを解凍。適当なフォルダ(例えばc:\Progra...
+($home)/Documents/Processingフォルダが作成されていること...
+($Processing)/libraries/フォルダを作成する。
+interfascia003.zipを解凍し、その中のinterfascia003フォル...
+funnel-1.0-r737.zipを解凍。適当なフォルダ(例えばc:\)にお...
+XBeeエクスプローラとUSBケーブルを使ってXBeeをUSBに接続。
+Processingから($funnel)hardware/fio/tool/XBeeConfigTool/...
+該当のシリアルポート(ここではCOM9)を選択して、「Read」ボ...
+ボタン下に「Read settings successfully」そして、画面右上...
+コーディネーター(PC)側XBeeの設定。以下のようにしてConfig...
++ModeはProgramming radio
++Baud rateは57600(for ATmega328)
++PAN IDは4桁の任意の数字。ここでは1234
+XBeeを交換。
+該当のシリアルポート(ここではCOM9)を選択して、「Read」ボ...
+ボタン下に「Read settings successfully」そして、画面右上...
+エンドデバイス(Arduino Fio)側XBeeの設定。以下のようにし...
++ModeはArduino Fio radio
++Baud rateは57600(for ATmega328)
++PAN IDは4桁の任意の数字。ここでは1234
++MY IDは0001であることを確認。(複数ある場合は0002など割...
+コーディネーター(PC)側XBeeをXBeeエクスプローラに戻す。エ...
+Processingを終了する。~
※この設定ではPAN IDは1234,コーディネータIDは0,エンドデバ...
***Arduino Fioのファームウェアの設定 [#s676232e]
+arduino-0018.zipを解凍。適当なフォルダ(例えばc:\Program ...
+($home)/Documents/Arduinoフォルダが作成されていることを...
+($Arduino)/libraries/フォルダを作成する。(option)
+File/Openから($funnel)/hardware/fio/firmware/StandardFir...
+118行目を
Firmata.begin(57600);
に書き換える。(19200は旧Arduino Fio用と思われる。Arduino ...
+Tools/Board/Arduino Pro Mini (3.3V 8MHz) w/ ATmega328を...
+以下のどちらかの方法でファームウェアを転送したあとArduin...
(FTDI Basic経由の場合)&color(red){※転送が早くて確実です。...
++FTDI BasicをUSBケーブルでPCにつなげる。ドライバがインス...
++Tools/Serial Portで適切なシリアルポートを選択する。ここ...
++FTDI BasicをArduino Fioのシルク印刷に対応するピンにあわ...
&ref(fdti.jpg,zoom,240x160);~
++FTDI Basicを抜いてXBeeをArduino Fioから外す。(FTDI Bas...
++Uploadボタンを押してファームウェアをアップロード。Binar...
++FTDI Basicを抜いてXBeeをArduino Fioに戻す。(FTDI Basic...
(XBee経由の場合)&color(red){※周りに無線LANやBluetoothなど...
++Tools/Serial Portで適切なシリアルポートを選択する。ここ...
++XBeeをArduino Fioにつけたままにする。
++Arduino Fioの電源を入れる。
++Uploadボタンを押してファームウェアをアップロード。Binar...
++Arduino Fioの電源を切る。
***ソフトウェアライブラリの設定(Processing) [#ia6eadfe]
+($Processing)/libraries/funnel/を作成し($funnel)/librari...
+Processing/libraries/funnel/library/settings.fio.txtを
server:
port: 9000
io:
type: Fio
port: COM9
baudrate: 57600
としてCOMポート番号を指定する。~
※シリアルポートは各自の環境によって変わります。~
***シンプルスコープの起動 [#n23abd43]
+可変抵抗を以下のように接続する。(わかりにくいけどA0ピン...
&ref(vr_w_fio.jpg,zoom,240x160);~
+ホームディレクトリのProcessingフォルダに以下のディレクト...
SimpleScopeArduino Fio/SimpleScopeArduinoFio.pde
- SimpleScopeArduinoFio.pdeのソースコード
#geshi(java){{
import processing.funnel.*;
final int id = 1; // end device ID
final int kChannles = 1; // the number of channels to d...
Fio fio;
Scope[] scope;
void setup()
{
size(340, 35+150*kChannles);
frameRate(30);
int[] moduleIDs = {id};
fio = new Fio(this, moduleIDs, Fio.FIRMATA);
scope = new Scope[kChannles];
for (int channel = 0; channel < kChannles; channel++) {
scope[channel] = new Scope(30, 35+150*channel, 200, ...
}
}
void draw()
{
background(0);
for (int channel = 0; channel < kChannles; channel++) {
scope[channel].updateAndDraw(fio.iomodule(id).analog...
}
}
class Scope {
private int l;
private int t;
private int h;
private float values[];
private int index = 0;
private int points = 200;
private String title;
Scope(int l, int t, int w, int h, String title) {
this.l = l;
this.t = t;
this.h = h;
this.points = w;
this.title = title;
values = new float[this.points];
}
public void updateAndDraw(Pin pin) {
values[index] = pin.value;
smooth();
textSize(12);
text(title, l - 24, t - 8);
text("1.0", l - 24, t + 8);
text("0.0", l - 24, t + h);
text("val: " + pin.value, l + points + 8, t + 8);
text("max: " + pin.maximum, l + points + 8, t + 20);
text("min: " + pin.minimum, l + points + 8, t + 32);
text("avg: " + pin.average, l + points + 8, t + 44);
// draw outlines
stroke(200);
noFill();
beginShape();
vertex(l - 1, t - 1);
vertex(l + points, t - 1);
vertex(l + points, t + h);
vertex(l - 1, t + h);
endShape(CLOSE);
// draw the signal
stroke(255);
beginShape();
for (int i = 1; i < points; i++) {
vertex(l + i, t + h - values[(index + i) % points]...
}
endShape();
index = (index + 1) % points;
}
}
}}
+Processingを起動。
+File/Sketchbookを開くとSimpleScopeArduinoFioがあるので選...
+Arduino Fioの電源を入れる。
+SimpleScopeArduino Fioを起動。NullPointerExceptionがでる...
($Processing)\libraries\funnel\library\settings.fio.txt
コマンドポート:サーバの起動中…
コマンドポート:サーバが起動しました:9000
I/Oモジュールと接続中です…
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
baudrate: 57600
I/Oモジュールと接続が完了しました:COM9
API MODE: 2
FIRMWARE VERSION: 10E6 (XBee 802.15.4)
PAN ID: 1234
SOURCE ADDRESS: 00
opened host address 127.0.0.1
ececCode /reset
コマンドポート:127.0.0.1がサーバに接続しました
reboot OK
module registerd [Fio]
addModule() Fio.ID01 1
notify thread start
Discovering nodes...
NODE: MY=1, SH=13a200, SL=40526a67, dB=47, NI=' '
configureation OK
funnelServiceThread start
Firmata Protocol Version: 2.1
Discovering nodes...
Discovering nodes...
と表示される。~
&color(red){※特にFirmata Protocol Version: 2.1が表示され...
+可変抵抗をまわすとそれに応じてA0のグラフが変化する。
終了行:
Funnelをまとめてみる。~
-Funnelまとめ(このページ)
-WiiFunnel(Wiiリモコンみたいなものを作る)
-OLED4D for Arduino(4Dシステム有機ELモジュールドライバ)
-SOMO14D for Arduino(4Dシステムサウンド再生モジュールドラ...
-[[Funnelまとめ(XIO編)]](XBeeのみでFunnel)
更新歴~
-Arduino Fio用に大幅改訂。 -- kazushi? 2010-06-13 (日) 19...
-一部の誤植を修正。 -- kazushi? 2010-07-13 (火) 18:54:26
- ハードディスククラッシュからデータ復旧。 -- [[kazushi]]...
#comment
*Funnel [#bf9a006f]
&ref(fio_front.jpg,zoom,320x240); &ref(fio_back.jpg,zoom,...
写真はArduino Fio+XBee(チップアンテナ型)+EIC-801+リチウム...
2010/06/13現在のバージョンはv1.0(r737)です。~
IAMASの小林茂先生が考案したフィジカル・コンピューティング...
公式サイトは[[ここ:http://funnel.cc/]]~
開発状況は[[ここ:http://code.google.com/p/funnel/]]~
名前の由来は[[ここ:http://ja.wikipedia.org/wiki/%E3%83%95...
**動作モデル [#f859eb80]
Funnel専用I/Oモジュール(Fio)だけなく、XBee, Gainer, Ardui...
-Arduino Fio
の場合を説明する。~
***XBee+Arduino Fio † [#cb8148ba]
PC<-USB->(エクスプローラUSB(XBee)) ------ ((XBee)ArduinoF...
&ref(XBeeExplore.jpg,zoom,160x120); ------ &ref(fio_front...
利点)ポートが多い。電源がある。ブレッドボードに刺さる。Ar...
欠点)XIOより大きい。Arduino Diemilanoveより動作が遅い。(8...
-Arduino Fioとは XBeeを搭載することによって無線で制御でき...
*Arduino Fio [#fb579d80]
&color(red){※この情報は2010/06/13時点のものです。};~
&color(red){※XBeeの抜き差しや配線の変更は必ず電源を切って...
&color(red){※リチウムリチウムイオンポリマー電池の取り扱い...
***ハードウェアの準備 † [#da59a3b4]
http://funnel.cc/Hardware/FIO をよく読んでそろえる。私が...
-[[Arduino Fio:http://www.switch-science.com/products/det...
-[[XBee無線モデム(802.15.4モデル):http://www.switch-scie...
-[[XBee Explorer USB(XBee⇔USB変換モジュール):http://www.s...
-[[リチウムイオンポリマー電池1000mAh:http://www.switch-sc...
-[[ピンヘッダ(14穴以上):http://www.switch-science.com/pro...
-[[ピンソケット(14穴以上):http://akizukidenshi.com/catalo...
-USBケーブル(A⇔mini-B)x 1本(FTDI Basicを常に使う場合は...
-[[ブレッドボードEIC-801:http://akizukidenshi.com/catalog...
-[[ジャンプワイヤ:http://www.sunhayato.co.jp/products/det...
-(option)[[FTDI Basic Breakoutボード(3.3V):http://www.swi...
***半田付け [#p25b6dc4]
+Arduino Fioは購入直後はピンソケットがないので用意して半...
+XBee Explorer USBまたはXBee starter kit:RTSとD3の間をジ...
&ref(3214685994_3d3fd6d333_m.jpg);~
***電池の充電 [#p356a0d8]
一晩待つ^^;~
***ソフトウェアの入手 [#g05908a4]
以下はWindows用。macの場合は公式サイトを参照のこと。ダウ...
-[[funnel-1.0-r737.zip:http://code.google.com/p/funnel/do...
-[[processing-1.1.zip:http://processing.org/download/]]
-[[arduino-0018.zip:http://arduino.cc/en/Main/Software]]
-[[X-CTU v5.1.4.1:http://www.digi.com/support/productdetl...
-[[FTDI Virtual COM port (VCP) drivers v2.06.02:http://ww...
-[[interfascia:http://www.superstable.net/interfascia/]](...
***PCとXBeeの設定 [#i6eb7f63]
+XBeeエクスプローラとUSBケーブルを使ってXBeeをUSBに接続。
+ハードウェアの検出ウィザードが起動したら、FTDI VCP drive...
+コントロールパネル>システム>デバイスマネージャにてポー...
+ついでにCOMポート設定を変更しておく。(Windowsのみ)
++デバイスマネージャからCOMポートのプロパティを表示する
++「ポートの設定」ボタンを押して設定画面を開く
++「ビット/秒」を38400にする
++「詳細設定」を押して「その他のオプション」で「クローズ...
***XBeeのファームウェアの更新(10CDより古い場合) † [#sfee2...
+X-CTUを起動。
+modem configurationのreadを押してXBeeの接続を確認。ここ...
+XBeeを交換して同様に確認する。
+確認更新後、X-CTUを終了。
***XBeeの設定 [#t51e7e36]
+processing-1.1.zipを解凍。適当なフォルダ(例えばc:\Progra...
+($home)/Documents/Processingフォルダが作成されていること...
+($Processing)/libraries/フォルダを作成する。
+interfascia003.zipを解凍し、その中のinterfascia003フォル...
+funnel-1.0-r737.zipを解凍。適当なフォルダ(例えばc:\)にお...
+XBeeエクスプローラとUSBケーブルを使ってXBeeをUSBに接続。
+Processingから($funnel)hardware/fio/tool/XBeeConfigTool/...
+該当のシリアルポート(ここではCOM9)を選択して、「Read」ボ...
+ボタン下に「Read settings successfully」そして、画面右上...
+コーディネーター(PC)側XBeeの設定。以下のようにしてConfig...
++ModeはProgramming radio
++Baud rateは57600(for ATmega328)
++PAN IDは4桁の任意の数字。ここでは1234
+XBeeを交換。
+該当のシリアルポート(ここではCOM9)を選択して、「Read」ボ...
+ボタン下に「Read settings successfully」そして、画面右上...
+エンドデバイス(Arduino Fio)側XBeeの設定。以下のようにし...
++ModeはArduino Fio radio
++Baud rateは57600(for ATmega328)
++PAN IDは4桁の任意の数字。ここでは1234
++MY IDは0001であることを確認。(複数ある場合は0002など割...
+コーディネーター(PC)側XBeeをXBeeエクスプローラに戻す。エ...
+Processingを終了する。~
※この設定ではPAN IDは1234,コーディネータIDは0,エンドデバ...
***Arduino Fioのファームウェアの設定 [#s676232e]
+arduino-0018.zipを解凍。適当なフォルダ(例えばc:\Program ...
+($home)/Documents/Arduinoフォルダが作成されていることを...
+($Arduino)/libraries/フォルダを作成する。(option)
+File/Openから($funnel)/hardware/fio/firmware/StandardFir...
+118行目を
Firmata.begin(57600);
に書き換える。(19200は旧Arduino Fio用と思われる。Arduino ...
+Tools/Board/Arduino Pro Mini (3.3V 8MHz) w/ ATmega328を...
+以下のどちらかの方法でファームウェアを転送したあとArduin...
(FTDI Basic経由の場合)&color(red){※転送が早くて確実です。...
++FTDI BasicをUSBケーブルでPCにつなげる。ドライバがインス...
++Tools/Serial Portで適切なシリアルポートを選択する。ここ...
++FTDI BasicをArduino Fioのシルク印刷に対応するピンにあわ...
&ref(fdti.jpg,zoom,240x160);~
++FTDI Basicを抜いてXBeeをArduino Fioから外す。(FTDI Bas...
++Uploadボタンを押してファームウェアをアップロード。Binar...
++FTDI Basicを抜いてXBeeをArduino Fioに戻す。(FTDI Basic...
(XBee経由の場合)&color(red){※周りに無線LANやBluetoothなど...
++Tools/Serial Portで適切なシリアルポートを選択する。ここ...
++XBeeをArduino Fioにつけたままにする。
++Arduino Fioの電源を入れる。
++Uploadボタンを押してファームウェアをアップロード。Binar...
++Arduino Fioの電源を切る。
***ソフトウェアライブラリの設定(Processing) [#ia6eadfe]
+($Processing)/libraries/funnel/を作成し($funnel)/librari...
+Processing/libraries/funnel/library/settings.fio.txtを
server:
port: 9000
io:
type: Fio
port: COM9
baudrate: 57600
としてCOMポート番号を指定する。~
※シリアルポートは各自の環境によって変わります。~
***シンプルスコープの起動 [#n23abd43]
+可変抵抗を以下のように接続する。(わかりにくいけどA0ピン...
&ref(vr_w_fio.jpg,zoom,240x160);~
+ホームディレクトリのProcessingフォルダに以下のディレクト...
SimpleScopeArduino Fio/SimpleScopeArduinoFio.pde
- SimpleScopeArduinoFio.pdeのソースコード
#geshi(java){{
import processing.funnel.*;
final int id = 1; // end device ID
final int kChannles = 1; // the number of channels to d...
Fio fio;
Scope[] scope;
void setup()
{
size(340, 35+150*kChannles);
frameRate(30);
int[] moduleIDs = {id};
fio = new Fio(this, moduleIDs, Fio.FIRMATA);
scope = new Scope[kChannles];
for (int channel = 0; channel < kChannles; channel++) {
scope[channel] = new Scope(30, 35+150*channel, 200, ...
}
}
void draw()
{
background(0);
for (int channel = 0; channel < kChannles; channel++) {
scope[channel].updateAndDraw(fio.iomodule(id).analog...
}
}
class Scope {
private int l;
private int t;
private int h;
private float values[];
private int index = 0;
private int points = 200;
private String title;
Scope(int l, int t, int w, int h, String title) {
this.l = l;
this.t = t;
this.h = h;
this.points = w;
this.title = title;
values = new float[this.points];
}
public void updateAndDraw(Pin pin) {
values[index] = pin.value;
smooth();
textSize(12);
text(title, l - 24, t - 8);
text("1.0", l - 24, t + 8);
text("0.0", l - 24, t + h);
text("val: " + pin.value, l + points + 8, t + 8);
text("max: " + pin.maximum, l + points + 8, t + 20);
text("min: " + pin.minimum, l + points + 8, t + 32);
text("avg: " + pin.average, l + points + 8, t + 44);
// draw outlines
stroke(200);
noFill();
beginShape();
vertex(l - 1, t - 1);
vertex(l + points, t - 1);
vertex(l + points, t + h);
vertex(l - 1, t + h);
endShape(CLOSE);
// draw the signal
stroke(255);
beginShape();
for (int i = 1; i < points; i++) {
vertex(l + i, t + h - values[(index + i) % points]...
}
endShape();
index = (index + 1) % points;
}
}
}}
+Processingを起動。
+File/Sketchbookを開くとSimpleScopeArduinoFioがあるので選...
+Arduino Fioの電源を入れる。
+SimpleScopeArduino Fioを起動。NullPointerExceptionがでる...
($Processing)\libraries\funnel\library\settings.fio.txt
コマンドポート:サーバの起動中…
コマンドポート:サーバが起動しました:9000
I/Oモジュールと接続中です…
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
baudrate: 57600
I/Oモジュールと接続が完了しました:COM9
API MODE: 2
FIRMWARE VERSION: 10E6 (XBee 802.15.4)
PAN ID: 1234
SOURCE ADDRESS: 00
opened host address 127.0.0.1
ececCode /reset
コマンドポート:127.0.0.1がサーバに接続しました
reboot OK
module registerd [Fio]
addModule() Fio.ID01 1
notify thread start
Discovering nodes...
NODE: MY=1, SH=13a200, SL=40526a67, dB=47, NI=' '
configureation OK
funnelServiceThread start
Firmata Protocol Version: 2.1
Discovering nodes...
Discovering nodes...
と表示される。~
&color(red){※特にFirmata Protocol Version: 2.1が表示され...
+可変抵抗をまわすとそれに応じてA0のグラフが変化する。
ページ名: