環境
MacOS10.4.11
1.5GhzPPC
http://www.arduino.cc/playground/Interfacing/MaxMSP
のサイトより
SimpleMessageSystemというファイルをダウンロードする。
http://www.arduino.cc/playground/uploads/Code/SimpleMessageSystem.zi
解凍後、フォルダごと
app \ arduino \ hardware \ libraries \ SimpleMessageSystem
となるように入れる。
その後、arduinoを起動。
File > examples に SimpleMessageSystemがあるかを確認し、
実行して出てきたプログラムをarduinoに書き込み
以下プログラム
オブジェクト内のserialを書き換える。
これでmax上のトグルからpin13のLEDが制御できれば成功。
*これでarduinoが認識しない場合、arudinoのプッシュスイッチを押す事で認識するはず。
〜改良パッチ編〜
先ほど使用したmaxのパッチの改良版が以下からダウンロードできる。
http://blog.soundsorange.net/category/gear-hardware/
ダウンロードしたフォルダ内のファイルを
libraries \ SimpleMessageSystem\MaxMspExample
内に上書きして保存
SimpleMessageSystem.mxbを開き、先程の要領でserialを書き換える。
*なおサンプルファイルのpin13を光らせるオブジェクトの書き方が間違っているので修正。
#includevoid setup() { 200 with the USB version, that's 12x faster Serial.begin(9600); } void loop() { if (messageBuild() > 0) { switch (messageGetChar()) { case 'r': readpins(); break; case 'w': writepin(); } } } void readpins(){ switch (messageGetChar()) { case 'd': messageSendChar('d'); for (char i=2;i<14;i++) { messageSendInt(digitalRead(i)); } messageEnd(); break; case 'a': messageSendChar('a'); for (char i=0;i<6;i++) { messageSendInt(analogRead(i)); } messageEnd(); } } void writepin() { int pin; int state; switch (messageGetChar()) { case 'a' : pin = messageGetInt(); state = messageGetInt(); pinMode(pin, OUTPUT); analogWrite(pin, state); break; case 'd' : pin = messageGetInt(); state = messageGetInt(); pinMode(pin,OUTPUT); digitalWrite(pin,state); } }
書き込みに成功したら、 libraries \ SimpleMessageSystem\MaxMspExample\SimpleMessageSystem_analogin.mxb を開く。
maxwindow にエラーが表示されている場合、 printボタンを押しserialを確認。
この改良パッチによってdigtal inにも対応できるようになった。
