Alors voila, j'ai un projet sur lequel je travail actuellement avec un ami.
Nous sommes entrain de créer une table de tir (pour feu d'artifice) avec plusieurs arduinos. Nous voulons utilisé le protocole DMX pour envoyer, depuis le pupitre principal, les ordres de tirs des boîtiers déportés.
Nous avons également créer une interface graphique qui lis un fichier CSV (exporté depuis un logiciel de simulation) pour créer un plan de tir.
Tout allait bien jusqu’à ce qu'on s'heurte à un gros problème: le port série.
Nous avons une arduino méga avec un shield DMX et nous utilisons la librairie DMXSerial. Seulement, nous avons besoin d'un port série sur lequel envoyer les ordres depuis le PC jusqu’à la table. Nous ne voulons pas "charger" tout le plan de tir sur la carte mais bel et bien en live (envois de la trame au moment du lancement de la 'ligne').
Est-il possible d'utiliser ET le port série pour le shield DMX, ET un autre port série pour envoyer les ordres de tir depuis le PC jusqu’à la carte Arduino (MEGA).
Est-il possible d'utiliser ET le port série pour le shield DMX, ET un autre port série pour envoyer les ordres de tir depuis le PC jusqu’à la carte Arduino (MEGA).
Merci bien de ta réponse très rapide !
C'est ce qu'il me semblait bien, pour faire passer le pc par un autre port série, on doit utiliser un convertisseur il me semble, comment en choisir un ? Enfin, plutot, lequel choisir ?
J'en vois beaucoup mais en RS232. Or il me semble que le RS232 utilise du 12V, donc incompatible ...
renzejo:
Merci bien de ta réponse très rapide !
C'est ce qu'il me semblait bien, pour faire passer le pc par un autre port série, on doit utiliser un convertisseur il me semble, comment en choisir un ? Enfin, plutot, lequel choisir ?
J'en vois beaucoup mais en RS232. Or il me semble que le RS232 utilise du 12V, donc incompatible ...
tu a aussi l'option de rerouter le dmx sur le shield vers serial1 2 ou 3 et de conserver le serial0 mega pour la liaison vers le PC.
çà doit etre assez trivial
lien vers la doc de ton shield dmx?
J'ai trouver le même sur ebay, et il y a la descriptions ci dessus ainsi que la doc ci dessous:
Je viens de voir qu'il y a un système de jumper qui dit ceci:
The following settings are configurable via the onboard jumpers:
• Send data via TX or Digital pin 4
• Receive data via RX or Digital pin 3
• Hardware slave mode or Software Controlled Slave/Master via Digital pin 2 (Required for RDM)
• Enable / Disable shield
Donc en modifiant on peut peut-être libérer le port série ?
Je viens de voir qu'il y a un système de jumper qui dit ceci:
The following settings are configurable via the onboard jumpers:
• Send data via TX or Digital pin 4
• Receive data via RX or Digital pin 3
• Hardware slave mode or Software Controlled Slave/Master via Digital pin 2 (Required for RDM)
• Enable / Disable shield
Donc en modifiant on peut peut-être libérer le port série ?
je pense à priori que "ton probleme" est bien plus simple que ça
j'avais regardé apres tes explications de debut de journée
la lib serialdmx permet l'utilisation du serial1 du 2560 mega (avec modif du .cpp // bien commenté )
le(ton) shield dmx diffuse sur les "cavaliers 3 points au centre " les signaux vers serial
tu repique simplement TX/RX DMX au centre "3 points" et tu repique simplement vers TX1/RX1
montage photo rapide
renzejo:
EDIT: J'ai trouver la ligne à décomenter, j'ai réussi a compiler avec le Serial et le DMXSerial. Reste plus qu'a trouver comment repiquer les jumpers
c'est ce qu'il y a de plus simple 8)
tu vire les cavaliers TX/RX du shield DMX
tu fais une simple liaison physique entre centre TX/RX des options cavaliers vers TX1/RX1
renzejo:
Effectivement, tout va bien, j'arrive a envoyer le channel et la valeur via le port série !
ok
en fait ton mega sert juste à convertir/interpreter/transferer un enregistrement CSV reçu par serial0 vers DMX (serial1) ?
a part ça , il ne fait rien d'autre ?