Dernière mise à jour :
07/04/2013
Présentation
Cet indicateur de tempo
MIDI dispose d'un capteur de lumière et réagit à l'illumination d'un voyant indicateur de tempo.
A chaque impulsion lumineuse reçue, il génère une note MIDI qui
peut déclancher un son pour marquer le tempo (son de percussion ou
n'importe quel autre). Comme vous
n'avez pas forcément un générateur de son MIDI sous la main, le montage
produit également un bip autonome dont le niveau (volume) est ajustable
(sortie sur jack). Une LED retranscrit les battements lumineux
captés et permet de vérifier rapidement si tout fonctionne
correctement. Un réglage de sensibilité est prévu pour s'adapter aux
diverses LED qu'on peut rencontrer à gauche ou à droite, celles du
centre étant généralement moins lumineuses. A l'origine, ce montage a
été réalisé
pour envoyer à un batteur, un bip rythmique synchronisé sur la LED
d'un "looper" Boss RC20 (timbre postal non requis). Mais bien sûr il peut s'adapter à
d'autres ustensiles qu'on ne souhaite pas décortiquer (ce serait trop
simple).
Schéma
Le montage est basé sur un microcontrôleur
PIC 16F628A, c'est la solution la plus simple que j'ai trouvée pour
générer des notes MIDI. Si l'élaboration de notes MIDI n'avait pas
été requise, je me serais contenté de
composants logiques traditionnels et non programmables
(un monostable et un oscillateur de dimensions modestes). Mais
ayant inclus le terme "MIDI" dans le titre, il était trop tard pour
faire marche arrière.
Fonctionnement général
Une cellule photorésistive
(photorésistance ou LDR si vous préférez) est placée en regard de la LED
qui indique le tempo. A chaque fois que la LED "tempo" s'allume, la
résistance
de la LDR diminue et cette diminution est mise à profit pour
modifier la valeur d'une tension : tension plus ou moins égale à +5 V
quand la LDR est éclairée et plus ou moins égale à 0 V quand la LDR ne
l'est pas. Cette variation de tension est détectée par le PIC (via une
interruption) et ce dernier met la machine de guerre en route :
- allumage d'une LED;
- génération d'un bip autonome;
- génération d'une note MIDI.
Détection tempo lumineux
On
vous a parlé de LDR et on ne vous a pas menti. Ce composant dont la
résistance diminue d'autant plus que la lumière qu'il reçoit est
intense, rend conducteur ou bloque un transistor, qui sur le schéma ne peut être
que Q1. La base de ce dernier est polarisée par [R5 + RV2] et la LDR,
ces trois éléments résistifs forment un
pont diviseur résistif.
Le principe de fonctionnement ne peut pas être plus simple. Quand la
LDR est dans la pénombre, sa valeur est très élevée, quelques centaines
de kO voire supérieure à 1 MO. Dans ce cas, la tension appliquée à la
base de Q1 à travers R5 et RV2 est suffisante pour le rendre
conducteur, et son espace émetteur-collecteur présente une faible chute
de potentiel (disons 0,2 V pour fixer un ordre de grandeur). La ligne
Trig qui aboutit sur la broche RB7 du PIC est donc considérée comme à
l'état bas. Dès que la LDR est éclairée par la LED qui se trouve face à
elle, sa résistance diminue d'un coup et la tension appliquée à la
base de Q1 chute tout aussi brutalement, le transistor impuissant
se bloque alors. Son espace émetteur-collecteur "s'ouvre" et on
retrouve une tension voisine de +5 V sur le collecteur et donc sur la
ligne Trig (grâce à la résistance de charge collecteur R6, qui dit en
passant peut être supprimée si le pullup interne du PIC est activé).
RV2 permet
d'ajuster le seuil de commutation entre LDR non éclairée et LDR
éclairée. A noter qu'il existe une zone de transition linéaire dans
laquelle la tension en sortie de Q1 est progressive et fonction de
l'éclairement de la LDR. Tout l'art consiste donc à régler correctement
RV2 pour que la transistion soit franche, ce qui ne devrait pas vous
poser de difficulté majeure, même si vous êtes mineur.
Sortie MIDI
La
sortie MIDI profite de la présence d'une broche appelée RB2/TX sur le
PIC 16F628A. En toute franchise, je ne sais pas ce que j'aurais fait si
le PIC n'avait pas été doté d'une telle broche. Vous avez dit SOFT_UART
? Ah oui
tiens, pourquoi pas... Quelque soit le code logiciel utilisé pour
générer la note MIDI, le côté matériel se résume une fois de plus à une
prise DIN 5 broches et deux résistances de 220 ohms (R3 et R4). On
n'invente plus grand chose, il faut juste faire attention où brancher
le fil bleu et le fil rouge. A la mise sous tension, le PIC délivre une
unique note MIDI et la LED LED1 s'allume brièvement, histoire
de confirmer qu'à priori l'initialisation logicielle du PIC se
fait bien.
Sortie sonore
A
chaque détection d'impulsion lumineuse en entrée du montage, la sortie
RA3 du PIC délivre une successions de changements d'états logique,
pendant un temps assez court et à une fréquence comprise dans le
domaine audio. Un comportement idéal pour
faire entendre un son.
Comme
l'amplitude du signal audio généré par le PIC est de 5 V, un
atténuateur constitué de R2 et RV1 permet de disposer d'un signal plus
proche d'un niveau ligne (quelques centaines de mV maximum). Le
potentiomètre RV1 qui sert à régler l'amplitude (le volume) du signal
de sortie pourra être de type ajustable ou à monter sur une face avant.
Modèle lin ou log, pas vraiment important ici mais un modèle log
pourrait avoir ma (ou votre) préférence. Si le PIC vous embête
vraiment, il est possible de le retirer et de placer un
oscillateur commandé par le signal Trig. Figurez-vous qu'une
simple porte logique de type CD4093 peut faire l'affaire.
Oui, oui.
Sortie visuelle
On
emploie une simple LED, qui de préférence sera de type haute
luminosité et à angle de diffusion large (faisceau pas trop directif,
mais ça ne sert à rien de chercher une ouverture supérieure à 360
degrés). Pourquoi ? Ca me semble mieux, pas vous ? Remarque : si vous
n'avez besoin que de la LED et non du MIDI ni du bip sonore, ce
montage n'est peut-être pas pour vous.
Oscillateur PIC
Utilisation d'un quartz externe de 8 MHz
pour une bonne stabilité. Mais à vos risques et périls, on peut aussi
utiliser l'oscillateur
interne de 4 MHz. Faites comme bon vous semble, les deux
fichiers logiciel PIC sont fournis.
Alimentation
Un
régulateur de tension de +5 V est prévu directement sur le circuit
(U2), ce qui permet d'alimenter ce montage avec n'importe
quel bloc d'alimentation secteur qui délivre une tension comprise entre
+9 V et +15 V. La consommation est suffisament faible pour se
permettre d'utiliser un régulateur de tension "miniature" de type
LM78L05 (100 mA max), et ce dernier n'a pas besoin de dissipateur
thermique (heureusement, vu son boîtier plastique TO92). La
diode D1 n'est pas indispensable mais vivement
conseillée, les blocs secteurs du commerce permettant parfois
d'inverser la polarité de la tension de sortie. Il serait dommage de
vous trouver dans cette situation fâcheuse qui n'arrive qu'aux autres.
Si vous disposez déjà d'une alimentation de +5 V, alors vous
pouvez supprimer tous les composants relatifs à cette section, à savoir
D1, C3, C4 et U2. Enfin quand je dis supprimer, vous m'avez compris.
Procédure de réglage
- En cas de disfonctionnement, vérifier que la tension entre la masse
et le collecteur du transistor Q1 varie bien quand on met la LDR en
pleine lumière ou dans la pénombre.
- Tourner le potentiomètre RV2 dans le bon sens, de sorte que la LED LED1 ne s'allume que quand la LED tempo s'allume.
- Faire en sorte qu'aucun éclairage parasite ne parvienne à la LDR (usage scénique, attention).
- Placer la LDR face à la LED tempo.
Lire cette procédure en sens inverse, c'est-à-dire en partant de la fin.
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 de la sortie MIDI
mais pas au
niveau de l'entrée, ce qui nous fait une belle jambe puisqu'il n'y a pas d'entrée MIDI.
Prototype
Uniquement réalisé avec l'ensemble des composants, le tout relié sur ma platine EasyPic7 dotée de son PIC fraichement programmé.
Pour
tester le bon fonctionnement de l'étage d'entrée, j'ai utilisé un bête
oscillateur à NE555 avec une LED rouge plaquée contre la LDR. Pour le
test générateur sonore autonome, un petit transducteur piezo (buzer)
directement relié sur la sortie RA3 du PIC. Le son délivré est super
agréable, je suis fan. Pour les notes MIDI, vérification avec mon
interface MIDI 011, mon QY70 et mon logiciel de test
MidiTest.
Croyez-le si vous voulez, mais tout a fonctionné du premier coup. C'est
assez rare, et j'ai l'immense honneur de pouvoir vous le signaler.
Circuit imprimé
Non réalisé, comme la coutume du mois d'avril le réclame pour ceux qui naissent un 12 octobre.
Logiciel du PIC
Les fichiers assembleur (*.asm) et binaire compilé (*.hex) sont
disponibles
dans l'archive dont le lien suit. Sont incluses les deux versions pour quartz externe 8 MHz et oscillateur interne 4 MHz.
Indicateur tempo MIDI 002 - PIC 16F628A - 07/04/2013
Si
vous souhaitez recevoir par la poste un PIC préprogrammé
et prêt à utiliser, merci de consulter la page
PIC - Sources.
Historique
07/04/2013
- Première mise à disposition.