RGB bi-octopus mood lamp

Les barbus aiment les leds et je le prouve avec ce lustre à 16 leds RGB (d’ou bi-octopus, les polypophiles auront suivi) commandé à l’aide d’une webcam (ça, c’est le coté Jean Michel Jarre).

Matériel mis en oeuvre :

Câblage de l’installation :

Câblage Pieuvre RGB

Câblage Pieuvre RGB – Crédit photo : Hackathon Snootlab

 

Les sketches

  • Arduino

Le sketch arduino est un classique issu d’un brainstorming tetalabien, on l’appelle le « Z protocol« 

Il consiste à attendre de recevoir un message sur le port série au format qui commence par Z suivi par 16 caractères (octets) en hexadécimal qui donnent la valeur de PWM (de puissance) à appliquer sur chacune des 16 leds.

Avec un seule carte PWM I²C driver, un message série de type Z000F000000000000 allumerait la 4ème led a fond, les autres sont éteintes

Je continue, dans la même config, le message Z000F000000800000 allumerait la 4ème led a fond, la 11ème led a 50%,  les autres sont éteintes

Dans la configuration à 3 cartes driver, le message sera de la forme Z suivi de 3 x 16 = 48 caractères

Les 16 premiers seront la composante rouge de chaque led, les 16 suivants la composante verte, les 16 derniers la composante bleue

Donc, je veux par exemple :

  • la 4eme led en rouge (100% de rouge (= F),
  • la 10 en violet (100% de rouge (= F) + 100% de bleu) et,
  • la 16 en jaune (100% de rouge (= F) + 100% de vert), il me faudra donc un truc comme…
Z000F00000F00000F000000000000000F000000000F000000

Note : Le soft arduino se charge d’envoyer successivement aux cartes drivers la valeur au format I²C

Il répartit les 16 premiers octets sur la carte dont l’adresse (obtenue à l’aide des jumpers) est déclarée par

byte address[] = {0x11,0x12,0x13};

Alors maintenant qu’on a compris, voici le code :

Télécharger zprotocolarduino.pde

Visualiser le code sur Gist

 

 

  • Processing (Big up to Fabrice !!)

Télécharger zprotocolarduino.pde

Visualiser le code sur Gist

Et ça donne ça !!!

Bi-Octopus RGB mood lamp on air

RGB bi-octopus mood lamp – Crédit photo : Hackathon Snootlab

Laisser un commentaire