Subsistema de visualización. Comunicación con la Matriz LED
Finalmente, ahora que tenemos toda la información MIDI y de audio (de energía de la señal) disponible, necesitamos transmitirle al Arduino las instrucciones necesarias para generar los patrones luminosos que deseemos en la matriz de LEDs. Utilizando el patch ‘as_ledMatrix’ tenemos una interfaz mediante la cual activamos diversas funciones que hemos incorporado en el microcontrolador:
- ON/OFF Apagamos o encendemos la matriz de LEDs activando y desactivando este botón.
- Selección de modo Con estos 4 pulsadores podemos elegir cualquiera de los distintos modos de visualización. Los cuatro están explicados en el apartado de hardware, y son: EQ (SpectrumVisualization, muestra la energía por bandas de la señal), AudioRhythm (AudioRhythmicVisualization, crea patrones de iluminación en función de la información MIDI entrante), Random (PopVisualization, enciende luces posicionadas aleatoriamente en la matriz en función del número de notas tocadas en un intervalo de tiempo), y Demo (ShowcaseVisualization, muestra una serie de imágenes de demostración).
- Asignación de canales MIDI a canales de visualización En el lateral izquierdo del módulo se asignan los canales MIDI deseados a los 4 canales de iluminación que controlan la visualización audiorítmica. A su vez, pueden activarse y desactivarse independientemente.
Una vez encendida la matriz de LEDs mediante el correspondiente botón, se envían distintos tipos de datos a la matriz en función del modo de visualización activado. Los pulsadores de selección de modo mandan bytes de comando que activan en la matriz las respectivas visualizaciones, y una vez elegidas, se envían datos diferentes en función de la visualización activada.
- Para la EQ, lo que se envían son los paquetes de 8 bytes que contienen la energía de cada una de las bandas + 1 byte con la energía total de la señal.
- Para la AudioRhythm se envía la información de nota e intensidad de las instrucciones NoteON de los canales MIDI asignados a cada uno de los canales de iluminación.
- Para la Random se envían números aleatorios entre 1 y 17 cuando llega un mensaje MIDI de NoteON
- Para la Demo, no se envía nada.
Todos estos datos se mandan al microcontrolador formateados según el protocolo que hemos creado para poder establecer comunicación entre el Pure Data y el Arduino, y está explicado completamente aquí.
No hay comentarios:
Publicar un comentario