miércoles, 29 de octubre de 2008

PrototipoA

Se realizó un prototipo en papel batería con una proporción 2:1 para trabajar en la comunicación con más de una salida, tanto digital como análogica.





martes, 14 de octubre de 2008

SMS Arduino-SCollider-Openframeworks

Código de Arduino para comunicar via SMS a Supercollider

#include "SimpleMessageSystem.h"

void setup() {
Serial.begin(115200);

}

void loop() {

messageSendInt(digitalRead(2));
messageSendInt(digitalRead(3));
messageSendInt(analogRead(5));
messageEnd();

delay(50);
}

Código de Supercollider para recibir via SMS de arduino y enviar via OSC a openframeworks

s.boot;
n=NetAddr("127.0.0.1", 12345) // El IP de regreso y el puerto asignado a SuperCollider.

o=OSCresponder(nil, "/numero", {|timepo, responder, mensaje, direccion| mensaje[1].postln}).add
o.remove
p = ArduinoSMS("/dev/tty.usbserial-A2002nuP", 115200);
p.clear


(
p.action={|...msg|
msg.postln;
g.set(\freq,msg[2]);// recibe datos de arduino SMS
n.sendMsg("/numero", msg[2]) // envia datos a openframework OSC
}
)

p.close;

///////////////////////////////////////////////////

(
SynthDef(\beta1,{|gate=1, ampdist=1.0, durdist=6, adparam=1.0, ddparam=1.0, freq=100, ampscale= 0.5, durscale=0.1, initCPs=12, knum=12, mul=1.0, add=0.0, pan=0|
var sen,env;
sen=Mix(Gendy3.ar(ampdist, durdist, adparam, ddparam, freq*[1,2,2.1,4], ampscale, durscale, initCPs=12, knum, mul));
sen=Pan2.ar(sen, pan);
env=EnvGen.kr(Env.asr(1,0.1,0),gate,doneAction:2);
Out.ar(0,sen*env)
}).send(s)
);

g=Synth(\beta1)
g.set(\gate,0)
g.set(\freq,200)

sábado, 4 de octubre de 2008

Comunicación Supercollider Arduino via SMS

Pasos.
1. Descargar libreria SMS para Arduino e instalar.
2. Descargar repositorios para supercollider e instalar

~ katya$ svn list https://quarks.svn.sourceforge.net/svnroot/quarks
~ katya$ svn status https://quarks.svn.sourceforge.net/svnroot/quarks

3. Colocar este código en supercollider para probar

s.boot;
p = ArduinoSMS("/dev/tty.usbserial-A2002nuP", 9600);
p.clear

(
p.action={|...msg|
msg.postln;
}
)

p.close;

recuerda que la entrada a la que se conecta arduino varia dependiendo de tu equipo, al igual que la velocidad.

4. Coloca este codigo en Arduino.

#include "SimpleMessageSystem.h"
int sensorPin = 2;

int val = 0;

void setup() {
Serial.begin(115200);

}

void loop() {
val = analogRead(sensorPin);

Serial.println(val/4);

delay(100);
}

listo