Electronique > Réalisations > Interfaces > Interfaces MIDI > Interface MIDI 009

Dernière mise à jour : 07/08/2011

Présentation

Cette interface MIDI permet de générer une suite d'événements MIDI de type Control Change lors de la récéption d'événements MIDI de type Note On.

interface_midi_009_pcb_3d_a

Elle a été conçue pour des besoins scéniques, à savoir piloter des jeux de lumière DMX à partir d'un clavier MIDI quelconque, selon des séquences prédéfinies à l'avance et non modifiables durant le live.

Schéma

Le schéma qui suit est très proche de celui de l'interface MIDI 007, ce qui est normal puisqu'il en reprend la structure de base, à savoir un PIC 16F628A encadré par deux prises MIDI In et Out.

interface_midi_009

Fonctionnement général
Le circuit est basé sur un PIC 16F628A dont on exploite l'interface matérielle UART pour la gestion des évenements MIDI reçus (Note On) et des événements MIDI envoyés (Control Change). Le logiciel du PIC attend en permanence la réception de données MIDI sur son entrée RB1/RX, et dès qu'une donnée est réceptionnée, elle est analysée. S'il s'agit d'une note valide parmi celles attendues, le logiciel émet une suite d'événements Control Change sur la sortie RB2/TX.

Correspondance entre notes MIDI reçues et messages Control Change émis
Je ne vais pas noter ici la totalité des événements traités car il y en a plusieurs centaines. Pour faire bref, disons simplement que si la Note MIDI réceptionnée est le Do2, alors une première suite de 43 événements Control Change est émise, chaque Control Change ayant un index (numéro de contrôleur) compris entre 1 et 43 et une valeur comprise entre 0 et 127. Et si la Note MIDI réceptionnée est le Ré2, alors une seconde suite de 43 événements Control Change est émise (complètement différente de la première), chaque Control Change ayant là aussi un index (numéro de contrôleur) compris entre 1 et 43 et une valeur comprise entre 0 et 127. Dans chaque série, un certain nombre de Control Change servent à modifier l'état d'un jeux de lumière parmi tous ceux installés.

Circuit d'horloge / base de temps
Les lignes RA7/OSC1 et RA6/OSC2 du PIC sont utilisées pour y connecter un quartz de 20 MHz avec ses deux condensateurs de pieds reliés à la masse. Le circuit peut aussi bien fonctionner avec un quartz de valeur comprise entre 4 MHz et 20 MHz, vous avez donc le choix. Bien sûr une recompilation du programme est nécessaire si vous optez pour une valeur autre que celle que j'ai choisie arbitrairement et qui est de 20 MHz. Je déconseille ici l'usage de l'oscillateur interne 4 MHz du PIC car le circuit doit pouvoir être utilisé en conditions scénique un peu rudes.

Entrée MIDI
L'entrée MIDI est classique, elle est composée de l'optocoupleur U2 raccordé sur la prise DIN 5 broche J1, via une résistance de limitation de courant (R1) et une diode (D1) protégeant l'optocoupleur en cas d'inversion des deux fils d'entrée de la prise DIN (broches 4 et 5). La sortie de l'optocoupleur, de type NPN, permet de récupérer le signal MIDI au format TTL, grâce à la présence de la résistance de rappel R2 reliée au +5 V. Les données MIDI ainsi mises en forme aboutissent à l'entrée RB1/RX du PIC. Lors de l'arrivée de données MIDI de type Note On, la LED D2 s'illumine pendant quelques dizaines de ms, même si les notes reçues ne sont pas gérées par la suite et qu'elles ne conduisent pas à l'envoi de messages Control Change. Juste pour donner une indication visuelle de la bonne réception des notes, ce qui peut s'avérer utile pour localiser tout problème éventuel.

Choix du canal MIDI de réception
Pour cette application les événements MIDI d'entrée et de sortie sont tous réglés sur le canal MIDI 13, valeur imposée par l'interface MIDI -> DMX du demandeur. Mais rien n'excluerait l'exploitation des lignes RB3 à RB6 du PIC s'il fallait pouvoir modifier le numéro de canal, exactement de la même façon que celle adoptée pour mon interface MIDI 007.

Sortie MIDI
La sortie MIDI est standard et on dispose des trames (séries) de Control Change sur la ligne RB2/TX du PIC. On retrouve les deux résistances de limitation de courant R3 et R4 qui arrivent sur les broches 4 et 5 de la prise DIN de sortie MIDI Out. La borne 2 de la prise MIDI Out doit être reliée à la masse.

Alimentation

L'alimentation du PIC est de +5 V et on peut se contenter d'une alim simple basée sur un régulateur de tension de type LM7805 ou 78L05 comme celle décrite à la page Alim simple 001. Pour vous simplifier la tâche, la partie régulation est prévue tant au niveau schéma qu'au circuit imprimé, il ne vous restera plus qu'à vous procurer un bloc secteur dont la tension de sortie est comprise entre +9 V et +15 V. La consommation globale du circuit est relativement faible puisque inférieure à 50 mA, vous pouvez donc adopter une alimentation secteur de très petite taille dont le courant maximal pourra n'être que de 100 mA. La tension du bloc secteur doit arriver sur le connecteur J3 : masse alimentation (0 V) sur la broche 1 de J3 et pôle positif de l'alimentation sur la broche 2 de J3. La diode D3 protège le circuit contre toute inversion de polarité accidentelle de la source de tension. 

Choix d'autres optocoupleurs

Il est possible d'utiliser d'autres optocoupleurs pour l'entrée MIDI, voir page Interfaces MIDI pour plus de détails. 

Brochage des prises MIDI

Câblage valable pour les prises MIDI IN, MIDI OUT et MIDI THRU.

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.

Logiciel du PIC

Le fichier binaire compilé (*.hex) est disponible dans l'archive dont le lien suit.  
Interface MIDI 009 - PIC 16F628A - Version du 31/07/2011
Pour ce projet développé sur demande et dans un cadre professionnel, le code source n'est pas disponible. Voir page Logiciel PIC - Sources pour plus de détails.

Circuit imprimé

Réalisé en simple face avec les deux connecteurs MIDI In et MIDI Out (DIN 5 points) directement implantés sur le circuit. 

interface_midi_009_pcb_composants

Vous pouvez aisement diminuer la taille du circuit en mettant deux connecteurs deux ou trois points à la place des connecteurs DIN et en déportant ces derniers dans votre boîtier. Cette façon de faire vous permettra peut-être en outre de vous simplifier la vie pour la mise en boîte.

Typon aux formats PDF, EPS et Bitmap 600 dpi

Historique

07/08/2011
- Ajout régulateur de tension de façon à rendre le circuit plus autonome (fonctionnement avec un bloc secteur classique du commerce 9 V à 15 V).
- Réalisation du typon.