Avez-vous déjà vu un téléviseur diffusant un halo lumineux dynamique sur le mur de derrière en fonction de l’image affichée ? ça s’appelle l’Ambilight et c’est une technologie propriétaire à Philips. Les lumières diffusées sur le mur changent de couleur en temps réel offrant ainsi une meilleure immersion, un confort visuel et une ambiance agréable. Dans ce tutoriel on verra comment monter un système Ambilight sur n’importe quel téléviseur, grâce à un Raspberry pi et une bande de leds qu’on va placer autour du cadre TV.

 

Principe d’Ambilight :

Le Raspberry analyse l’image transmise à la télé, en fonction des couleurs des bords de l’image il envoie un signal au leds correspondantes pour qu’elles prennent la même couleur. Pour ça nous utiliserons une bande de leds spécifique, chaque led de la bande peux avoir une couleur x à un instant t. le super logiciel Hyperion va aussi nous permettre de mettre des couleurs statiques, ou des jolis effets et ce, via une application Android, sympa non ? celle-ci va nous permettre aussi de diminuer/augmenter l’intensité et allumer/éteindre l’Ambilight. Avant de passer au matériel nécessaire vous devez savoir que ça va dépendre du cas d’utilisation : – Grabber interne : la source d’image est le Raspberry lui-même, exemple de media center sur Raspberry ( Kodi, Openelec, Librelec) –Grabber externe : le Raspberry analyse l’image venant d’une autre source comme un récepteur numérique, une Playstation ou un autre ordinateur, dans ce cas on aura besoin d’un « Grabber usb » et probablement d’un adaptateur Hdmi RCA au cas où la source d’image n’a que de sortie Hdmi.

Matériel nécessaire :

-Un Raspberry PI (modèle pi 3 ou pi 4). Avec son alimentation 5V 2A.

Raspberry PI

voir sur :  Amazon Aliexpress

-Une bande à leds de type WS2801 (pour mon cas j’ai pris 2m pour une TV 32 pouces).

leds ws2801

voir sur :  Amazon Aliexpress

-Une bonne alimentation 5v 3A ou 5A pour les leds (chaque mètre consomme environ 1A).

powersupply

voir sur : Amazon Aliexpress 

-Un Grabber USB si vous comptez utiliser une source vidéo externe que celle du Raspberry, (exemple Playstation ou un STB).

grabber

voir sur: Amazon Aliexpress

-un adaptateur Hdmi RCA:  pour avoir deux sortie Hdmi, une vers le grabber et l’autre vers la TV

hdmi-adapter

voir sur : Amazon Aliexpress

-Des Jumpers.

jumpers

voir sur : Amazon Aliexpress

-des connecteurs de bande à leds pour éviter le soudage.

voir sur : Amazon Aliexpress

ou

-Un fer à souder et de l’étain.

etain

 

Préparation :

Il est recommandé de démonter le téléviseur et le poser sur une table avec des draps dessus pour éviter de l’abimer.

 

ambilight

 

Il est aussi préférable de découper un cadre en carton ou autre chose, et le coller derrière la TV pour ne pas coller directement la bande à leds et éviter de toucher le dos de la TV pendant la soudure.

 

Mise en œuvre :

Hardware

-Couper la bande à leds soigneusement avec un ciseau à l’endroit de coupure. On découpe les morceaux de façon à entourer le cadre de la TV.

 

ambilight2

 

-On enlève le ruban adhésif des morceaux de la bande et on les colle au dos de la TV. ATTENTION il faut suivre le sens de la flèche. Toutes les flèches de morceaux doivent suivre le même sens.

ambilight3

 

Pour mon cas j’ai suivi le sens des aiguilles de la montre.

 

ambilight4

 

-Maintenant la partie la plus délicate, La soudure pour joindre les morceaux. Sur la bande il y a des sections avec 4 points de soudure (là où on a découpé) il faudra souder des petits fils pour joindre les extrémités des morceaux. Les points de soudure correspondent au 4 fils d’extrémité de la bande il y a GND (fil noir), SI (fil bleu), CK (fil vert) et 5V (fil rouge). Que vous sachiez souder ou pas, juste un peu de patience et de précision, peu importe l’esthétique !  regardez mes soudures ils sont moches :

 

ambilight5

 

-On relie le Ground et le 5V du retour de la bande avec ceux du départ, le CI au pin23 et le DI au pin19, et finalement ou ajoute une liaison entre le Ground du Raspberry avec celui de la bande. Par précaution on alimente pas la bande alors que le Raspberry est éteint.

 

ambilight6

 

Branchement de Grabber

ambilight6

 

Au cas où l’appareil ne dispose que d’une seule sortie vidéo (la majorité de cas) il nous faut un « Hdmi splitter » pour avoir une autre sortie à brancher sur le téléviseur.

 

Software

Le logiciel peut être installé sur n’importe quelle distribution pour media center (OSMC, Openelec, Librelec), mais aussi sur Raspbian. Moi je préfère ce dernier car ça permet de profiter au maximum de l’OS, et il se peut dans certains cas de vouloir utiliser seulement une source externe (un RPI Zero sera suffisant).

L’installation de Hyperion est super simple, les développeurs ont créé « HyperCon » une application java pour Windows qui permet d’installer et configurer le logiciel sur Raspberry . Nous aurons seulement besoin d’une connexion SSH.

1-Télécharger sur votre pc Windows HyperCon 

2-Lancer HyperCon en cliquant sur HyperCon.jar

 

hyperion1

 

3-Passer directement à l’onglet SSH. On choisit le système qu’on a sur le Raspberry, il y a « Openelec/librelec » et « all systems » moi j’ai choisi le dernier car j’ai un Raspbian avec Kodi installé manuellement.

Puis on a l’adresse IP du Raspberry, le port SSH « 22 »,   l’username et le password (pi/raspberry par défaut pour Raspbian), enfin cliquer sur « Connect ».

 

hyperion2

 

4-Une fois connecté, on clique sur « inst./Upd.Hyperion » on répond « oui », une fenêtre s’ouvre et nous affiche le déroulement de l’installation, à la fin le Raspberry va redémarrer, Hyperion est maintenant installé, on doit se reconnecter une nouvelle fois pour commencer sa configuration.

 

hyperion3

 

5-Une fois reconnecté dans HyperCon on se rend au premier onglet nommé « Hardware »

 

Section : Device

Configurations name : le nom de fichier de configuration, on le laisse tel qu’il est.

Type : on choisit le type de leds qu’on a monté « WS2801 »

Output : /dev/spidev0.0

Bauderate : vitesse de transmission on laisse 1 000 000

RGB Byte Order : c’est l’ordre des couleurs, on met RGB par défaut, mais si après configuration par exemple on voit du bleu à la place du vert on met RBG et ainsi de suite.

 

Section : Construction

Direction : vous vous souvenez de la flèche de direction de la bande, moi j’ai monté la bande dans le sens des aiguilles de la montre lorsqu’on regarde le dos de la télé, alors maintenant dans la configuration on regarde la télé par devant, donc le sens sera le contraire, on met « counter clockwise » c’est-à-dire « contre le sens des aiguilles de la montre »

LEDs horizontal : le nombre de led qui se trouve dans le morceau horizontal d’en haut.

LEDs Left : le nombre de leds sur le côté gauche.

LEDs Right : le nombre de leds sur le côté droit.

Bottom Gap : (le vide en bas) c’est la différence entre le nombre de led horizontale d’en haut et les leds qu’on a en bas, moi j’ai 23 en haut et 12 en bas (6 à gauche et 6 à droite) donc 23 -12=11

 Lorsque vous modifiez les nombres de leds vous regardez les changements en temps réel sur l’écran de simulation, comptez les leds manuellement et assurez-vous que c’est bien le même cas du montage

1st LED offset : lorsqu’on remplit les nombres de leds, il y’aura une numérotation des leds par le logiciel, le premier led de la bande c’est-à-dire du côté branché au Raspberry dans mon cas est le numéro 19, j’ai mis 19 dans la case et on remarquera qu’il va prendre le numéro 0. (Vous mettez votre numéro).

 

hyperion4

 

Section Image Process

Horizontal depth % : La largeur des bandes horizontal d’analyses de l’image, 8 est une bonne valeur.

Vertical depth % : La largeur des bandes vertical d’analyses de l’image, 4 est une bonne valeur.

Horizontal Gap % : on met une valeur si les zones d’analyses doivent être décalé du bord horizontal de l’écran. On le laisse à 0.

Vertical Gap % : on met une valeur si les zones d’analyses doivent être décalé du bord vertical de l’écran. On le laisse à 0.

Overlap % : chevauchement des zones de détection pour une transition plus lisse des couleurs. Moi j’ai mis 20% mais vous le laissez à 0 si vous avez un nombre de leds élevé.

 

Section Blackborder Detection

Enabled : cocher pour ignorer la bande noire des films.

Voici la vue finale de mon configuration pour l’onglet Hardware

 

hyperion5

 

6-On se rend sur l’onglet « Process »

Smouthing : à cocher, permet d’agir sur la vitesse de transition dans les changements de couleurs. Si vous remarquez un retard de changement de couleurs des leds par rapport aux images, diminuez la valeur de time. Moi j’ai mis 100.

Transform : dans cette section on calibre les couleurs par rapport à ceux affiché à l’image on laisse ici les valeurs par défaut. Après configuration si vous obtenez par exemple un blanc teinté en rouge vous diminuez la valeur de rouge dans le whitelevel.

NB : La calibration peut se faire via l’application Android.

7-On se rend ensuite sur l’onglet « Grabber » ici il y a deux section une pour l’image interne de Raspberry et l’autre pour l’image externe (décodeur par exemple) on coche « Enabled » sur celle qu’on veut ou sur les deux selon le cas d’utilisation.

 

Internal Frame Grabber :

Width : 640

Hight : 360

Interval ms :100ms

Priority Channel :890 cette valeur moins de la valeur 895 du grabber externe donne la priorité pour traiter l’image interne de raspberry. S’il n’y a aucune vidéo en lecture par Kodi Hyperion traite l’image externe. Si vous voulez le contraire, permutez les valeurs.

 

Grabber V4L2

Device : le nom du Grabber donné par le système dans la majorité des cas c’est /dev/video0

Input : laisser 0.

Video Standard :  la norme à utiliser ( PAL dans notre cas )

Width et Height : à laisser par défaut -1.

Frame Decimation : à laisser par défaut 2.

Size Decimation : à laisser par défaut 8.

Priority Channel : 895 (une valeur inférieure à celle du Grabber interne donne la priorité à l’image externe)

3D mode : on choisit 2D.

Crop Left Right Top et Bottom: après avoir téléverser le fichier de configuration final et avoir un ambilight qui marche. On va retourner sur cette page et faire un clic droit au centre de l’écran de simulation, un menu contextuel s’ouvre permettant de faire une capture d’écran de l’image de Grabber, on clique sur « Take grabber Screenshot » et une image s’affiche à la place du « tourbillon de couleur »

 

hyperion6

 

hyperion7

 

Si on regarde attentivement l’image capturée en constate la présence de bandes noirs de quelques millimètres en haut, en bas, et aussi à droite. J’incrémente donc les valeur Top, Bottom et Right jusqu’à disparition des bandes

Des valeurs de 3 pour chacune ont corrigé le problème.

 

hyperion7

 

Red Signal Threshold: on ajuste cette valeur si le rouge capturé par le Grabber est plus foncé. On laisse à défaut 0.

Green Signal Threshold: 0.

Blue Signal Threshold: 0.

8-On se rend sur l’onglet External

 

Section Kodi checker:

On coche « Enabled » si on veut modifier les autres options, comme ça, si on coche « pause » par exemple l’Ambilight restera allumé même si la vidéo est en pause.

Kodi Ip-Address : 127.0.0.1 car Kodi se trouve sur le même appareil.

Port : on le laisse par défaut 9090.

 

Section Json/Proto/Boblight server :

Rien à changer ici pour le moment, les ports à configurer sert à faire de la Hue, ou étendre l’Ambilight. Chez moi j’ai monté une extension de bande à leds de 1m sur le meuble TV. La bande est pilotée par une Wemos D1 qui communique sans fils avec le Raspberry via ces ports.

 

Section Booteffect/Static color :

Enabled : on coche pour avoir un effet au démarrage du Raspberry, j’ai laissé tout à défaut.

 

Proto/Json Forward :

Rien à changer ici, ces ports servent à communiquer avec d’autres Ambilight est accessoires.

9-Maintenant qu’on a terminé la configuration on va créer notre fichier et le transférer vers le Raspberry. voici des captures de ma configuration:

 

 

On clique sur « Create Hyperion Configuration » tout en bas, on sauvegarde notre fichier, en se rend sur l’onglet SSH, enfin on clique sur « Send Config » vous devez voir ça en retour :

 

hyperion8

 

10-Redémarrer Hyperion en cliquant sur « stop » puis « start » vous devez voir l’effet de démarrage, et un super Ambilight qui fonctionne, félicitations !

En bonus, je vous met les liens vers les fichiers de calibrations, et quelques captures d’écran de l’application Android Fichiers de calibration des couleurs Fichiers de correction Gamma : ajuster les valeur RGB du Gamma si la couleur grise est colorée. Image blanche pour correction du whitelevel. Captures de l’application Hyperion Android.

 

 

Mon tutoriel touche à ça fin, rendez vous dans un mini tuto pour voir comment intégrer un Ambilight à sa domotique. je vous invite à me suivre sur les réseaux sociaux pour ne rien manquer A bientôt !