Skip to main content

Practica 6: Primera conexión con Arduino

45 mins

Por fin vamos a conectar Arduino con Pure data y vamos a utilizar nuestro ritmo cardíacocardiaco para controlar el kick drum.

Ahora en lugar de ser la app oscControl la que nos envíeenvie datos a traves de osc, serásera Arduino el que envíe esos datos. En Arduino vamos a recoger y procesar los valores que el sensor de latidos nos dé.de. Tras procesar esos valores vamos a identificar cuándocuando se produce un latido, y cuándocuando ese latido se produzca vamos a enviar un mensaje a Pure data a travéstraves de osc para activar el kick drum. El ritmo de nuestro corazón se va escuchar a travéstraves de los altavoces y sonarésonara como un kick drum. Con este ritmo podríamos controlar cualquier evento de pure data, es un juego de números.  

En Arduino cuando detectamos una pulsación en lugar de encender el LED vamos a enviar un mensaje osc a Pure data para que active el Kick drum.

Instalamos la librería OSC en Arduino con el gestor de BilbiotecasBiliotecas

Pd

Cuando Arduino detecte un latido enviara un mensaje a travéstraves de su puerto serie que tendremos que recibir con pure data. En nuestro caso va a enviar un 1, en Pure data, cuando recibamos ese 1 vamos a activar el kick drum

¿CómoComo vamos a recibir ese mensaje? Utilizando el objeto "comport". En el tendremos que configurar que puerto serie va a escuchar y la velocidad de comunicación. Tanto el puerto como la velocidad tienen que coincidir con las utiliza nuestro Arduino. En mi caso es el COM 5 y la velocidad son 9600 baudios:

image-1668176179296.PNG

image-1668176174779.PNG

Al objeto comport le indicaremos en puerto en el primer argumento y la velocidad en el segundo. El mensaje device imprimirá en la ventanita de Pd la lista de puertos Serial disponibles, tendréis que escoger aquel que coincida con el que utiliza vuestro Arduino. Para abrir el puerto enviaremos el mensaje open, en ese mensaje también podemos especificar el identificador del puerto que vamos a abrir, en mi caso es el 5. Para cerrar la comunicación enviaremos un mensaje con la palabra "close".

image-1668175565522.PNG

Cerrar la ventana de Serial en Arduino para abrir la comunicacion de pure data, si no, no os dejara. Para cargar el programa  a Arduino tambien necesitaremos cerrar el puerto en pure data, de lo contrario nos dará error.

Una vez recibido el mensaje tendremos que decodificarlo, para ello vamos a utilizar el siguiente grupo de objetos. Ahora no vamos a entrar a explicarlo. Simplemente lo utilizaremos tal cual se muestra en la imagen.

image-1668175484615.PNG

A este grupo le llegarállegara el output del objeto "comport", Y de su ultimo objeto "cyclone/fromsymbol" obtendremos la información que Arduino envió por el puerto serie, en nuestro caso es el numero 1. Con ese numero,numero activaremos un bang que activaráactivara nuestro kick drum. Lo haremos de la misma forma que el la práctica de osc pero esta vez utilizaremos un random para que con cada latido se active un uno de los 3 valores iniciales del envelope que regula la frecuencia del kick drum.


image-1668175494969.PNG

RecordadRecordar que tenéis que tener encendido el DSP de pure data para procesar sonido.