fc2ブログ

【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]

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

12/11のゼミ

今回のゼミは、「Ardino単体での動かし方」を学びました。

方法は、Arduino単体で動かすプログラムを作成、インストールして動かします。
これで、PCをつなげなくてもArduino単体で動かすことができるのです。

今回は以前に習った、ボリュームや光センサの値を使ってこの↓モーターを回転させます。
1211-1.jpg
このサーボモーターには茶・赤・オレンジの3色のコードが付いています。
ある角度に設定するとその範囲内で動くので、ロボットの関節に使用されたりするそうです。


まず、Arduinoのプログラミングですが
Arduinoのメニュー>File>Example>Servo>Knob を呼び出し
コピーして新規ファイルにペーストし、コンパイル&アップロードします。
これで、Arduinoの設定は完了です。


次に、回路を接続します。
・ボリュームや光センサを入力ピン0番に接続
サーボモーターを、茶:GND、赤:5V、オレンジ:出力ピン9番に接続
つなげたのがこんな感じです。↓
1211-4.jpg
出力ピンは今まで使ったことがありませんでしたが、
青いコードがつながっているのが出力ピン9番です。


では、ボリュームでモーターを動かしてみます。
1211-2.jpg 1211-3.jpg
わかりずらいですが・・ボリュームを回す角度と同じ分だけプロペラが回っています!


これは、PCにつないで動かしているので
次は、この↓電池で動かしてみます。
1211-6.jpg 1211-5.jpg

電池を接続するための電線をつくりますが、注意点があります。
赤いコードと白いラインが入ったコードをつなげなければならないことです。↑
よく見てつなげましょう。


ボリュームを光センサにかえて、モーターを動かしてみます。
1211-7.jpg 1211-8.jpg
ちょっと不安定ですが、光を当てるとモーターがカタカタ動きました。


今まではPCの周辺に作品の設置場所が限定されていましたが、
これで、PCがなくても電池でArduinoを動かせるようになったので
好きなところに設置できるようになりました。

これまでと違った作品が完成する可能性が広がったと思います。

tag: [Arduino][サーボモーター]

6/12のゼミ

今回のゼミは先週に引き続き「変なマウス」を作るための技術入門でした。

先週はソフトウェアの入門として
アーティストのためのプログラミング言語「Processing」を勉強しましたが

今回はハードウェアの入門です。
勉強したのは、
アーティストのためのハードウェアと呼ばれる「Arduino」

arduino
こんなものです。

電子工作というと、抵抗とか電流の向きとかたくさんのことをかんがえないといけなく、
また何より半田付けという難しい作業があります。
しかし、このArduinoはそれがとても簡単に出来ます。

まず、ブレッドボードっていう穴のたくさん開いた板に簡単なルールに従って
穴に電極を指していきます。
board

そしてこの板と先ほどのArduinoを線で繋ぎ、
ArduinoとパソコンをUSBで繋ぎ、
簡単なプログラムを書きUSB経由でArduinoに転送すると、
なんとLEDが光ったのです!!!
http://blog20.fc2.com/control.php?mode=editor&process=new&cr=eb2624d224bfafd822c8d131c5a8a5ed
パソコンの中で画面を光らせるようなプログラムを作るのはProcessingなどを用いれば
簡単に実現することが可能なのは私も知っていましたが、
現実にあるライトをプログラムで光らせることが
こんなに簡単だとは思ってもいませんでした!!

来週は2週にわたって勉強したProcessingとArduinoを連携させて
より高度なことが出来るようにまた勉強します!

1Qからガラリと雰囲気を変え、新しいことに挑戦し続ける2Qですが、1Qでやったことを振り返りながら
とっても変なマウスを作れるように頑張っていきます!


tag: [Arduino][Processing][光センサー]
プロフィール

Moonwalkers

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

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

カテゴリ
月別アーカイブ
ディクテーション
Polyglot Free Language Lessons Online
リンク
Twitter
検索フォーム
RSSリンクの表示
QRコード
QRコード