Ejemplo 2: Conectando Arduino a un ejemplo pre-existente de Pure Data

El objetivo de este ejemplo es demostrar como conectar Arduino con un patch de Pure Data ya desarrollado. Hemos elegido el ejemplo 25.Example-all_just_data.pd, incluido el paquete estándar de Pure Data, que permite mover una esfera azúl en la pantalla. Para mover la esfera tan sólo es necesario modificar los parámetros X e Y, que son las coordenadas en las que se encuentra el objeto.

La idea es que en vez de modificar dichos parámetros manualmente, lo hagamos mediante un sensor de distancia conectado a la placa Arduino. En principio harían falta dos sensores para modificar los dos parámetros, X e Y, pero para simplificar el ejemplo tan sólo utilizaremos un único sensor que modificará ambos con el mismo valor. En lugar de mover la esfera por cualquier parte de la pantalla sólo conseguiremos moverla a lo largo de la diagonal de la pantalla (sería la recta X=Y). Más que suficiente para el objetivo que perseguimos.

El sensor que vamos a utilizar en el ejemplo es el GP2D120 de Sharp. Un sensor de distancia que funciona con infrarrojos. Agradezco a Angela Ramos que me lo prestase para realizar esta prueba.

Figura 1. Sensor Sharp GP2D120

La conexión del sensor a la placa Arduino es muy sencilla. Tan sólo hay que conectarlo a la alimentación de la placa (Vcc y GND) y la señal que proporciona el sensor (Vo) a la entrada analógica 5 de la placa Arduino.

Figura 2. Conexionado del sensor Sharp GP2D120 a la placa Arduino

Una vez que tenemos la placa conectada tan solo tenemos que activar, a través del objeto Arduino, las entradas analógicas de la placa. Para ello seguimos el apartado Conexión de Pure Data y Arduino.

Posteriormente tenemos que comunicar el objeto Arduino con el patch de ejemplo 25.Example-all_just_data.pd. Para ello creamos tres objetos vacios en el patch de ejemplo:

  • El primero va a ser el objeto Arduino (arduino-test, numerado con 1).
  • Un "message box" para monitorizar los valores que llegan desde la placa Arduino (numerado con 2)
  • Un objeto autoscale que nos escale los valores que ofrece la placa entre 0 y 200, que son los valores mínimos y máximo que soporta el patch de ejemplo (numerado con 3).

Finalmente comunicamos la salida del objeto Arduino con las dos entradas de valores X e Y del patch de ejemplo (marcadas en rojo).

Figura 3. Conexión del ejemplo con el objeto Arduino

Para comprobar que todo funciona correctamente pulsamos el "checkbox" DSP que inicia el patch gráfico (numerado con 4) y observamos el comporamiento del mismo.

Figura 4. Probando el funcionamiento del ejemplo

Video del funcionamiento

Volver

by Igor González Martín 12-10-2006