samedi 23 juillet 2011

Clavier d'orgue électronique et sa matrice

Maintenant que mon Arduino est capable de converser en langage MIDI, ce serait chouette de lui annexer un clavier.  Il existe des solutions plutôt simples comme le shield MidiVox, qui permet de relier un clavier compatible MIDI à l'Arduino; mais je dispose, dans ma caverne d'Ali Baba, de deux claviers récupérés d'un orgue électronique Yamaha Electone des années 1980 et j'aimerais bien les utiliser.

Les deux claviers sont identiques (sur l'orgue, un d'entre eux servait pour la main droite, l'autre pour la main gauche); ils comportent 37 touches (3 octaves) et dans la mesure du possible, j'aimerais bien utiliser tel quel leur circuit de matrice constitué de 37 interrupteurs et 37 diodes reliés à un connecteur à 20 broches (4 des broches de ce connecteur sont inutilisées).

En observant la platine de circuit intégré et en testant mes hypothèses au moyen d'un multimètre, j'ai pu déterminer que toutes les notes séparées d'un intervalle d'un octave sont reliées entre elles par un conducteur ( par exemple, toutes les touches "ré" sont directement reliées à la première broche du connecteur, en haut à gauche).   L'autre côté de chaque interrupteur est relié à une diode, puis à une autre broche du connecteur.  Ainsi, si j'appuie sur le ré le plus grave, on peut faire circuler un courant entre la première broche à gauche et la dernière à droite.  Pour le ré qui se trouve un octave plus haut, le seul trajet conducteur se trouve entre la première broche à gauche et l'avant-dernière broche à droite, etc.

Les paires de broches qui sont reliées par un trajet conducteur permettent de déterminer quelles touches du clavier sont enfoncées.

Maintenant, il reste à voir comment relier tout ça à l'Arduino (je suppose qu'il faudra multiplexer tout ça, question de diminuer un peu le nombre de sorties nécessaires sur l'Arduino), puis concevoir un sketch qui balaiera les différentes paires de connecteur afin de déterminer quelles touches sont enfoncées.

On va bien s'amuser!

(Pour un peu plus d'info sur les matrices de clavier)

Mise à jour (8 mai 2012):  Cet article a maintenant une suite:  Décodage d'un clavier d'orgue par un Arduino

3 commentaires:

  1. Bonjour Yves
    Pour relier ton clavier à l'arduino, il faut une matrice à diodes.
    J'ai un exemple de matrice 8x8 et la connection sur Atméga en .gif, je ne sais pas comment te le passer. Je vais voir si je trouve le site d'origine.
    Amicalement
    michel

    RépondreSupprimer
  2. Re
    Voici le lien:
    http://tomscarff.110mb.com/midi_8x9_keys/midi_8x9_keys.htm
    Tom Scarff est passé de 8x8 avec Atméga 168 à 9x8 avec Boarduino (équivalent Arduino)
    Il y a plein d'autres choses.
    Evidement, il n'y a pas le code, puisque c'est un site commercial.
    On trouve des librairies pour gérer les clavier matriciels, mais je n'ai pas encore réussi à faire fonctionner un clavier 4x3.
    En fouillant, on doit trouver des exemples; si j'en trouve, je te les passe.
    Bon courage.
    michel

    RépondreSupprimer
  3. Merci, je vais y jeter un coup d'oeil!

    RépondreSupprimer

Related Posts Plugin for WordPress, Blogger...