Paso 7: programación
Lo primero es lo primero, debemos programar la placa Arduino. Si este es su primer encuentro con una placa Arduino, necesitará configurar el IDE de Arduino en tu PC por lo que puede hablar con el Arduino y puede cargar programas a él. Para hacer esto simplemente siga la Guía en la página de Arduino. Usted también necesitará instalar la biblioteca de Timer1 . Descargar y descomprimir a/hardware/libraries/Timer1 /
Edit: A partir de MIDI_Controller_2011-03-21.zip, Timer1 ya no es necesario.
Una vez tu Arduino funcionando, tendremos que cargar un dibujo sobre lo que Lee todos los de la digital y analógico canales y convierte esa información en mensajes MIDI. Los mensajes MIDI son enviados en serie por el cable USB a la PC.
Descargar el adjunto dibujo y subirlo a tu Arduino. El código se ha documentado para que pueda ver lo que está sucediendo. En pocas palabras el código continuamente encuestas de todas las entradas digitales y analógicas para cambios. Si se detecta un cambio presionó un botón o un control deslizante se trasladó, se envía un mensaje de MIDI correspondiente a la entrada a la PC.
Una cosa a notar es que la lógica para cuando un botón es presionado y liberado puede parecer un poco hacia atrás. Cuando se pulsa un botón de la entrada digital se 'baja', y cuando se suelta se 'alta'. Esto tiene que ver con el tirón interno resistencia y los botones de ser conectados a tierra en el paso anterior.
Cuando no hay entrada al pin digital (se presiona ningún botón), la entrada es succionada hasta o alto, por lo tanto el nombre. Así, el estado predeterminado del pin digital es alta. Cada botón era con cable a tierra para que cuando se pulsa un botón, el pin se lea baja.
Historial de revisiones de código:
2012-01-20
-Actualizado soporte Arduino 1.0 (Serial.print actualizado a Serial.write)
2011-10-23
-Agregado por defecto #defines para Teensy 2.0 y 2.0 Teensy++ pins digitales
-Quitado #defines para Teensy 1.0 como usbMIDI no es compatible
2011-04-11
-Código de teensy USB añadido (gracias a Tim Crawford).
-Actualizado con #defines para Arduino Mega y Teensy USB para fácil compilación
2011-03-21
-Quitado TimerOne biblioteca. Cada pin analógico ahora mantiene su propio tiempo desde última se trasladó, en lugar de un contador de tiempo para todos los pines. Esto impide enviar movimientos nerviosos en entradas que no han sido tocadas.
2011-03-14
-Analógico modificado entrada lógica por lo que se actualizan los pernos sólo se movió dentro del período de tiempo, no todos ellos.
-Experimental código agregado para lecturas analógicas de mayor velocidad (pero menos exacta)
-Disminución de longitud de temporizador analógico de 1000ms a 250ms
2011-03-01
-Actualizado salida MIDI para enviar señales MIDI mismo como oficial MIDI Fighter
-Debounce reducida Longitud de 5 ms a 2 ms
2011-02-22
-Lanzamiento