Shield DMX512 per Arduino

19,50 IVA inclusa

Disponibilitร  immediata.

Shield dotata di interfaccia RS485, lettore per micro SD card e connettore XLR a 3 contatti

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 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.

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.

Documentazione e Link Utili
Lโ€™ultima versione della libreria รจ scaricabile direttamente daย https://github.com/PaulStoffregen/DmxSimple

 

Menu