Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Hace un tiempo cuando era pequeño tenia un teclado funcional que me encantaba tocarlo, aunque solo sabia poquitas notas me encantaba tocarlo, un dia le conecte el eliminador equivocado pero no me habia dado cuenta cuando lo conecte aploague todo muande yaba funcion bienando lo deje ahi conectado es cuando empezo a oler a quemado:(Cuando paso eso si me aguite:c
Pero bueno en ese tiempo no sabia nada de electronica asi que solo llore, tiempo despues ya que me empeze a interesar por la electronica me acorde de ese piano asi que lo abri y empeze a analizar la tarjeta logica que venia adentro pase mucho tiempo intentando arreglarlo, identifique la falla en el circuito integrado principal y un transistor de potencia, buscando por google me doy cuenta que el circuito integrado que es marca Yamaha es algo dificil de conseguir ademas de que es viejito y bueno eso no me aseguraba que quedara funcionando otra
Asi que decidi tomar las partes principales del teclado dañado (Carcasa y la matriz de las teclas) y hacer uno nuevo ya que queria rescatar ese
En este Instructables les contare como lo hize y algunos de los problemas que me encontre en el camino
Asi que partiremos suponiendo que tienes solamente la matriz del teclado ya desmontada
Fournitures:
-Matriz de Teclado (La cantidad de teclas no importa)
En mi caso es de 49 teclas
-Arduino méga
(Para utilizar un Arduino Uno se necesitaria un shift register por que los pines no alcanzan lo cual tambien llevaria a cambiar el codigo)
-MIDI sans poils
-Boucle MIDI
-Synthesia (O cualquier otro VST que acepte como entrada MIDI)
Étape 1: Identifica La Matriz De Tu Teclado
Bueno en mi caso este teclado tiene un cable de 15 pins
Que hize yo para identificar la matriz de este teclado?
Lo que yo hice fue
1.-Colocar el multimetro en continuidad con un caiman en una orilla del cable que viene del teclado (Cable 1) y otro caiman en la otra orilla (Cable 15)
De la parte de atras de mi teclado veo que tiene 49 diodos zener lo que significa que cada tecla tiene un diodo zener asignado y por lo tanto al momento de probar continuidad con el multimetro solo funcionara en un sentido
en mi caso puse la punta roja en el cable 15 y la punta negra en el cable 1
En tu caso puede cambiar es cosa de probar
2.-Presionar todas las teclas y ver cual da continuidad
3.-Anotarlo
4.-Cambiar uno de los dos caimanes, yo cambie el del cable 1 al cable 2 por que el cable 15 tiene una rayita lo cual me hace entender que es comun
Repetir el proceso hasta conseguir la relacion entre los cables o hasta ver una secuencia
En mi caso documente hasta la decima prueba, en la novena todavia me daba continuidad con alguna tecla, en la decima prueba ya no daba con ninguna esto me indica que es una matriz 9x6 o 6x9
Étape 2: Annotations
Étape 3: Matriz Identificada
Despues de identificar todos los cables llegue a la conclusion
Câble 15-10 - Roja (Colonnes)
Câble 9-1 - Negra (Filas)
Siendo la punta que coloque en el cable
Étape 4: Identifica El Diagrama Interno De La Matriz Del Teclado
En la foto vemos un diagrama de una matriz de switchs de 3x4, he determinado que asi es como esta internamente mi teclado por que yo ponia la punta roja del multimetro en la parte de la columna (Cable 15)
y la punta negra en la parte de la fila lo que hacia que el diodo se polarizara directamente y conduciera
Es por eso que si colocaba las puntas al revés no tenia continuidad en ninguna tecla
En mi caso es de 9x6
9 Filas
6 colonnes
La resistencia de la parte de hasta arriba es la configuracion pull up y se aplica a la parte de las columnas
Bendito Arduino tiene una funcion para establecer un pin como PULL UP por lo cual no hay que preocuparse por esa parte
Étape 5: Circuit
Utilizando un Arduino Mega y los pines digitales
Broche 22-Câble 15
Broche 23-Câble 14
Broche 24-Câble 13
Broche 25-Câble 12
Broche 26-Câble 11
Broche 27-Câble 10
Broche 28-Câble 9
Broche 29-Câble 8
Broche 30-Câble 7
Broche 31-Câble 6
Broche 32-Câble 5
Broche 33-Câble 4
Broche 34-Câble 3
Broche 35-Câble 2
Broche 36-Câble 1
Câble 15-10 fils Columnas
Câble 9-1 fils Filas
Étape 6: Codigo
Liens utiles por si quieres sabre mas como funciona el codigo
www.gammon.com.au/forum/?id=14175
www.arduino.cc/reference/en/libraries/midi…
Librerias necesarias.
github.com/nickgammon/Keypad_Matrix
github.com/FortySevenEffects/arduino_midi_…
Programmes nécessaires
projectgus.github.io/hairless-midiserial/
www.tobias-erichsen.de/software/loopmidi.ht…
Codigo
Étape 7: Configurando Los Programas
Una vez teniendo todo instalado y el programa cargado al arduino mega para saber si funciona vamos a configurar los programas instalados
1.- Boucle MIDI
Descargamos el programa lo extraemos, lo abrimos una vez dentro colocamos un nombre en la parte de abajo y damos en mas
Esto nos generara un puerto MIDI
2.-MIDI sans poils
Una vez descargado, instalado y ouvert
-Seleccionamos el puerto del arduino deberia de aparecer como COMx
-Activamos la opcion de debug MIDI messages (Para saber que numero de tecla estamos tocando)
-Para probar que si funciona seleccionamos en MIDI IN Microsoft Wavetable Synth
Una vez comprobado que funciona entonces se puede cambiar el MIDI IN y MIDI OUT al puerto creado en loopMIDI para usarlo en el programa que desees
-Despues vamos a la parte de
Fichier - Préférences
Y cambiamos el baud rate a 9600
-Activamos el SERIAL - PONT MIDI
Probamos
Si por casualidad tu teclado tiene la misma configuration de matriz que la mia entonces tu teclado debe estar funcionando correctamente
Étape 8: Côme Cambiar Las Notas
En caso de que la configuracion de matriz sea diferente pero si da las notas entonces puede ser que la configuracion no sea la misma en ese caso tendrias que cambiar en el codigo de arduino la tecla que corresponde
Primero identifica que tecla da que numero de nota para despues cambiarla en el codigo de arduino
Ejemplo presionas la primera tecla de derecha a izquierda y da la nota 43
Entonces buscas en el codigo de arduino el numero 43 en la primera parte y lo cambias por la nota que corresponde dependiendo del siguiente codigo MIDI
usermanuals.finalemusic.com/Finale2012Win/Content/Finale/MIDI_Note_to_Pitch_Table.htm
Vous utilisez desde la primera octava hasta la quinta octava