Paso 13: Prueba tu dispositivo
Esta sección es un poco complicada ya que los módulos pueden funcionar en uno de tres modos: modo de I2C, modo MIDI o modo serial (debug). Si activar un modo, debe deshabilitar los otros modos. No se recomienda para saltar directamente en modo MIDI porque es imposible depurar el controlador de esta manera.
Si usted está usando sólo un módulo de aquí son los pasos.
- Activar el modo debug en el código.
- Es muy importante que usted comente todas las líneas de código que tienen 'usbMIDI' en ellos de lo contrario que el código no compilará (molesto, pero necesario).
- Seleccione dispositivo 'serie' de las herramientas de Arduino -> menú de tipo USB.
- Sube tu código y abrir a su monitor serial. Asegurar la velocidad de conexión en 9600bps.
- Si el monitor serial es conseguir inundado con salida haber conectado algo incorrectamente o incorrectamente han editado el código para identificar qué pernos están en uso. Como he dicho antes, lo mejor es solo prueba un conjunto de componentes a la vez a diferencia de todos ellos a la vez.
- Si su monitor serial funciona correctamente debería ver alguna salida cuando interactúan con los componentes. Esta salida también le informa de que número de modo es asociado con cada pulsador (para poder cambiar los modos más adelante si es necesario).
- Una vez que todo está trabajando en el monitor serial que ahora puede proceder a MIDI.
- Desactivar el modo de depuración en el código.
- Seleccione dispositivo de 'MIDI' de las herramientas de Arduino -> menú de tipo USB.
- Elimine todas las líneas de 'usbMIDI' comentada anteriormente.
- El controlador ahora es estar dispuesto a enviar mensajes MIDI, y el ordenador debe reconocerlo como un dispositivo MIDI nativo (tan sencillo como eso).
- Ahora no recomendaría saltar directamente a una conexión con el software, algo, descargar un gratis sniffer MIDI (hay muchos por ahí) y prueba sus mensajes MIDI en que primero.
- El sniffer, así como el software, debe reconocer el dispositivo como 'Teensy MIDI'.
- Una vez que están felices con la salida MIDI y proceder a la asignación de controlador con el software deseado.
Si usted está usando más de un módulo aquí son los pasos.
- Pasos el módulo superior para cada módulo (sin ellos Unidos entre sí).
- Activar el modo I2C en cada uno de los módulos excepto el módulo principal. Nunca activar I2C en el módulo principal.
- Otra vez, es necesario comentar todas las líneas de 'usbMIDI'.
- Activar el modo depuración del módulo principal. Así que el módulo principal se ejecutará en modo serie y todos los otros módulos se ejecutará en modo I2C.
- Conecte todos los módulos juntos.
- Comprobar la salida en el monitor serie. Mensajes enviados desde otros módulos de sus ahora deberían aparecer en el monitor serial con los prefijos '(I2C)'.
- Ahora habilita el modo MIDI sólo del módulo principal.
- Elimine todas las líneas de 'usbMIDI' en el módulo principal que comentada anteriormente.
- No necesita realizar cambios en los otros módulos, sólo el maestro.
- Prueba de la salida MIDI en el sniffer MIDI - listo.
- Recuerde que debe conectar todos los módulos juntos y luego conectar el USB. Si se conecta en USB antes de conectar los módulos juntos no habrá ninguna comunicación y congelarán todos los controladores.
Bien, esta toda la operación es un poco enrollada, pero una vez pasar por ella una vez que entenderás lo que está sucediendo aquí. Es seguramente molesto tienes que continuar comentando/tenga las líneas 'usbMIDI' pero es lamentablemente inevitable.
Hay un grado de volubilidad que debe superar al intentar subir desde Arduino a Teensy, especialmente cuando se cambia de modo serial en modo MIDI y hacia atrás. No estoy seguro de lo que causa estos problemas, pero es bueno saber que no hay nada roto y si mantenga reintentando te deben tener éxito.
Una cosa que he notado sobre bricolaje electrónica durante los años es Nunca trabaje la primera vez. Siempre hay un pequeño error de soldado o error de conexión en el camino. No se desanime si las cosas no funcione sin problemas durante el primer intento.
Alguien me preguntó, '¿puedo crear un controlador que se comporta como un módulo y un regulador independiente?'. Con el código ahora mismo, no - tendrías que añadir nuevo código para cambiar los modos. Voy para tratar de solucionarlo en la próxima versión de código. Probablemente será necesario instalar un pequeño interruptor en su PCB.