samedi 11 août 2012

MIDI sans fil (Arduino)

Pendant un de vos légendaires solos de keytar endiablés, vous faites un faux mouvement et...zut, l'ordinateur portable hébergeant vos soft synths se fracasse par terre...  C'est vrai que le câble MIDI d'un mètre de longueur entre le contrôleur MIDI et l'ordinateur ne permetait une très grande liberté de mouvement...

La solution?  Le MIDI sans fil!


Matériel:

2 Arduinos (Uno, par exemple), 2 modules radiofréquence NRF24L01, un connecteur MIDI femelle (DIN-5), une résistance de 220 Ω, câble MIDI et clavier MIDI qui recevra les messages MIDI (ou si vous préférez:  interface MIDI-USB et ordinateur doté d'un logiciel MIDI).

Les branchements:

Les modules NRF24l01 se branchent de la même façon que pour le véhicule téléguidé.   Quoi?  Vous n'avez pas lu ma rubrique concernant mon véhicule téléguidé!?!?  Alors voici comment on branche ces modules (c'est la même chose sur les deux Arduinos:  l'émetteur et le récepteur).


  • Pin GND du module rf  :  Pin GND de l'Arduino
  • Pin VCC du module rf:    Pin 3.3 V de l'Arduino
  • Pin CE du module rf:       Pin 9 de l'Arduino
  • Pin CSN du module rf:    Pin 10 de l'Arduino
  • Pin MOSI du module rf:  Pin 11 de l'Arduino
  • Pin MISO du module rf:  Pin 12 de l'Arduino
  • Pin SCK du module rf:    Pin 13 de l'Arduino
  • Pin IRQ du module rf:     On ne l'utilise jamais





Ensuite, vous branchez le connecteur MIDI femelle à l'Arduino qui agira comme récepteur (voir le schéma de branchement sur le site officiel arduino.cc).  Et vous reliez ça à un clavier MIDI par l'entremise d'un câble MIDI (branché dans l'entrée MIDI-in, bien sûr).

Les sketches:

Après avoir installé la librairie mirf (si vous ne l'aviez pas déjà), il ne vous reste plus qu'à installer les sketchs disponibles ci-dessous dans leur Arduino respectif.

Émetteur:


Récepteur:


Résultat:

Le clavier MIDI se met à jouer une succession d'arpèges (do-fa-do-sol), même s'il n'est pas directement relié à l'Arduino qui émet ces instructions.

Bien sûr, ce serait plus pratique si on pouvait brancher un instrument MIDI à l'Arduino émetteur, et ainsi acheminer notre propre musique jusqu'à l'Arduino récepteur...  Malheureusement, je ne dispose pour l'instant d'aucun optocoupleur qui me permettrait de faire un branchement "MIDI-in" dans l'Arduino émetteur (le plus frustrant, c'est que j'ai fait une grosse commande de matériel à Tayda la semaine dernière, et j'ai complètement oublié les optocoupleurs!).  Ce sera donc pour une autre fois...

Yves Pelletier (Twitter: @ElectroAmateur)

5 commentaires:

  1. Bonjour. Avant de tomber sur cet article, je ne savais pas du tout que c’était possible d’avoir une telle facilité. C’est mon père qui utilise le système MIDI pour son studio, je devrais lui en parler. Merci !

    RépondreSupprimer
  2. Bonjour,
    J'ai réalisé le midi clavier sans fil afin de le coupler
    à un clavier midi 2 octaves version keytar
    et à la suite des tests , j'ai constaté que le module Arduino émetteur se met à jouer une succession d'arpèges sur mon arrangeur Yamaha PSR .
    De ce coté la tout va bien pour la transmission sans fil
    sauf que la succession d'arpèges ne s'arrête pas pour jouer et envoyer des notes à partir du clavier midi.
    Comme précisé dans résultat à la fin de l'article , ayant un optocoupleur 4N35 cablé sur le midi in du module Arguino émetteur , je n'ai pas de notes en sortie récepteur , sauf les arpèges
    Avez vous rencontré ce genre de problème
    Pour résumer le montage fonctionne bien en générateur d'arpèges en boucles , mais pas en clavier Midi sans fil Merci pour votre aide

    RépondreSupprimer
  3. Bonjour Mr Pelletier,
    Pouvez-vous me renseigner sur les modifications à apporter
    dans le programme Arduino émetteur pour au démarrage
    avoir la succession d'arpèges et ensuite basculer sur
    l'entrée midi piloté par mon clavier PSR
    le but précisé de l'article étant de jouer du midi sans fil
    Dans l'attente d'une réponse , je vous remercie pour
    votre aide pour finaliser mon projet

    RépondreSupprimer
  4. Bonjour à tous,
    Je recherche sur ce blog un personne ayant
    réalisé le projet du midi sans fil arduino
    publié le samedi 11 août 2012
    j'ai constaté le même problème cité dans le
    dernier commentaire
    1 > l'émetteur envoie des arpèges en permanence
    au récepteur

    2 > L'entrée midi sur l'optocoupleur n'est pas
    reconduite au récepteur

    Y a t'il des modifications dans les sketches
    ou dans les librairies a modifier pour que
    cela fonctionne en liaison avec un clavier

    Merci pour vos réponses
    Cordialement,

    RépondreSupprimer