Utilisation du TLC 5940NT avec l'Ethernet Shield
http://vimeo.com/22679194
Le
TLC est un multiplexeur/démultiplexeur qui permet de
piloter plus d'entrées sorties que ne le peut une petite arduino.
L'Arduino UNO comprend 6 PWM, 6 sorties "graduables".
Le TLC permet d'avoir 14 sorties graduables.
Qui plus est il chainable de TLC en TLC, permettant ainsi d'augmenter le nombre de circuits à piloter depuis une même arduino.
L'Ethernet
Shield permet de communiquer avec l'arduino par câble réseau et donc de
gagner de la distance entre l'ordinateur et l'arduino.
Le sketch fourni ici permet donc de recevoir une trame DMX en protocole art-net et de piloter les sorties du TLC.
Le problème est que le TLC et l'Ethernet shield utilisent des pins communes sur l'arduino, et rentrent donc en conflit.
La
présente page est donc une synthèse de la superbe adaptation ( hack
) qu'a fourni Tofe86, pour plusieurs versions de
l'arduino, notamment la Duemillanove (donc l'UNO) et que l'on retrouve
ici: http://arduino.cc/forum/index.php/topic,22111.0.html
Ce hack est fait dans les fichiers des librairies ethernet, tlc, mais aussi dans le coeur des librairies de l'arduino.
Il
est donc recommandé de dupliquer votre logiciel arduino, et de renommer
son dossier comme correspondant à ce hack. De n'utiliser cette version
du logiciel arduino que pour programmer un montage sur base Ethernet +
TLC sur la même arduino.
Si vous voulez programmer votre arduino
pour un autre projet qui n'utilise pas la combinaison décrite ici,
utilisez le logiciel arduino non hacké.
Manipulations:
1-Ouvrir
le dossier hack. Copier le contenu dans le dossier du logiciel arduino.
Vous aller écraser les fichiers suivants: pins_arduino.h , w5100.h. Ce
dossier comprend la librairie complète et hackée du TLC5940.
2-Faites le montage comme présenté ici. Les 14 LEDS ne sont pas toutes dessinnées.

Les pins du shield rentrent toutes dans l'arduino, toutes sauf la 10 !
3- branchez l'usb à l'arduino et ouvrez le sketch artnet_et_tlc.pde
4- si vous désirez éditer des paramètres d'IP modifiez les valeurs de :
byte ip[] = { 192,168,1,177 };
Adresse MAC:
Il est utile d'éditer l'adresse MAC uniquement si vous avez plusieurs shields ethernet sur le même réseau.
Pour
convertir l'adresse MAC qui apparait sur l'étiquette du shield, le plus
simple est d'utiliser une conversion en ligne, de hexa vers décimal,
ici:
http://www.frankdevelopper.com/outils/convertisseur.php
5- si vous désirez reporter sur le TLC des circuits autres que les 1 à 14, éditer en fin de sketch
for (int channel = 0; channel < NUM_TLCS * 16; channel ++)
{
Tlc.set(channel,(int) (buffer_dmx[channel]*16) );
Tlc.update();
}:
- en changeant 0 par le circuit de départ
- en rajoutant devant NUM_TLCS*16
: (numéro du circuit de départ)
+ NUM_TLCS*16
Ainsi si le premier circuit qui manipule le TLC est le 56:
for (int channel = 56; channel <56+ NUM_TLCS * 16; channel ++)
6-
dans le cas où vous avez plusieurs TLC en série, éditer manuellement
dans le fichier tlc_config.h la valeur NUM_TLCS. Mettre 2 si vous
désirez travailler à 2 TLC, 4 si vous êtes à 4 TLC, etc...
Remerciements à Patrick Raddatz, qui a retrouvé sur VVVV un de mes anciens posts parlant de gradas 12v....
Patrick
prépare une installation/performance lumière, et cherchait une solution peut
couteuse pour travailler avec des transistors de puissance en 12v et des
dichros.
Bref, je m'y suis remis pour lui !
christoph guillermet
karistouf@yahoo.fr