Existe una forma ya mas fácil y rápida para instalar el
Quark de Arduino así como todos los demas Quarks.
Primero tienes que ir a http://supercollider.sourceforge.net/
descargar el archivo SuperCollider 3.2 en file releases; bajar el
archivo que dice SuperCollider-3.2-With-Extras e instalarlo en tu
computadora. Después de copiarlo a tus aplicaciones tienes otro
folder que se descargó que dice Optional Installs, dentro de ese
folder tienes otro folder de nombre Quarks, ese folder de Quarks
lo vas a poner en /Library/Application Support/SuperCollider.
Ahora abres tu collider y abres un documento nuevo en donde vas a poner
Quarks.gui y se va a abrir una ventana con todos los Quarks, del lado
izquierdo de cada Quark hay un boton con un signo "-" que significa que
no esta instalado, le das clik sobre el signo menos y va a cambiar a un
signo "+" de color verde, selecciona todos los Quarks que quieras
instalar y cierras la ventana.
Para comprobar que se instalaron correctamente, en tu documento en
blanco de collider escribes Quarks.checkoutAll y te debe de aparecer
una lista en la postwindow con los Quarks que seleccionaste para
instalar, quiere decir que ya estan instalados. Para el quark de
Arduino puedes verificar escribiendo Quarks.install("Arduino") y te va
a aparecer en la postwindow que ya esta instalado. Y listo ya puedes
usar tu arduino con SuperCollider
La union entre estos dos desarrollos tecnologicos suele ser muy util
sobre todo para los usuarios de sc3 ya que podemos aumentar las
opciones de crear nuevas herramientas
Existen diferentes formas de hacer esta conexion, puede ser via
arduino--> pd-->osc-->sc3 o la mas recomendable via SMS ya que
esta forma ocupa menos cpu por lo que es la que ocuparemos.
Simple Message System (SMS) es una libreria para Arduino 004 y
posteriores. Facilita la comunicacion con terminales o mensajes basados
en programas como Pure Data o Max/Msp. Todas las entradas y salidas
seriales pueden ser interpretadas en codigo ASCII.
A parte de la libreria SMS de arduino necesitamos tener un programa que
se llama SVN (SubVersion) que es un software de control de
versiones que reemplaza al CVS. El SVN sigue la historia de los
archivos y directorios a traves de copias y renombrados, crea ramas y
etiquetas, maneja eficientemente archivos binarios y permite el bloqueo
de archivos. Se usa en archivos binarios que, al no poder fusionarse
facilmente, convienen que no sean editados por mas de una persona.
Despues de que tengamos estos programas instalados en nuestra
computadora, necesitamos abrir una terminal y escribir los siguientes
comandos:
~
katya$ svn list https://quarks.svn.sourceforge.net/svnroot/quarks
y ~ katya$ svn status
https://quarks.svn.sourceforge.net/svnroot/quarks
y dar aceptar cuando nos lo pregunte y cuando pregunte si es
permanente, escribe p. Una lista de archivos y quarks se va a desplegar
y listo, ya tenemos instalados los quarks para ser usados en sc3.
Ahora, para instalar el quarks Arduino abres una sesion de
supercollider y tecleamos quarks.checkoutAll y se despliega una lista
en la post window, despues en nuestra sesion tecleamos
Quarks.install("Arduino") y damos enter, ahora si ya esta listo para
usarse en conjunto.
En la figura siguiente se encuantra una foto de la
conexión que debes realizar con el potenciometro en una tableta
protoboard y el arduino.
Vamos a hacer una programación en Arduino y en SuperCollider
para recibir datos desde el potenciómetro.
Abrimos un sesion nueva de arduino y tecleamos el siguiente codigo:
#include "SimpleMessageSystem.h"
int potPin = 0; // selecciona el pin de entrada
del potenciometro
int val = 0; // almacena la
variable que viene del sensor (potenciometro)
int a;
void setup() {
Serial.begin(115200);
}
void loop() {
a = analogRead(potPin); // lee el valor del
potenciómetro
messageSendChar('v');
// manda el valor en un mensaje
messageSendInt(millis()); // junto con el
tiempo que ha pasado desde que prendio el Arduino
messageSendInt(val);
messageEnd();
delay(val);
// detiene el programa por algun momento
}
Compilamos, presionamos el push botton de reset de la tableta Arduino y
lo cargamos.
En una sesion de supercollider escribimos el siguiente codigo:
p = ArduinoSMS("/dev/tty.usbserial-191", 115200);
p.action = { |... msg| msg.postln };
Los numeros 115200 tienen que coincidir con la velocidad de transmision
de datos y los datos /dev/tty.usbserial-191 con los valores del puerto
usb en donde tenemos conectado el arduino. Esto se mira en el
menu Tools/Serial port y en el icono de Serial monitor.
}