Teclado MIDI sencillo Super - Super Simple teclado de MIDI (5 / 5 paso)

Paso 5: Subir código y conectar - Añadir código y conectar

El teclado MIDI se programa usando la IDE de Arduino. Tenés dos maneras de subir el código. Una es usar un conector USB/Serial como el de Adafruit, Arduino o Sparkfun. Conectalo directamente al conector de 6 pines a la derecha y subí el código (recordá elegir correctamente la placa correspondiente al gestor de arranque de tu chip atmega328p).  También podés cargar el código usando la placa arduino y luego retirarlo para colocarlo en el sócalo del teclado.
El código no incluye aún las funciones octava hacia arriba, hacia abajo y de pitch (espero incorporarlas en el futuro pŕóximo). Pero permite tocar las notas de la octava media para probar que todo funcione correctamente. Tampoco hay funciones asignadas por código un los dos potes (otra promesa a futuro). El bosquejo hace uso de la librería MIDI y está basado en un ejemplo extraído de la página de Adafruit

PRINCIPIO DEL CÓDIGO
/*
Este bosquejo se basa en el código de ejemplo de ADAFRUIT
http://www.Adafruit.com/blog/2009/10/20/example-code-for-multi-Button-Checker-with-debouncing/
y aplicaciones MIDI library:
http://sourceforge.net/projects/arduinomidilib/

*/
#include < MIDI.h >
#define DEBOUNCE 10 / botón debouncer, cuantas ms debounce, 5 + ms es generalmente mucho

Aquí es donde definimos los botones que vamos a utilizar. botón "1" es la primera, botón "6" es el 6, etc.
botones de Byte [] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19}; el analógico 0-5 pins también son conocidos como 14-19
Esta macro útil nos permite determinar cuán grande es la matriz hasta arriba, comprobando el tamaño
#define NUMBUTTONS sizeof(buttons)
haremos el seguimiento si un botón es presionado sólo, acaba de lanzar o 'actualmente presionado'
presiona Byte [NUMBUTTONS], justpressed [NUMBUTTONS], justreleased [NUMBUTTONS];

void setup() {}
MIDI.begin(1);             Lanzamiento de MIDI con opciones predeterminadas

byte me;

pin13 LED
pinMode (13, salida);

Hacer entrada y habilitar las resistencias pull-up en las patillas del interruptor
para (i = 0; i < NUMBUTTONS; i ++) {}
pinMode (botones [i], entrada);
digitalWrite (botones [i], HIGH);
}
}

void check_switches()
{
Static byte previousstate [NUMBUTTONS];
currentstate static byte [NUMBUTTONS];
lasttime larga estática;
Índice de bytes;

Si (millis() < lasttime) {}
nos envuelve, permite tratar solo otra vez
lasttime = millis();
}

Si ((lasttime + DEBOUNCE) > millis()) {}
no hay suficiente tiempo ha pasado para debounce
retorno;
}
OK nos han esperado DEBOUNCE milisegundos, permite restablecer el contador de tiempo
lasttime = millis();

para (índice = 0; índice < NUMBUTTONS; índice ++) {}
justpressed [index] = 0;       Cuando empezamos, tenemos claro los indicadores "a"
justreleased [index] = 0;

CurrentState [índice] = digitalRead(buttons[index]);   leer el botón

Si (currentstate [índice] == {} previousstate[index])
Si ((presiona [índice] == LOW) & & (currentstate [índice] == LOW)) {}
solo presiona
justpressed [index] = 1;
}
else if ((presiona [índice] == HIGH) & & (currentstate [índice] == HIGH)) {}
acaba de publicar
justreleased [index] = 1;
}
presiona [índice] =! currentstate [índice];  Recuerde, medios digitales de alta no
}
Serial.println (prensada [índice], DEC);
previousstate [index] = currentstate [índice];   mantener una cuenta corriente de los botones
}
}

void loop() {}
check_switches();      Cuando comprobamos los interruptores a obtener el estado actual

para (byte i = 0; i < NUMBUTTONS; i ++) {}
Si (justpressed[i]) {}
MIDI.sendNoteOn(44+i,127,1);
}
Si (justreleased[i]) {}
MIDI.sendNoteOff(44+i,127,1);
}

}
}

FINAL DEL CÓDIGO

La placa puede alimentarse directamente del puerto USB o por el conector de alimentación (7 a 15 voltios / positivo al medio). El interruptor (puente o) ubicado a la derecha (cerca del conector de 6 pines) debe estar en la posición corresponda a cada caso. Recordá desconectar cualquier dispositivo MIDI de la placa para cargar el código ya utiliza los mismos puertos de comunicación en ambos casos. Eso es todo! Solo resta conectar un cable MIDI entre el teclado y un dispositivo con MIDI in espero que lo disfrutes. Si hacés algo con él, mostrame! Rercordá podés hackear cualquier dispositivo con botones para transformarlo en un dispositivo MIDI con esta placa.  Gracias po tu atención!
Jorge (Laboratorio de Juguete)

---------------------------------------------------------------------

Puede programar este teclado usando el IDE de Arduino. Hay dos maneras de subir el código. Uno está usando un típico USB Adaptador Serial como los de Adafruit, Arduino o Sparkfun (otros adaptadores no pueden tener el mismo pinout pero puedes redirigirlas, basta con mirar las etiquetas en el conector de seis pines en la siguiente imagen). Si tienes uno de esos, sólo conéctelo a la Junta. No olvide elegir el mismo tablero del gestor de arranque tu atmega tiene dentro.   Si no tienes alguno de estos adaptadores puede también programar el chip en la placa de arduino, a continuación tire de ella hacia fuera un puesto en el conector de teclado.
El código es muy básico y carece de octava arriba / abajo funciones o pitchbend (esperanza para añadirlos en un futuro cercano). Ni sus tienen código asignados a los dos potenciómetros (A4 y A5). El bosquejo utiliza la Biblioteca MIDI y se basa en un ejemplo de página de Adafruit.
El tablero puede ser alimentado por adaptador USB o su enchufe (7 a 15 voltios - positivo al centro). Interruptor (o puente) en la parte superior derecha del tablero debe girarse una de estas opciones.  Recuerde desenchufar cualquier dispositivo midi conectado a la tarjeta cuando intenta código ulpload puesto que utiliza el mismo puerto para dos comunicaciones. Eso es todo. Recuerde que puede usar esta tarjeta para hackear cualquier dispositivo con botones y convertirlo en un controlador MIDI. Mientras tanto, sólo el tablero utilizando un cable midi a un teclado o módulo de sonido con conector MIDI IN y disfrute! Gracias por su atención!
Jorge (Laboratorio de juguete)

Artículos Relacionados

Super Simple Firestarter

Super Simple Firestarter

hoy voy se que muestra cómo hacer un iniciador de fuego super simple que funciona muy bien. Su super sencillo ya que requiere sólo 3 ingredientes, mejor aún probablemente ya las tiene!  Si eres un niño, como yo, haz un adulto para ayudarle.Ingredient
Super Simple Inductor Joule Thief!

Super Simple Inductor Joule Thief!

¡ Hola todos! En este Instructable te mostraré cómo hacer tu propio ladrón de joule inductor simple, en poco menos de 10 minutos! Este circuito es tan simple, incluso aquellos no familiarizados con la electrónica puede probar como su primer proyecto!
Super Simple truco tarjeta

Super Simple truco tarjeta

Hey todo el mundo le mostrará cómo hacer un truco super simple tarjetaDisfrutar dePaso 1: Reúna sus materiales NecesitaUna baraja de cartasPaso 2: Shuffle Ahora sacar cuatro de los ases y los puso a un ladoMezclar el resto de las cartasPaso 3: truco
Tren de beso (mantener, Super Simple)

Tren de beso (mantener, Super Simple)

¡ Construya usted mismo un juguete divertido, durable para casi ningún costo! Utilice un trozo de 2 x 4, lo hacen de la madera de palet.Diseñé este tren en la década de los 80 cuando yo tenía 2 niños, 2 y 3 años de edad. Mi presupuesto era limitado a
¿Mi pan de ajo Super Simple acceso directo

¿Mi pan de ajo Super Simple acceso directo

necesita ajo pan ir con espagueti en un flash? Prueba mi receta Super Simple atajo pan de ajo!Paso 1: Paso uno: reunir los ingredientes Precalienta el horno a 350 grados. Se reúnen los ingredientes. Para esta receta necesitarás:Gruesa rebanada de pan
Super Simple goma pluma pistola

Super Simple goma pluma pistola

Esta pistola de goma pluma es muy sencilla y tarda aproximadamente 2 minutos para hacer!Vamos a empezar!Los materiales que necesitarás son:1 bolígrafo barato2 bandas de cauchoPaso 1: Desarmar la plumaRetire la tapa, cartucho, la tapa y la pieza de pl
Super Simple Naan

Super Simple Naan

Curry es delicioso. Sabes que el arroz es delicioso con tu plato principal, pero ¿qué pasa si estás cansado del arroz?Una nota de la India y algunos Naan super sencillo. Naan es un pan de yogur que es suave y ligeramente dulce.No sólo es simple pero
Super Simple ayudante de vacaciones

Super Simple ayudante de vacaciones

si usted está en todo como yo, a menudo encontrará que necesitan una influencia calmante durante las vacaciones. Tal vez tienes pimienta rociado al ir de compras en negro el viernes. Tal vez tu primo acaba de decir que echaba de menos su antiguo novi
Super SIMPLE estantería secreta puerta y libro desbloquear mecanismo

Super SIMPLE estantería secreta puerta y libro desbloquear mecanismo

Mucho, me imagino, todos los niños que leer a comics o había visto a Batman o a alguno de los numerosos ejemplos literarios o cultura pop de puertas secretas que conduce a una cueva de murciélagos o paso/cuarto secreto, he soñaba con tener mi propia
Correa ajustable de gafas de sol de paracord (Super Simple)

Correa ajustable de gafas de sol de paracord (Super Simple)

en este Instructable, aprenderás cómo hacer una cincha de gafas de sol extra fácil, súper sencillos paracord. La cuerda de seguridad utiliza una cerradura de cable simple para que sea ajustable y un lazo muy apretado en cada extremo para acoplar a la
Mascarilla del bricolaje y "acondicionador" Super simple

Mascarilla del bricolaje y "acondicionador" Super simple

Muchas veces me he sentido como que necesitaba limpiar mi cara y el pelo de la maldad del día y se dejó poner productos químicos que queman en mi piel y el cabello. Así que con un poco de investigación y un montón de lectura aquí es lo que acabé util
Super Simple arma de la pelotilla

Super Simple arma de la pelotilla

esto va a tirar bolitas de pegamento caliente alrededor de 10 pies!!!!!! SUPER SENCILLO!!! Todo lo que necesitas es una paja y una pistola de pegamento caliente y un Post-It!!!Paso 1: Hacer la munición Para este paso colocar la nota Post-It en una su
Super Simple Gluten Free Peanut Butter (Chocolate Chip) Cookies

Super Simple Gluten Free Peanut Butter (Chocolate Chip) Cookies

Super sencillo Gluten Free Peanut Butter (Chocolate Chip) CookiesHace 2 docenas o más dependiendo del tamaño.Elementos necesarios:Taza de medirCuchara de mezclaCuchara de mesaHornear (antiadherente se muestra)Bandeja de enfriamiento X2Artículos no mo
Dados ATtiny85-45-25 LED (Super simple y barato!)

Dados ATtiny85-45-25 LED (Super simple y barato!)

Si miraras en mi pantalla LED ATtiny85 POV 5, programamos el ATtiny con Arduino. (Si no has visto, haz clic aquí) Que hacer lo mismo para este proyecto LED dados.El costo total de piezas de este proyecto es de $5-$10. (No incluye la placa Arduino y l