Système d’ambiance lumineuse pour écran

Statut: Projet réalisé à titre privé

Temps de réalisation: Environ 6 heures.

Matériel: Un pc media center, un Arduino UNO, une alimentation 5v (ampères selon le nombre de LEDs) et des LEDs RGB équipées de contrôleur WS2801 utilisées pour les décorations de Noël (p. ex: http://www.adafruit.com/products/322).

Logiciel: OpenELEC ou XBMC, Adalight (LEDstream) et Boblight.

Difficulté: Moyenne

Présentation:

Ce système est inspiré de la technologie Ambilight de Philips. Cette technologie permet via l’analyse du flux vidéo, de contrôler des sources lumineuses positionnées de part et d’autre de l’écran.

La solution retenue s’appuie sur les projets Boblight et Adalight pour la partie logicielle. La partie matérielle, est quant à elle composée d’une carte Arduino UNO, une alimentation 5v et de LEDs RGB équipées d’un contrôleur.

Le but de ce projet est d’équiper un écran de 127cm de diagonale branché à un media center tournant sous OpenELEC (XBMC).

Réalisation:

Le nombre idéal de LEDs dépend de la taille de votre écran. Ce qu’il faut retenir, c’est que plus il y a de LEDs, meilleur sera le résultat. Idéalement, les LEDs doivent êtres espacées entre 7 et 3 cm. Le placement de l’écran par rapport au mur a aussi son importance pour une bonne diffusion de l’éclairage.

La partie la plus “bricolage” consiste à trouver un moyen de fixer les LEDs sur le pourtour de l’écran. Dans  mon cas, j’ai eu de la chance, mon écran est truffé de grilles d’aérations. J’ai donc pu fixer les 50 LEDs directement à l’aide de brides:

ambilight_1

Certains préféreront un montage plus propre, sur un cadre par exemple:

ambilight_2

ambilight_3Remarque: ici, les LEDs utilisées sont en ruban.

Ensuite il faut programmer le micro-contrôleur de l’Arduino. Pour ce faire il faut télécharger l’IDE d’Arduino et charger le programme LEDstream sur la carte Arduino.

Ceci fait, effectuer le câblage entre l’Arduino, les LEDs et l’alimentation. Point important à prendre en compte, répartir les alimentations électriques des LEDs afin qu’il n’y ait pas de trop d’ampères à faire passer le long du câblage et que la luminosité soit uniforme.

ambilight_4png

Le boîtier utilisé est ancienne boîte pour cartes de visite.

Exemple pour 50 LEDs:

ambilight_5

Exemple pour 100 LEDs:

ambilight_6

Brancher les câbles du bus SPI sur l’Arduino: “SPI clock” sur la broche 13 et “SPI MOSI” sur la broche 11. Ne pas oublier de brancher aussi la terre (GND) et de relier L’Arduino en USB au media center.

Dernière étape, la configuration de Boblight. La configuration s’effectue via le fichier “boblight.conf”. Ce fichier contient les informations sur le type de périphérique de sortie , le nombre de LEDs ainsi que leur positionnement autour de l’écran. Les explications de configuration de Boblight se trouvent ici.

Extrait de ma configuration pour la partie “device” :

[device]  
name device1
type momo
output /dev/ttyACM0
channels 150 # number of LED’s
interval 20000 # default 20000
prefix 41 64 61 00 31 64 # depends on LED’s number
rate 115200
bits 8
allowsync on
debug off # turn this on to see what it’s doing with the serial port
delayafteropen 1000000

La partie délicate se situe au niveau de la configuration du prefix. Si vous avez un nombre de LEDS “standard”, il suffira de faire un copier-coller des valeurs ci-dessous. Dans le cas contraire, il faudra le calculer.

Prefix pour 25 LEDs: 41 64 61 00 18 4D

Prefix pour 50 LEDs: 41 64 61 00 31 64

Prefix pour 100 LEDs: 41 64 61 00 63 36

Pour calculer le prefix:

buffer[0] = ‘A’; // Magic word
buffer[1] = ‘d’;  
buffer[2] = ‘a’;  
buffer[3] = byte((coord.length – 1) >> 8); // LED count high byte
buffer[4] = byte((coord.length – 1) & 0xff) ; // LED count low byte
buffer[5] = byte(buffer[3] ^ buffer[4] ^ 0x55); // Checksum

Pour plus d’explications, c’est par ici.

Le reste de la configuration du fichier “boblight.conf” consiste à entrer les couleurs, le contraste, le gamma et la position des LEDs autour de l’écran.

ambilight_7

Grille permettant de calculer les valeurs en % pour « hscan » et « vscan » de chaque LED.

Si vous n’avez pas envie de taper tout ça à la main, il existe un logiciel qui le fera pour vous, il s’appelle “BoblightConfigTool.exe”. Vous pourrez le télécharger ici.

Une fois la configuration entrée dans fichier “boblight.conf”, installer la partie serveur et cliente  Boblight sur le media center.

Au final cela donne ça:

ambilight_8

Voir une vidéo de démonstration

Partagez!
    Posted in Projets réalisés.