fc2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
tag:

【Processing】ライブラリの入れ方【Arduino】

前回の「センサーが反応しない」より続編で、ライブラリの入れ方を教えます。
主にArduinoにStandardFirmataを入れて、Processingで動かす場合を説明していきます。

MacとWindows、ほぼ一緒です。

●Macの場合
1,はじめてProcessingを起動すると、書類フォルダにいつの間にかProcessingフォルダができてます。(Arduinoの場合はArduinoフォルダ)
2.その中にまず「新規フォルダ」を作成して、librariesフォルダを作りましょう。
スクリーンショット 2012-10-20 23.45.05

次にライブラリ。だいたいどうすればいいか英語で説明してあります。
http://www.arduino.cc/playground/interfacing/processing
とりあえず processing-arduino.zip をダウンロードします。
これをクリックすると自動的に解凍(Unzip)して、arduinoというフォルダができます。
このフォルダを先ほどのlibrariesフォルダにいれると、Processingでセンサーが使えるはずです。

●Windowsの場合
はじめてProcessingを起動すると、ドキュメントフォルダにいつの間にかProcessingフォルダができてます。
中にはlibrariesフォルダがすでにできてます。(Arduinoの場合はArduinoフォルダにあります)
Mac同様にprocessing-arduino.zipを解凍して、arduinoフォルダごと、さっきのlibrariesフォルダをいれます。


さほど違いはありません。
ライブラリは探すとたくさんネット上にあるので、興味がある人はどんどん試しましょう。

参考程度に…
■Processing用ライブラリ一部 (*印ははじめから入ってる)
音系ライブラリ…逆再生やエフェクト、イコライザーなど
 minim *
 Sonia
 Ess 
通信系
 oscP5 …OSCでネットワークを使って離れたところから制御する。OSCulatorを使えばWiiリモコンが使えます。
 Syphon …Processingの描画画面を対応したソフトに転送します。(MadMapper, oF、Max6、Modul8など)
 proMidi …MIDI信号を出す。MIDI対応ソフトを操れます。(Virtual DJ pro、Modul8など)
カメラ系
 processing.video* …カメラや動画が使える
 SimpleOpenNI …Kinectが使える(別途インストールが必要)
 NyAR4psg …拡張現実感(AR)アプリケーションを開発

文責:目次護
スポンサーサイト



tag: [Arduino][Processing]

テーマ : ゼミ
ジャンル : 学校・教育

【Processing】「センサーが反応しない!」【Arduino】

これからどんどん作品を作るゼミ生のみなさま

今回よく聞く「センサーが反応しない!」について解決法をご紹介します。
確認する項目はこの順番です。
1.値がきてるかprintlnで確認
2.センサーのつなぎ方があってるか
3.ArduinoにStandardFirmata入ってるか
4.57600や9600があってるか
5.arduino = new Arduino(this,Arduino.list()[0]);
6.パソコンがArduinoを認識していない
7.ライブラリが入ってない

それでは各項目について、詳しく説明いたします。
とりあえず、Processingでセンサー使って四角の大きさを変えるプログラムを書いておきます。




import processing.serial.*;
import cc.arduino.*;

Arduino arduino;

int pin = 0;
int rect_size = 0;

void setup() {
size(600, 600);

println(Arduino.list());
arduino = new Arduino(this,Arduino.list()[0]);
}
void draw() {
update_arduino();
rect(10, 10, rect_size, rect_size);
println(rect_size);
}

void update_arduino(){
rect_size = arduino.analogRead(pin);

}




それでは順に解説していきます。

1.値がきてるかprintlnで確認
まずセンサーの値がきちんと来ているかどうか確認しましょう。
  println(rect_size);
でセンサーからの値がProcessingのプログラム下部(黒いとこ)に数値が出てきます。
ちなみにrect_sizeはあくまで例なので、センサーの値を読み取る部分が
  val = arduino.analogRead(pin);
とかだったら
  println(val);
ですよ。言うまでもないですが。

センサー動かしてもこの数字が全く変化がない場合、以降の問題を解決する必要があると思われます。

2.センサーのつなぎ方があってるか
よくある間違いは「センサーのつなぎ方」です。
教わったとおりにつながっているか確認してください。
もし間違えると致命的な故障を引き起こす可能性があります。
大抵その前にMac側がシャットダウンしてくれますけどね…。
Arduinoやセンサーが熱くなってるかもしれないので注意しましょう。
直してもできないときは、Arduinoを認識しているか確認しましょう。
USBを抜き差しすれば大丈夫だと思います。

3.ArduinoにStandardFirmata入ってるか
これもよく見ます。
棚から出したArduino全てにこのプログラムが入っているとは限りません!
「前は反応してたのに、反応しない…。」という時にはこれが多いです。

4.57600や9600があってるか
多くの方はStandardFirmataを入れる時に
  Firmata.begin(57600);

  Firmata.begin(9600);
に変えましょう、と言われています。
中にはそのままUploadしてる人もいますが、まあそれでも大丈夫でしょう。
ただ、Processing側で
  arduino = new Arduino(this,Arduino.list()[0], 57600);
もしくは
  arduino = new Arduino(this,Arduino.list()[0], 9600);
と数値を設定している人は、きちんと合わせないとダメだと思います。
後ろの数字は実はいらなかったりすることもある。

5.arduino = new Arduino(this,Arduino.list()[0]);
ここまでやってできなかった人は少し特殊な環境のPCをお使いのようです。
とりあえずsetupの中に
  println(Arduino.list());
を入れてください。
これでRunすると下部の黒いところに接続ポート番号が出てきます。
  [0] "/dev/tty.○○○○○○"
  [1] "/dev/cu.○○○○○○"
  [2] "/dev/tty.Bluetooth-Modem"
  [3] "/dev/cu.Bluetooth-Modem"
  [4] "/dev/tty.Bluetooth-PDA-Sync"
  [5] "/dev/cu.Bluetooth-PDA-Sync"
こんな感じに出なくてもいいです。
ここからArduinoのポート番号を見つけます。
Arduino UNOもしくはMEGA 2560だと
  "/dev/tty.usbmodemfd[数字]"
Arduino Duemilanoveとかだと
  "/dev/tty.usbserial-[ID]"
がArduinoのポート番号になります。
このポート番号の横の番号を
  arduino = new Arduino(this,Arduino.list()[0]);
の[0]と入れ替えてやってください
「起動毎に変わるからめんどくせぇ」と思う方は、
  arduino = new Arduino(this,"ポート番号");
にすれば指定のポート番号に接続してくれます。

6.パソコンがArduinoを認識しているか
上記の2でショートを起こしてる場合があります。
もう一度USBを抜き差ししてください。

また大抵のMacなら勝手に認識しますが、Windowsや古いArduinoだとそうでない場合があります。
そういう時は、面倒なので先輩や先生に聞きましょう。学校のWindowsならMac使え!
Googleで検索するのもひとつのお勉強ですよ。(検索ワード:arduino ftdi ドライバ)

7.ライブラリが入っているか
これは別にセンサーやプログラムの問題ではないですが…。
学校のMacなら大抵入ってます。自分のパソコンだと入ってないかもしれません。
(最近のProcessingなら元から入ってる?)
1.http://arduino.cc/en/Main/Software(間違ってました)
http://www.arduino.cc/playground/interfacing/processing でライブラリをダウンロード
2.書類のProcessingのフォルダにlibrariesフォルダを作って、先ほどのファイルを解凍したフォルダを入れる

これについては少し詳細にした記事があります。

なにかあれば、また聞いてください。

文責:目次護 tag: [Arduino][Processing]

テーマ : ゼミ
ジャンル : 学校・教育

プロフィール

Moonwalkers

Author:Moonwalkers
メディアアート、インタラクティブメディア制作ゼミ

最新記事
タグクラウドとサーチ

カテゴリ
月別アーカイブ
ディクテーション
Polyglot Free Language Lessons Online
リンク
Twitter
検索フォーム
RSSリンクの表示
QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。