Shield dmx

Bonjour, je suis nouveau sur le forum et j'aurais besoin de votre aide.

Pour commencer, j'ai fait l'acquisition d'un arduino uno et d'un shield dmx.
J'aimerai utiliser cet ensemble pour envoyer des signaux DMX a mes jeux de lumières.

Cela ferait : Ordinateur -> Commandes MIDI (Q light controlleur+) -> arduino uno + shield DMX -> Jeux de lumières.

Là où cela pose problème c'est que je n'ai aucune idée de comment faire le code en question.

En espérant que quelqu'un voie ce post...

shield dmx.jpg

D'abord il faut un peu de hardware.
Si ton ordi a des prises MIDI (prises rondes 5 broches), il te faut acheter :

  • une prise MIDI femelle, sur embase,
  • un cordon MIDI.
    Tu trouveras facilement des tutos pour monter le prise MIDI femelle sur l'Arduino, c'est super simple.
    Ensuite il existe une bibliothèques (vas chercher MIDI dans "Bibliothèques" dans l'IDE Arduino) pour faciliter l'usage du MIDI.

Si ton PC n'a pas de prise MIDI, tu peux lui en adjoindre une en USB, ça aussi tu trouves sur e Net (convertisseur MIDI-USB). A noter que la plupart des interfaces audio sur USB ont aussi des prises MIDI.

Si pas possible d'utiliser la prise MIDI à l'ancienne, tu peux utiliser la connectique USB de l'Arduino, mais attention aux embrouilles car cette ligne sert aussi à programmer l'Arduino et à afficher sur le moniteur série. Va falloir gérér.
Ca c'est si ton appareil (sur l'Arduino) est bien un USB "device", et pas un USB "host", sinon faut un shield USB adapté.

Enfin, dans ton prog, il va falloir "transmettre" les commandes arrivant en MIDI vers le DMX. Il faut souhaiter qu'il existe une bibliothèque pour ça (à toi de chercher).
Peut-être aussi il faudra du code pour traduire les messages MIDI au DMX, je ne sais pas, je ne connais pas le protocole de cet appareil.

Bonjour,

Les informations d'une liaison DMX ressemblent à une liaison série à 250kb/s avec un signa 'break' pour marquer le début de la trame.

Le shield transforme la tension du signal électrique pour l'adapter en une liaison de type rs485 (boucle de courant) beaucoup moins sensible au perturbations électriques sur une grande distance.

Un optocoupleur inséré dans la boucle permet d'isoler électriquement chacun des appareils.

Comme dit dans le message précédent, il existe des bibliothèques qui gère le timing des signaux envoyés ainsi que le décodage des signaux reçu.

Pour comprendre comment utiliser une bibliothèque, il faudra te pencher avant tout sur la façon dont les informations transitent sur la liaison.

Une fois le 'break' envoyé pour indiquer le début de la trame, les 512 octets représentant les informations de commande DMX sont envoyés les uns derrière les autres.

La bibliothèque te permettra d'isoler les informations que tu veux si tu es en mode esclave, ou générera la trame des informations DMX que tu lui auras donné si tu est le master.

Édit: une lecture intéressante sur un projet DMX ici