Dernière mise à jour :
26/01/2014
Présentation
J'ai réalisé ce contrôleur MIDI qui se base
sur un PIC 16F628A, dans le seul but de délivrer des événements MIDI à
répétition et à un rythme très soutenu, pour tester/valider les entrées MIDI IN de mes réalisations.
Cinq interrupteurs permettent de définir le type de messages à
envoyer sur la sortie MIDI OUT : notes simples ou regroupées (accords),
SysEx (System Exclusive), active sensing, Program Change et Control
Change. Aucune difficulté de réalisation, le circuit est simple et peut
rendre de grands services pour tester des récepteurs MIDI divers et
variés, du commerce ou faits maison.
Schéma
Une copie presque parfaite du
contrôleur MIDI 004 ! Les
boutons-poussoirs ont été remplacés par des interrupteurs, tout le reste est
identique.
Ah non, pas tout à fait. Un cavalier a aussi été ajouté sur l'entrée RA5. Non, ce n'est pas pour une fonction de Reset du PIC.
Principe général
Il consiste à envoyer en boucle des événement MIDI en fonction de
l'état des interrupteurs. Si aucun interrupteur n'est fermé, alors
l'interface ne délivre aucun message sur sa sortie MIDI OUT. La
fermeture d'un interrupteur provoque aussitôt l'envoi de données MIDI
en rafale dans le domaine qui le concerne. Il est ainsi possible
d'avoir une trame composée d'une seule sorte d'événement MIDI, ou une
trame où on retrouve un peu de tout. Pour ne pas envoyer toujours la
même chose, le programme incrémente plusieurs variable à chaque
itération de boucle, ces variables (dont la plage de variation est
limitée) sont utilisées pour le numéro de canal MIDI, la valeur des
notes et de vélocité, de program change, etc.
. SW1 -> Active sensing (volontairement envoyé plus souvent qu'en temps normal)
. SW2 -> Notes seules et accords
. SW3 -> Sysex
. SW4 -> Program Change
. SW5 -> Control Change
Idéal
pour tester la robustesse
d'une entrée MIDI ! Mais comme c'est tout de même un peu sévère, le
circuit autorise aussi quelques pauses de temps en temps. C'est la
raison d'être du cavalier branché sur la broche RA5 du PIC. Quand cette
broche est à l'état logique 0, aucune pause n'est permise, les messages
MIDI se succèdent à un rythme effrené. Si au contraire RA5 est soumise
à l'état logique haut, quelques pauses de quelques ms sont insérées de
temps en temps pour soulager l'appareil en test.
Coeur du montage
Là encore c'est un PIC 16F628A qui
s'occupe de tout. Le programme
analyse en permanence l'état des entrées RA0 à RA4 et détermine s'il
doit ou non envoyer les événements correspondant sur la sortie Tx de l'UART
(et donc en sortie MIDI OUT). Au
démarrage, et quel que soit l'état des interrupteurs, le PIC envoie une
note de courte durée pour indiquer que tout
va bien.
Oscillateur interne ou externe ?
Oscillateur interne avec quartz externe de 4 MHz. Je ne reviendrai pas sur ma décision.
Programmation in situ
J'ai laissé les broches RA5, RB6 et RB7 libres pour
y raccorder un connecteur ICSP, qui permet de reprogrammer le PIC sans le retirer de son support.
Prototype
J'ai réutilisé le proto du
contrôleur MIDI 004. Pratique, hein ?
Comme
dit avant, les broches RA5, RB6 et RB7 permettent la programmation du PIC sur son circuit d'utilisation final
(ICSP) avec un programmateur PICkit2 (ou autre du style, n'importe quel
autre doit convenir pour ce modèle de PIC). Le connecteur utilisé à
cette fin est celui à 5 points situé à côté du quartz, complètement à
droite du circuit imprimé. La première utilisation de ce circuit a été de valider l'entrée MIDI de mon
interface MIDI 015za.
Et je peux dire que ce petit générateur de test MIDI m'a bien
servi, il est bien plus efficace que de plaquer des accords de fou sur
un clavier !
Logiciel du PIC
Fichiers binaires compilés (*.hex) et source MikroPascal (*.mpp*)
fournis (deux fichiers hex, pour usage avec ou sans quartz)
Contrôleur
MIDI 005 - PIC 16F628A - Version du 26/01/2014
Pour obtenir un PIC préprogrammé avec ce logiciel, voir page
Logiciel PIC - Sources .
Circuit imprimé
Réalisé en simple face, rigoureusement identique au typon du contrôleur
MIDI 004. Quand on peut éviter de se fatiguer, n'est-ce pas...
Typon aux formats PDF, EPS et Bitmap 600 dpi
Historique
26/01/2014
- Première mise à disposition.