vendredi 10 août 2012

Envoi de messages MIDI par le MSP430 Launchpad

Dans cette rubrique, j'utilise le MSP430 Launchpad de Texas Instruments pour jouer le début de Für Elise (Beethoven) sur un clavier MIDI (pour émettre des messages MIDI avec un Arduino, voir ma rubrique de l'été dernier).

Le matériel:

Une carte MSP Launchpad (un investissement de $4.30, frais d'expéditions inclus!), un clavier MIDI, un câble MIDI, un connecteur MIDI femelle (DIN-5), résistances (220 Ω, 1 kΩ, 1,8 kΩ et 100 kΩ), un comparateur LM393 (ou solution équivalente pour élever à 5 volts le signal émis par le Launchpad), source de tension de 5 V.

Le circuit:

Tout d'abord il faut savoir que le launchpad émettra le signal MIDI par l'entremise de sa pin "P1.2".  Toutefois, ce signal numérique de 3,3 V est inférieur à la norme MIDI qui est de 5 V; il faut donc ajouter un étage d'amplification (le comparateur LM393). Ce signal est ensuite acheminé à la broche 4 du connecteur MIDI (un câble MIDI achemine ce signal jusqu'à l'entrée "MIDI-IN" du clavier).


J'ai utilisé un LM393 parce que j'en avais sous la main.  Il existe d'autres solutions possibles (un MOSFET, par exemple).


Le code:  

Puisque j'ai utilisé Energia pour programmer le Launchpad, il s'agit d'un simple sketch Arduino.



La seule partie un peu "intéressante" est la routine "noteOn", à la toute fin, qui envoie un message midi par l'entremise de la pin TX (P1.2) du Launchpad:


     void noteOn(int cmd, int pitch, int velocity) {
       Serial.write(cmd);
       Serial.write(pitch);
       Serial.write(velocity);
     }

(Tout comme la version 1.0 de l'environnement Arduino, Energia requiert la commande "Serial.write" plutôt que "Serial.print" lorsqu'on veut envoyer des bytes.)

Le reste du sketch consiste à envoyer à la routine "noteOn" les notes appropriées, au moment approprié.

Yves Pelletier (Twitter: @ElectroAmateur)

Aucun commentaire:

Enregistrer un commentaire