septiembre 22, 2016 admin

El controlador MIDI más simple del mundo: Un potenciómetro

A continuación vamos a presentar la manera de hacer el controlador MIDI más sencillo del mundo;  Un potenciómetro. Para ello necesitaremos lo siguiente:

Hardware

Arduino Uno

tres cables (En el ejemplo del comienzo usé tres pinheader tipo hembra-macho)

Un potenciómetro de 10k

Cable USB tipo B

(Eventualmente podrían necesitar una protoboard y cables para hacer las conexiones).

Software

Arduino (https://www.arduino.cc/en/Main/Software)
Dfu-programmer (Linux y mac, para windows probar atmel flip) (https://www.arduino.cc/en/Hacking/DFUProgramming8U2)

HIDUINO (https://github.com/ddiakopoulos/hiduino)

 

Descripción general
Vamos a hacer un controlador MIDI utilizando un potenciómetro, cargar un código sencillo en el arduino y cambiar el bootloader por HIDUINO para obtener una interfaz MIDI vía USB.

Paso uno – conexiones

En este ejemplo tomado de la página de Arduino se usaron cables soldados al potenciómetro.

 

Paso dos – Cargar el código al arduino
#include <MIDI.h> // Incluimos la libreria MIDI

// Variables para el potenciómetro
int cc = 0;
int AnalogV = 0;
int lastAnalogV = 0;

MIDI_CREATE_DEFAULT_INSTANCE();

void setup() {
MIDI.begin(); // Inicializamos la comunicacion midi (realmente es serial)

void loop(){

AnalogV = analogRead(2);
// convertir en rango de 0 a 127
cc = AnalogV/8;

// checar si el valor a cambiado

if (lastAnalogV != cc) {
MIDI.sendControlChange(16,cc,1);
// actualizar la variable lasAnalogV
lastAnalogV = cc;
delay(25);
}

}

Paso dos – Cambiar el bootloader por HIDUINO
Vamos a poner nuestro Arduino en modo DFU (seguir estas instrucciones), reemplazar el bootloader que viene por defecto para cargar sketches y vamos a poner el que nos permite usarlo como una interfaz MIDI USB. Debemos considerar que mientras el Arduino esté con el bootloader de HIDUINO no podrá subirse sketches de manera regular como lo solemos hacer con el UNO. Debemos reemplazar por el archivo original (algo como  Genuino-COMBINED-dfu-usbserial-atmega16u2-Uno-R3.hex que está ubicado en nuestra carpeta de instalación del software de Arduino.)

Paso tres – conectarlo y utilizarlo en una Plataforma que soporte MIDI 

En este caso lo conecté a Ableton Live y asocié el parámetro (pantalla MIDI mapping) al filtro de un canal de audio.

Cerrando

Todos estos y otros asuntos los veremos en el taller de construcción de controlador MIDI que estamos ofreciendo actualmente en CDMX.