1.7 Flashear programa y reprogramar el chip usb - dgarcia1985/Arduino-Midi-Wind-Controller GitHub Wiki
Flashear el programa y reprogramar el chip USB
Ahora ya tenemos todas las conexiones necesarias para que el dispositivo funcione, pero necesitamos subir a la placa Arduino el programa para hacerlo funcionar.
El programa está en el archivo midiWindController.ino , lo puedes subir utilizando Arduino IDE. Necesitarás descargar las librerías Adafruit BMP085 y MIDI Library para poder compilar y subir el programa.
Para usar el dispositivo tienes dos opciones
Usar el dispositivo como Midi por puerto de Serie USB
Para esto tendrás que meterte en la carpeta de tu ordenador donde se guardan las librerías y modificar el archivo libraries/MIDI_Library/src/serialMIDI.h
Cambia la línea que pone esto static const long BaudRate = 31250;
por esto otro
static const long BaudRate = 115200;
antes de compilar y subir el sketch de Arduino. Necesitarás usar un programa como Hairless Midi para conectarlo con el sintetizador o DAW que quieras utilizar.
Usar el dispositivo como Midi USB estándar.
Para utilizarlo como un dispositivo midi normal cambiaremos el firmware del chip Atmega16u2 que gestiona las comunicaciones por USB. Si vas a utilizar una placa compatible con Arduino asegurate que tenga este chip ya que hay otros con el chip CH340 que no se puede programar.
Firmware para utilizar la placa como dispositivo MIDI
Para cargar el programa necesitas poner la placa en modo DFU y usar un programador para cambiar el firmware.
En Linux puedes utilizar dfu-programmer instalándolo desde apt-get, synaptics o el gestor de paquetes que utilices.
Para poner la placa en modo dfu puedes hacerlo conectando los pines señalados en la imagen de abajo , algunas versiones más antiguas de Arduino necesitan conectar dos pines en la parte inferior de la placa.
Si desde la terminal pones lsusb modificará como muestra la placa.
Una vez está en modo DFU tendrás que usar los siguientes comandos.
dfu-programmer atmega16u2 erase
dfu-programmer atmega16u2 flash arduino_midi.hex
dfu-programmer atmega16u2 reset
Tendrás que lanzar el segundo comando desde la carpeta en la que hayas bajado el archivo con el firmware, depende de la configuración de tu sistema tendrás que utilizar sudo para ejecutar los comandos.
Una vez hecho esto podrás utilizar el dispositivo como un controlador MIDI en cualquier programa sin necesidad de intermediarios.