Antiguo órgano de bombilla - MIDI/OSC controlado (11 / 14 paso)

Paso 11: Software - firmware del microcontrolador

Aunque el Atmega324p no es probablemente el más ampliamente utilizado microcontrolador (uC), la mayor parte de este código funciona bien en la más popular serie atmega168 que se utiliza en los arduinos.  La única modificación sería la implementación de un software UART para el puerto de MIDI desde la 168 serie sólo tiene un UART.  Sin embargo, esa característica podría fácilmente dejar hacia fuera, ya que tengo que admitir, no he nunca enchufado un dispositivo directamente a través de MIDI desde que terminé la prueba que trabajó.

El firmware de la uC está configurado para manejar cualquier entrada desde el puerto de MIDI, puerto USB o ambos simultáneamente.  Conmutación entre modos determina el encaminamiento de los mensajes.  Además, se puede definir la nota de inicio ya sea local o remota mediante el interruptor pulsador frontal.  Cuando el interruptor es presionado, la siguiente nota presionado y lanzado en el teclado establecerá la primera bombilla que esa nota.  Esto obviamente no es una necesidad, sin embargo, encontrar gente un poco menos perplejo en cuanto a lo que están haciendo las luces si ven las bombillas iluminan en secuencia de izquierda a derecha.  Cuando la raíz tenga en cuenta de la clave de su juego en la primera bombilla de luz, las luces tienden a saltar por un poco menos irregular, dependiendo de lo que usted está jugando por supuesto.  Lo bueno es que ya que esto puede ser controlado remotamente, es fácil establecer la clave de tu canción para que actualiza automáticamente cada vez que se cambia (ver la última sección del objeto max4live utilizando Ableton Live).

Cuando se cambia el modo de la unidad, la parte delantera led de un color diferente, que indica si el usuario local tiene control o si es controlado remotamente.  Esto va en bastante inútil pero se ve cool categoría.

La mayoría del software está configurado para manejar los mensajes entrantes (midi/usb).  El cristal externo conduce la uC en 18.423 MHz, para obtener 0% error en 115200 baudios.  Aparte de ir línea por línea mediante el código no hay mucho más para hablar, no dude en preguntar cualquier duda que tengan, los códigos a continuación.  El zip tiene el inlcluding todo proyecto el archivo avrstudio (avrstudio5, recientemente actualizado y convertido todos mis antiguos proyectos, debe también! su mucho mejor que avrstudio4!).  He dejado los archivos individuales de UART puesto que están fácilmente disponibles en otros lugares.

Algunos puntos útiles al escribir para midi.  Necesitarás un reloj UART de 31250 baudios, que significa, para un error de 0%, necesita un cristal con un múltiplo entero de eso.  Que funciona muy bien, puesto que el construido en 8Mhz trabaja fino, o 16Mhz, etc..  Sin embargo, surge un problema al combinar UART MIDI en el mismo chip como RS232 UART.  El "estándar" baudios, 9600, 112500 etc, no funcionan bien con cristales de 8Mhz.  Por lo tanto, que do...well hay dos opciones de trabajo.

1. Utilice el cristal incorporado o similar frecuencia (8Mhz... o 16 Mhz, 20 Mhz etc.) y usar aliasing tasa de baudios para corregir para el usb.

2. aceptar el error en una de sus líneas.  Personalmente, no me gusta esta opción, sé que mucha gente correr cosas a 9600 baudios con cristales de 16Mhz, pero no me gusta.

Así que, aquí está un montón de enlaces a aliasing la velocidad en baudios usando el controlador FT232R.  He hecho esto en un PC y un MAC, funciona muy bien y le permite enviar datos en mucho mayores tasas de transmisión de RS232 fue significado para el.  Por ejemplo, en lugar de un pico a 225 kbps, se puede ir hasta 3Mbps (aunque la mayoría atmegas sólo pueden hacer 2 Mbps).

Cómo hacerlo en OSX (siga los pasos atentamente, realmente funciona, lo prometo)
Y, en un PC
Gran artículo sobre aliasing la velocidad en baudios para usar xbee Controladores MIDI (Sólo PC)

Además, vas a querer hacer referencia a esta página si estás escribiendo código para ocuparse de los mensajes MIDI

Artículos Relacionados

Chispa-e - A base de chispa + Touch OSC controlado conversión de robot de juguete Wall-e

Chispa-e - A base de chispa + Touch OSC controlado conversión de robot de juguete Wall-e

Cuando se trata de lindos robots, el robot de instructables están en la parte superior de la lista, obviamente, el segundo más famoso tiene que ser Wall-e de Pixar. ¿Quién no quiere uno de estos pequeños compañeros corriendo alrededor de su casa limp
Añadir llaves a un sintetizador de Arduino el camino duro-el Blacklord: el órgano donante proyecto parte 2

Añadir llaves a un sintetizador de Arduino el camino duro-el Blacklord: el órgano donante proyecto parte 2

(Nota-Este es mi instructable 20! Gracias a todos los siguientes y commenting.on mis proyectos y a los funcionarios que hacen esto posible. Este sitio definitivamente me ha hecho llevar mi juego al Banco de trabajo.)El sintetizador granular Auduino p
Construcción de una controlador de Midi básico parte 1 - 3 fácil olla (potenciómetro) Arduino Uno efectos controlador Midi (serie-USB)... Rápido, fácil y barato!

Construcción de una controlador de Midi básico parte 1 - 3 fácil olla (potenciómetro) Arduino Uno efectos controlador Midi (serie-USB)... Rápido, fácil y barato!

Hola a todos,Soy relativamente nuevo en Arduino y así han estado luchando contra mi manera de hacer mis propios controladores midi. Hay una gran cantidad de información alrededor pero no pude encontrar un tutorial simple para un dispositivo tan simpl
Fácil bajo MIDI pedales

Fácil bajo MIDI pedales

Un amigo guitarrista ha sido actuar durante años con un sistema de Moog Taurus pedales. Mientras el gran sonar, son pesados, frágiles y consigue ser demasiado valioso como para tomar en club conciertos. Lo que necesitaba era unos pedales que generó M
Controlador MIDI Arduino - techshop con scarff boarduino

Controlador MIDI Arduino - techshop con scarff boarduino

he mirado en un número de soluciones diferentes de arduino para MIDI. Mi concepto de proyecto implica más de 100 entradas analógicas que cada sentido velocidad y proporcionar una salida MIDI.   Utilizando la información de fondo que obtuve de techsho
3D la impresión de un rompecabezas de pirámide 4.000 año de antigüedad y un brazalete trenzado

3D la impresión de un rompecabezas de pirámide 4.000 año de antigüedad y un brazalete trenzado

utilizar SolidWorks para diseño robot partes ' n kits y muchas otras cosas.  También utilizo SolidWorks SolidWorks de enseñar!3D de impresión de un rompecabezas de pirámide 4.000 años... esta lección te llevará a través de las lecciones más básicas d
Lámpara de diseño material reciclada

Lámpara de diseño material reciclada

No ocultarlo, "Me encanta la lámpara!". Cuando veo una lámpara fría, me gusta pensar acerca de cómo puedo hacerlo con lo que encuentro por mi casa. Entonces generalmente resulta que no tengo todo lo que necesito y todos los de mi Instructable es
Informática programación 101

Informática programación 101

Usted puede han pegado por el pub escuchando tus compañeros nerd hablar de computadoras, sintiéndose un poco excluido.Este pequeño tutorial te dirá todo lo que necesitas saber acerca de comuter lenguajes de programación.El cuadro de arriba representa
Botella de whisky lámpara colgante

Botella de whisky lámpara colgante

Me gusta mucho el aspecto de la botella de Jack Daniel y necesita una lámpara de colgar en mi hombre de la cueva así es cómo esto llegó a ser. Este es un bar botella de 1L de tamaño pero creo que es posible hacer este proyecto con un estándar de 750m
'Imposible' Pyramid Puzzle - muestras de Material para impresión 3D

'Imposible' Pyramid Puzzle - muestras de Material para impresión 3D

¿Necesita una calibración del modelo de su impresora 3D de escritorio, pero odio tener toneladas de cubos perdidos ahí?¿Quiero probar varias muestras de un servicio de impresión 3D, pero no quiere pagar por un swatch de plástico/metal/whatchamacallit
Arduino Combi-botón de bloqueo con soporte opcional de iOS/Android

Arduino Combi-botón de bloqueo con soporte opcional de iOS/Android

recientemente, decidí que me gustaría tratar de hacer un bloqueo de clave de acceso con mi recién adquirido Arduino Uno, pero todos los tutoriales que pude encontrar hicieron uso de un teclado modificado, algo que no cada Tom, Dick y Harry tienen min
USB Midi dispositivo de Gamepad antiguo

USB Midi dispositivo de Gamepad antiguo

puede gastar mucho dinero en un caro dispositivo USB Midi, o hacer su propio. Usted puede comprar tarjetas de HID USB y construir su propio totalmente desde cero. Para facilitar aún más el proceso, salvar un gamepad USB antiguo y todo lo que necesita
Agregar MIDI a viejos órganos casa

Agregar MIDI a viejos órganos casa

en un anterior instructivo "Cómo a obtener un libre sintetizador" hablé acerca de cómo obtener un "sintetizador" (un órgano casero) para nada. Así, tal vez ahora tienes su órgano casero gratis y quizás ve cool pero no funciona correcta
Controlador MIDI controlado de la llama

Controlador MIDI controlado de la llama

Un gran problema en el mundo de la producción de música digital es mantener esa calidez analógica (que resonaba de tubos y sistemas de casetes) de música digital de hoy en día. Muchos jurarán que sistemas analógicos tienen un sonido que nunca pueda s