Bonjour à tous,
Je travaille à temps partiel (plus d’un hobby) dans le secteur de l’éclairage et utiliser DMX puisque c’est le standard industriel pour communiquer ou dispositif de régulation (contrôleurs, consoles, luminaires, etc...) J’ai vu des testeurs DMX commerciales sur le marché, mais j’ai voulu créer mon propre.
J’ai travaillé sur une idée de créer un faible coût (< 50$), Arduino basé testeur DMX.
Le testeur s’offrent les fonctionnalités suivantes :
- Protocole d’entrée simple pour la saisie des commandes à l’aide de 4 X 4-16 matrice de touches du clavier.
- Support écran LCD - caractère ligne 4 x 20
- Sortie DMX monocanal ou un bouquet de chaînes à un niveau d’intensité réglée.
Le matériel :
J’ai commencé par ce qui suit :
- Carte Arduino UNO
- 4 x 4 (16) touche bouton (matrice de touches)
- Un affichage de caractères LCD 4 x 20 w I2C Interface (série)
- faible coût DMX / RDM bouclier acheté sur EBay (modèle : CTC-DRA-10-1, faible coût, non isolé)
Les commandes d’entrée :
J’ai voulu utiliser un 4x4 (16) touche bouton pour saisir toutes les commandes avec un simple / facile à mémoriser le protocole (format).
Voici le format de la commande de base :
Canal
Canal Canal bout Start @ intensité
Voici le protocole d’entrée réels en utilisant seulement un 4 x 4 (16) touche bouton :
XXX (Single Channel à une intensité spécifiée)
XXX-XXX (Gamme de canaux à une intensité spécifiée)
* (Tous les canaux à pleine intensité)
XXX (monocanal à pleine intensité)
XXX-* (Début de canal au canal de Max à une intensité spécifiée)
XXX-* (Début de canal au canal de Max à pleine intensité)
Mappages de touches :
A = @ (arobase)
B = bosse (non implémenté)
D = - (tiret)
C = Clear
# = Exécuter
* = Valeur générique : 512 pour canal et 256 pour pleine intensité
XXX = numéro de 1 à 512 canaux
III = niveau d’intensité de 1 à 256
Code de développement / test :
J’ai développé / testé le code en plusieurs étapes :
- Clavier d’entrée - 4 x 4 (16) bouton clavier (ou commutateur de matrice)
- Écran LCD - interface de 4 x 20 caractères LCD w I2C
- Vérifier/tester les commandes d’entrée (protocole) fonctionnaient correctement
- Ajouter du code maître DMX (envoi)