Questo articolo non è al momento disponibile. Digita la tua email per essere immediatamente avvisato quando il prodotto sarà disponibile.







  • Shield DMX512 per Arduino

Shield DMX512 per Arduino

  • 7100-FT996M
  • Disponibile
  • Prezzo: 19,50€
  • IVA esclusa: 15,98€

Opzioni disponibili

Shield dotata di interfaccia RS485, lettore per micro SD card e connettore XLR a 3 contatti. Abbinata ad Arduino e ad un software di libero utilizzo con cui possiamo costruire sequenze di attivazione (anche sincronizzate alla musica), permette di comandare i dispositivi ad interfaccia DMX512 da PC. Il lettore di micro SD card può essere gestito da Arduino allo scopo di realizzare molteplici funzioni correlate al controllo di dispositivi DMX512: ad esempio può memorizzare sequenze di attivazione di lampade e dispositivi per lo spettacolo, da riprodurre dietro comando impartito da computer o semplicemente dal pulsante P1 di cui lo shield è provvisto. La shield è predisposta per una connessione ad un display LCD seriale con il quale possiamo visualizzare informazioni riguardanti ad esempio la sequenza in fase di esecuzione, l’indirizzo assegnato al dispositivo DMX512 che si sta controllando, l’eventuale nome della sequenza memorizzata in micro SD card, ecc.
N.B. la shield viene fornita con tutti i componenti SMD già montati, gli unici componenti da saldare sono i connettori strip, il connettore DMX e il pulsante.
La shield abbinata ad un PC in cui gira "Vixen" e ad una serie di tubi luminosi e lampade gestiti da un controller DMX512?
IL FIRMWARE
Il firmware permette ad Arduino di creare ed inviare stringhe di comando a standard DMX512 formate da un massimo di 512 byte, ognuno dei quali esprime 256 livelli di luminosità, oppure di movimento di un rotore sul quale vengono montati corpi illuminanti o altro, a seconda del dispositivo controllato. Ciascuna stringa inizia con un impulso header (vedi l’apposito riquadro) a cui seguono in sequenza tutti i bit; ogni decoder/controller monocanale è impostato in modo da interpretare solo il proprio byte, mentre i decoder con controller pluricanale interpretano un intervallo di byte. Perché ciò avvenga, ciascun decoder conta il numero di byte a partire dall’header. Ne deriva che per raggiungere il decoder/controller contraddistinto da un certo indirizzo, Arduino deve generare una stringa che contenga tanti byte quanti sono i canali fi no a quell’indirizzo: per esempio, volendo comandare la periferica che ha per address 128, il nostro sistema deve generare una stringa che contenga almeno i primi 128 byte (quelli dal 129 al 512 può anche non generarli, perché irrilevanti, contribuendo a mantenere una buona velocità di aggiornamento dei dispositivi DMX512). Alla generazione delle stringhe provvede una libreria chiamata DMXSimple (ma ne esistono altre...) scaricabile dal repository di Google http://code.google.com/p/tinkerit/wiki/DmxSimple; la versione attualmente online non è compatibile con l’IDE 1.0.1. Dal nostro sito www.elettronicain.it potete invece scaricare una versione utilizzata per la realizzazione di questo progetto. Chiaramente dovete includere la libreria nel vostro sketch. All’interno della libreria vengono già forniti due sketch (vi accedete con il comando di menu Esempi): il primo permette di effettuare il fading (la dissolvenza...) di un canale DMX (vedi FadeUp, Listato 1) mentre il secondo consente di impostare il valore e il canale DMX tramite seriale (vedi SerialToDmx). Nell’impostare gli indirizzi delle periferiche da controllare ricordate quanto detto poco fa, quindi se dovete intervenire su un decoder/controller DMX512, possibilmente impostate per esso un indirizzo basso; ciò vi permetterà di ridurre il lavoro di Arduino e velocizzare la scansione, così da poter agevolmente eseguire giochi di luce molto rapidi. Oltre ai due sketch di esempio contenuti nella libreria, dal nostro sito potete scaricarne altri due chiamati FadeUpHSV, che esegue la dissolvenza tra i vari colori RGB, e DMX_LightSequencing, che permette di utilizzare il software Vixen, che gira su PC in ambiente Windows e vi consente di costruire sequenze di controllo luci definendo i canali da attivare ed eventualmente abbinando l’accensione e lo spegnimento di luci o l’attivazione di altri apparati DMX512, in determinati momenti della riproduzione di un brano musicale, che potete caricare dallo stesso programma. I due sketch d’esempio contenuti nella libreria e FadeUpHSV sono stati da noi modificati per essere compatibili con lampade RGB controllabili in DMX (per esempio la lampada Velleman VDPLP-64SB); dunque, in essi è sufficiente indicare l’indirizzo di partenza del DMX, poi Arduino fa il resto. Soffermiamoci ora sul quarto esempio di sketch (Listato 2), chiamato DMX_LightSequencing, perché è quello che ci permette di interagire con Arduino mediante un PC e di fare quindi le cose più interessanti; in questo sketch, oltre all’indirizzo DMX512 di partenza, va specificato anche il numero di canali da gestire, nel senso che bisogna dire ad Arduino qual è l’address del primo canale e quanti canali seguono. In questo modo Arduino potrà costruire la stringa necessaria, riempiendo con tanti byte a zero le posizioni corrispondenti agli indirizzi precedenti quello di partenza e terminando la stringa con il byte dell’indirizzo dell’ultimo canale. Ciò, come accennato, evita di sprecare risorse nella ricostruzione di quella parte di stringa che non serve. Lo sketch va utilizzato in abbinamento al programma Vixen, scaricabile gratuitamente dall’indirizzo http://www.vixenlights.com/; questo software è in grado di funzionare praticamente su qualsiasi computer (i requisiti sono un processore 486 o superiore, almeno 128 MB di RAM e 2 GB liberi su hard-disk, sistema operativo Windows 98 o successivo, purché vi sia installato Microsoft .NET Framework). Con questo software è possibile creare delle sequenze luminose (ma non solo) eventualmente legate alla musica; una delle applicazioni più suggestive è l’abbinamento alle illuminazioni natalizie, di cui vedete una piccola demo in questo filmato, all’indirizzo https://www.youtube.com/results?search_query=vixenlig hts&oq=vixenlights. Vixen ha diversi formati di output tra cui anche quello seriale (purtroppo è possibile selezionare solo le COM 1, 2, 3 o 4) che possiamo usare per una connessione USB da COM virtuale; selezionando la porta COM cui è collegato Arduino (Figura qui sotto "Sequence Plugin Mapping"), il software invia il valore che deve assumere ogni canale. Arduino interpreta questi dati e gestisce di conseguenza i propri I/O digitali. Normalmente, infatti, i progetti disponibili in “rete” prevedono che Arduino comandi le lampade, ovvero i loro controller, mediante le proprie uscite digitali, ma ciò limita di molto il numero di canali utilizzabili (anche utilizzando un Arduino MEGA le porte disponibili sono 54).
Nella nostra applicazione, invece, utilizziamo la libreria DMX, la quale tramite lo shield DMX permette di gestire 512 canali (tra l’altro anche analogici). In questo modo è possibile gestire svariate periferiche anche diverse dalle classiche luci, come ad esempio macchine del fumo e per la neve, strobo, teste rotanti ecc. Se con il protocollo DMX volete attivare dei carichi a relé, potete utilizzare i kit Velleman K8062, i K8039, FT570, FT576 (che sono interfacce DMX512 per utilizzatori di tipo on-off) o prodotti finiti come LPTDX424E, LPTDX626 che possono pilotare lampade RGB e via di seguito. Sul web si trovano tantissime sequenze già pronte; l’unica cosa da fare è impostare l’uscita della sequenza (ovvero la porta seriale) e programmare Arduino indicando il numero di canali utilizzati nella sequenza.
All’indirizzo web http://www.landolights.com/main/component/option,com_remository/Itemid,54/func,select/id,3/ potete trovare alcune sequenze in sharing, utilizzabili per comandare lampade, proiettori e strisce luminose ad interfaccia DMX, che coloreranno di luce qualsiasi avvenimento.
 
Documentazione e Link Utili

L’ultima versione della libreria è scaricabile direttamente da https://github.com/PaulStoffregen/DmxSimple 

 

I Clienti che hanno acquistato questo prodotto hanno comprato anche...: