Electronique > Réalisations > Interfaces > Interfaces MIDI > Contrôleur MIDI 011 [Pro]

Dernière mise à jour : 10/12/2017

Présentation

Ce contrôleur MIDI a été conçu pour "midifier" un clavier dont le câblage est de type non matricé (1 fil par note).

controleur_midi_011_pcb_3d_a

L'ensemble est basé sur un microcontrôleur PIC 18F45K22. Le logiciel a été écrit pour gérer 80 notes, mais le PCB (circuit imprimé) a été dessiné pour gérer 64 notes maximum, soit un peu plus de 5 octaves. 

Schéma

Le microcontrôleur PIC 18F45K22 est cadencé par un quartz de 16 MHz.

controleur_midi_011
Schéma partiel, interface d'entrée 64/80 voies non représentée


Principe de fonctionnement
Le microcontrôleur PIC choisi ici ne dispose pas d'un nombre suffisant de lignes d'entrée/sortie pour y raccorder directement le clavier. J'ai pour cette raison utilisé des expandeurs de port possédant chacun 16 lignes d'E/S. Le PIC travaille avec eux selon deux méthodes "combinées" : par interruptions et par interrogations. Quand une touche est pressée, le logiciel entre dans un mode d'analyse qui évite de prendre en compte d'éventuels parasites (fonction anti-rebond, debounce). Une fois établi qu'une note au moins a été pressée ou relâchée, le PIC élabore le message MIDI correspondant à cette note. Chaque touche du clavier est analysée de façon individuelle, le mode de fonctionnement est polyphonique mais sans gestion de la vélocité.

Numéro de canal MIDI
Le numéro de canal MIDI peut être choisi par l'utilisateur grâce aux cavaliers (ou microswitches) câblés sur les lignes RA0 à RA3 du PIC. Le codage du canal MIDI est standard et répond au format binaire sur 4 bits :
La valeur véhiculée est toujours inférieure de 1 point au numéro de canal MIDI (valeur binaire 5 pour canal MIDI 6, par exemple).

Valeur de vélocité
La valeur de vélocité est par défaut de 100. Elle peut être modifiée par l'utilisateur, en portant la ligne RA4 du PIC au +Alim et en envoyant une note MIDI quelconque sur l'entrée MIDI_IN. La valeur de vélocité des notes délivrées par le contrôleur devient alors celle de la dernière note reçue. Si la ligne RA4 du PIC est laissée à la masse (0V) alors les notes reçues sur l'entrée MIDI_IN du contrôleur ne sont pas utilisées pour définir la valeur de vélocité.

Note de départ
La première note (celle délivrée par la touche Key_1) est par défaut le Do1. L'utilisateur peut la modifier en portant la ligne RA5 du PIC au +Alim et en envoyant une note MIDI quelconque sur l'entrée MIDI_IN. La valeur de hauteur de la première note délivrée par le contrôleur devient alors celle de la dernière note reçue. Si la ligne RA5 du PIC est laissée à la masse (0V) alors les notes reçues sur l'entrée MIDI_IN du contrôleur ne sont pas utilisées pour définir la hauteur de la note de départ.

Brochage des prises MIDI

Le câblage proposé ci-après est valable pour les prises MIDI IN (entrée), MIDI OUT et MIDI THRU (sorties).

midi_din_cablage_001

La borne 2 est reliée à la masse au niveau des sorties mais pas au niveau des entrées, pour éviter toute boucle de masse entre équipements.

Logiciels du PIC

Demande pro, logiciel non disponible sur ce site.
Contrôleur MIDI 011 - PIC 18F45K22 - 21/05/2017

Circuit imprimé

PCB réalisé en double face par mes soins (côté cuivre non montré).

controleur_midi_011_pcb_composants

Historique

10/12/2017
- Première mise à disposition.