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.
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.
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.
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.
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 dpiHistorique
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.