sábado, 20 de julio de 2019

Convertir teclado piano basico en teclado MIDI

Tomaremos un teclado básico Casio y lo transformarnos en un sintetizador MIDI, con la ayuda de un arduino.

Advertencia: si estás tratando de convertir un piano viejo, malo o en desuso en un teclado MIDI es por qué ya te manejas bien en los proyectos echos con placas arduino y entiendes como funciona el protocolo MIDI... Si no es el caso, te recomiendo que leas el artículo anterior y veas los vídeos relacionados.

El teclado más económico que pude conseguir en internet fue un Casio ma-120... De este teclado solo vamos a rescatar solo la placa de los pulsadores y las teclas... Todos los otros componentes y botones los vamos a desechar.



Antes de seguir debemos entender cómo es que funciona un teclado y cómo es que administra las teclas, para poder implementar correctamente nuestro proyecto.

Con el fin de simplificar la administración de tantos pulsadores los teclados usan una disposición de matiz, algo así como los casilleros en un tablero de ajedrez

Esta es la misma tecnología que encontramos en los teclados de un notebook o un PC de escritorio y es la misma que usan los teclados profesionales con la diferencia que estos usan matrices de 3 dimensiones para calcular la sensibilidad de las teclas (pero eso ya es otra historia)

En resumen, en una matriz existen dos tipos de elementos los "emisores" y los "receptores". Por lo tanto en una matiz pueden haber tantos elementos como la multiplicación de emisores por receptores ... Por ejemplo 4 emisores por 4 receptores pueden administrar una matriz de 16 elementos (4X4=16).



En el caso particular del Casio ma-120 tiene un teclado de 49 teclas, cuatro octavas más el último "Do". Para poder administras esas teclas usa una matriz de 6x9 (6x9 es 54 pero en matrices siempre debemos redondear a la matriz superior, por lo tanto hay 5 elementos que no usaremos). 9 emisores y 6 receptores.

Cada teclado es diferente y cada fabricante hace las cosas de una manera distinta, pero por lo general en teclados se usan matrices múltiplos de 6. ya que cada octava se compone de 12 tonos, por lo que no es difícil dividir un teclado en fracciones de 6 teclas. Independiente del largo del teclado.



Ahora tenemos que identificar en nuestro teclado cuales cables corresponden a emisores y cuáles a receptores y sus correspondientes secuencias... Y no, no se encuentran ordenados ... como dije: cada fabricante los pone en diferente orden, que a su vez, solo responde al tramado de pistas en el PCB y no a un orden lógico.

Para hacer esto lo podemos hacer de dos maneras : mirando las pistas en el PCB o con un tester midiendo continuidad probando todas las combinaciones de cables posibles. Con esto nos podemos hacer una idea clara de para que se usa cada cable y en qué orden... Y sería ideal tener muy claro esto antes de empezar... Pero, personalmente creo que basta con poder identificar el grupo a cual pertenecen (emisor o receptor) ya que el orden de los receptores lo podemos manipular por código en el programa que cargaremos a Arduino y el orden de los emisores se puede modificar si dejamos los conectores independientes como lo hice yo.

Los emisores atacan un grupo de 6 teclas que están consecutivas y su secuencia no necesariamente sigue un patrón en el teclado (pueden ser bloques del principio o del final) y en el caso del último Do solo atacan esa tecla.

En cambio los receptores atacan a una única tecla en un bloque de 6 teclas y siempre serán seguidas del siguiente receptor y este patrón se repetirá cada 6 teclas por todo el teclado y mantendrá un orden inalterable.

1 comentario: