jueves, 14 de enero de 2016

Arduino MIDI piano LED


Arduino, MIDI, teclado, y Leds


Hola amigos!

La idea es que se enciendan los leds al compás de las notas midi y poder aprender a tocar el piano.
Para esto hace falta:
Una placa Arduino Uno (en mi caso),
Una interface USB-MIDI como el HSR 2.0,
Un opto acoplador para el HSR2.0 de la foto 2,
6 chips 74HC959,
48 LEDs de 5mm, 20 verdes para las teclas negras y 28
amarillos para las techas blancas (una blanca quedó afuera, sorry…).
Resistencias varias.
Y por supuesto un teclado que no tiene ninguna conexión con el Arduino por lo que también funciona para un piano de madera.
En mi caso utilicé un teclado del tipo “Generador de Eventos MIDI” por lo que por sí mismo no genera sonido alguno y lo tengo que conectar al PC y ejecutar algún programa DAW como el Cubase para que finalmente pueda funcionar mi teclado.

Es necesario una PC con dos puertos USB libres como mínimo.
Un USB para el Arduino que una vez cargado el sketch sólo se utiliza para alimentación, y el otro USB es para la salida MIDI al HSR2.0.
Como el Arduino no posee una interface MIDI nativa es necesario fabricar una según foto 2 y agregar la interface USB-MIDI HSR2.0.
NOTA: antes de fabricar interface óptica y usar el HSR2.0 probé SIN éxito muchos programitas como MidiYoke y otros similares.

En mi caso utilicé el programa CUBASE 7 que hay una versión libre que es útil para nuestros propósitos.
Hay muchos tutoriales en la web para aprender a usarlo.
En el Cubase se ejecuta un archivo “ .mid”, luego se silencian las pistas no deseadas.
Una vez que tenemos nuestra pista de midi elegida la copiamos en una nueva pista midi y seleccionamos el canal 2 (modificable desde el sketch) como salida donde está el HSR2.0 y el Arduino.
Se selecciona otra nueva pista en la cual vamos a ejecutar el piano o teclado. Entonces vamos a tener tres pistas en uso.

Aquí les dejo mi experiencia con la placa Arduino Uno junto con el integrado 74HC959 que es un chip que nos proporciona un registro de desplazamiento de 8 bit, ideal para este propósito.
He utilizado 6 de estos chips puestos en pares según el circuito de la foto 1.
Cada uno de los leds enciende en forma autónoma del resto y en el momento en que se hace presente la señal de la nota MIDI, pudiendo encenderse más de uno a la vez.
He utilizado como base para sostener los LEDs y los chips 74HC959 una tira de “Cable canal” que es un plástico blanco que se usa en electricidad para esconder los cables en las instalaciones eléctricas en los domicilios.
Para hacer los agujeros me resultó más simple marcar con marcador indeleble cada tecla del teclado y luego con un taladro de banco con una mecha de 5mm. De manera que los LEDs encajaran por presión sin necesidad de pegamento.

Aquí les dejo algunas fotos y videos: