Controlador Arduino personalizado MIDI (12 / 14 paso)

Paso 12: Programación con los codificadores

Bibliotecas de codificador

La forma más fácil de usar codificadores en tu programa es utilizar una biblioteca de codificador. He utilizado el biblioteca de codificador PJRC.

Utilizar en su dibujo, copia la carpeta del codificador en la carpeta de 'bibliotecas' de Arduino, reinicie el IDE de Arduino e incluyen el archivo de encabezado en su bosquejo, añadiendo esta línea en la parte superior de su archivo:

Más sobre las bibliotecas en la Arduino sitio.

Entonces simplemente crear a un miembro de la clase de codificador:
Nombre del codificador (pin_1, pin_2); donde nombre es el nombre que desea darle al codificador, y pin_1 y pin_2 son los pines donde se conecta el codificador.

Eso es todo, sin problemas con interrupciones, la biblioteca encarga de todo para usted.

Cuando se necesita el valor del encoder, simplemente use:
Name.Read(); donde nombre es el nombre se le dio anteriormente. La función read devuelve un largo.

Si lo desea, puede tomar un vistazo a los ejemplos que vienen con la biblioteca. (Archivo > ejemplos > codificador)

Mensajes relativos

La función read devuelve un valor absoluto para la posición (que se restablece cada vez Desconecte la corriente, sin embargo, a diferencia de un potenciómetro). Esto es perfectamente bien para la mayoría de las aplicaciones, pero MIDI es diferente: utiliza números relativos de codificador rotatorio. Lo que esto significa es que el controlador envía la diferencia entre el nuevo y el viejo valor del codificador, así que si por ejemplo el último valor de la función leer era 96, y gire el codificador hacia la derecha para el 1 paso, el nuevo valor será 97 obviamente, pero el Arduino no debería enviar a 97. En cambio, envía la diferencia: 97-96 = + 1. Si usted gira hacia la izquierda 1 paso, sería -1. Simple.

¿Qué pasos? Si se giran el codificador rápidamente para, digamos 4 pasos, hay 2 cosas que le pueden pasar:, Arduino envía su MIDI lo suficientemente rápido para leer el codificador al menos 4 veces mientras que usted gire. Esto significa que enviar 4 mensajes con '+ 1'. Dos, si no es lo suficientemente rápido como para refrescar la función de leer 4 veces, descubrirá que la función de leer ha cambiado más de 1 paso desde la última vez. Por ejemplo, valor último de la función leer 97, gire a 4 pasos y volver a leer. Esto le dará 101: 101 - 97 = 4. No hay problema, el Arduino solo enviará 1 mensaje con '+ 4'.

Puede haber algunos problemas de compatibilidad, debido a que realmente no puede enviar números negativos sobre MIDI. Hay tres formas de enviar la señal de un número.

  1. Añadir 64. Este es probablemente el más simple. Esto básicamente asigna 0 a 64 (que es 128/2). Por ejemplo, si quiero enviar -1 Añadir 64 = 63 y lo envíe. Si quiero enviar + 1, también añadir 64 = 65. Si envío a sólo 64, el equipo no hará nada, porque sabe que es un desplazamiento de 0. (En el lado de la computadora, sólo restan 64, y se puede utilizar el resultado como si nada ha pasado).
  2. Bit de signo. En equipos, sobre todo se guardan los valores firmados con un bit de signo. El bit de signo es el bit más significativo. Cuando es 0, el definido por los otros bits es positivo, cuando es 1, el número es negativo. En un mensaje MIDI, esto es de tipo bit 6 (el bit 7, ya que es basado en 0). Por ejemplo: + 4 sería 0b00000100 y -4 sería 0b01000100.
  3. Una tercera manera es definir + 1 como 0 y -1 127. Podemos seguir esto: + 2 = 1 y -2 = 126, etc. hasta + 63 = 63 y = 65 -63.

Por lo tanto, si tu codificador hace cosas extrañas en su software en concreto, como saltando muy lejos si sólo gira un paso, puede cambiar esto en su programa.

Sin embargo, tal vez usted realmente no necesita escribir su propio programa de...

Artículos Relacionados

Controlador de DJ MIDI de estilo arcade

Controlador de DJ MIDI de estilo arcade

>>> esto no es muy acabado pero ya armado un poco del circuito. Voy a actualizar el instructivo y subir un video cuando se ordena <<<He sido DJ por cerca de 10 años, y para los últimos he intercambiado buena viejo vinilo moda vinilo virt
Interfaz Arduino USB MIDI

Interfaz Arduino USB MIDI

Hace unas semanas comencé a trabajar en un controlador MIDI con Arduino y ATmega32. Lo hice no terminado proyectado todavía. Está en desarrollo.Usted puede leer toda la historia aquí http://openhardware.ro/arduino-usb-midi-controller/.Pero durante lo
Señal de tráfico / luz de freno cables con controlador Arduino

Señal de tráfico / luz de freno cables con controlador Arduino

siempre ha querido una vieja señal de tráfico y finalmente consiguió uno recientemente.  Sin embargo, fue muy simple cableado para que todas las luces estaban fijos en.  ¿Qué divertido es esto?  También quería probar un controlador Arduino y pensé qu
Controlador Arduino DIY

Controlador Arduino DIY

mi Instructable primer es sobre cómo construir tu propio controlador Arduino!Usted puede construir en un protoboard, pero prefiero la soldadura mi propia. Para uso con proyectos. Esta junta wil no sean capaces de programar un chip ATmega. Yo utilice
Cómo instalar controlador Arduino R3

Cómo instalar controlador Arduino R3

Hoy voy a introducir la forma de instalar controlador Arduino R3.Espero útilPaso 1: Paso 1: driver descargar controlador Arduino R3Puede descargar aquí el driver del controlador Arduino R3Paso 2: Paso 2Conecte el cable de kit Arduino a tu ordenadorDe
Cómo crear un controlador de Dj MIDI

Cómo crear un controlador de Dj MIDI

así que esto era un proyecto escolar. Acabo de terminarlo. El documento adjunto al final es todo el proyecto, como lo he escrito bien a mano. Si desea tratar esta build me avisas y te puedo dar algunas sugerencias. También un alza para este proyecto
Controlador Arduino MIDI

Controlador Arduino MIDI

Un controlador MIDI es cualquier pieza de equipo que genera y transmite los datos MIDI para dispositivos compatibles con MIDI. En Resumen, si tiene botones en el controlador de MIDI, puede programar los botones a cualquier sonido que desee a través d
Controlador Arduino Midi con una distancia de ZX y gesto Sensor

Controlador Arduino Midi con una distancia de ZX y gesto Sensor

Bienvenido a este instructable sobre cómo construir un controlador Midi muy básico con la distancia de ZX de SparkFun y Sensor de gesto. Este instructable es parte de una asignación de la escuela.Nota: Se trata de ningún tutorial de codificación. El
Controlador de pie MIDI basados en Arduino DIY

Controlador de pie MIDI basados en Arduino DIY

Llevo muuuucho tiempo con intentar un lazador de guitarra durante un tiempo, pero no me gusta la idea de gastar dinero en un pedal específicos del lazador cuando puedo usar un ordenador para eso y desde que he estado aprendiendo arduino para divertir
Controlador de pie Midi Arduino para Ableton Live

Controlador de pie Midi Arduino para Ableton Live

Soy un geek. Yo lo sé. Me gustan las cosas DIY'ing. Compré una impresora 3d (que está sentado en mi oficina no funciona ahora mismo)... y como construir drones. Yo generalmente morder más de lo que puedo masticar y a menudo tiene que ir a otros para
Controlador de DJ MIDI PACMOD

Controlador de DJ MIDI PACMOD

para el cumpleaños de mi hijo le hice una controladora para DJ diseñado para parecerse a un viejo gabinete arcade de la máquina. Lo que sigue es un breve resumen del proceso para hacerlo, incluyendo el código.El Teensy fue elegido como el cerebro deb
Shield Arduino personalizado y sensores

Shield Arduino personalizado y sensores

Resumen:Este instructable construirá una serie de módulos de sensor de encargo y un escudo de Arduino. Dichos módulos están disponibles en muchas fuentes diferentes, pero los fanáticos de la Web de Instructables probablemente encontraría satisfacción
Controlador Arduino Rgb desde Vb.net

Controlador Arduino Rgb desde Vb.net

Hola, este es mi primer instractables, hoy te voy a mostrar cómo hacer una controladora rgb con un arduino UNO R3, controlado por una aplicación en vb.netCon este proyecto simplemente controlar su tira led y hacer de qué color te gustaperdón por mi i
Controlador de pie MIDI (Pedalera controladora MIDI) para Amplitube 3.

Controlador de pie MIDI (Pedalera controladora MIDI) para Amplitube 3.

Instrucciones de armado y puesta en funcionamiento del Midi pedal.(Pedalera controladora MIDI) para Amplitube 3.Hola, uso habitualmente el programa Amplitube 3 para practicar con mi Guitarra, realmente me gustan mucho los sonidos y posibilidades de c