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.
miércoles, 29 de octubre de 2008
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)
#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
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
Suscribirse a:
Entradas (Atom)