EN DIRECT en ligne connexion / inscription
Connexion

Surnom/Pseudo
Mot de Passe :

[ Vous avez perdu votre mot de pass ? | Devenir membre ]

×

[Workblog] Création d'un Ambilight DIY

CowcotLand topic RSS feed Surveiller les réponses de ce sujet
Banender @
Saisonnier
Saisonnier

172pts

Inscrit le: 05 novembre 2018
Messages: 67

Navigateur : n.c.

Hors ligne
Message Posté le: 19 décembre 2019 à 16:58  Lien permanent
Répondre en citant
Hello world, j’ouvre ce fil pour permettre à ceux qui le souhaite de suivre mon projet d’Ambilight DIY pour mon écran d’ordinateur. Je mettrai à jour le post principal à chaque avancée afin d’être le plus lisible possible, en essayant de respecter la chronologie de ma démarche. N’hésitez pas à poster vos remarques, questions et suggestions Clin d'oeil

Disclaimer : je ne suis pas un professionnel et il se pourrait que je me trompe sur certain point, n’hésitez pas à me le faire remarquer.

1. De l’idée à la définition du projet :

Je suis friand de projet DIY, j’aime toucher à tout et découvrir de nouvelles disciplines. J’ai quelques expériences dans les domaines de l’électronique et de la programmation, mais je suis loin d’être un as.

L’idée d’un Ambilight « maison » me trotte dans la tête depuis longtemps sans pour autant me lancer. Il faut y consacrer du temps que je n’étais pas forcément disposé à mettre. L’idée est simple : installer des LED à l’arrière de mon écran d’ordinateur qui reproduit les couleurs de l’écran, donnant un effet de prolongement de l’image.

Il y a quelques mois, je me suis finalement décidé à me renseigner un peu plus sur la question. Ce projet étant assez classique dans le monde du DIY, il y a pléthore de tutoriels plus ou moins complets sur le net. J’ai donc potassé le sujet pendant un moment afin d’abord de comprendre le fonctionnement d’un Ambilight puis de définir correctement ce que moi je voulais et comment y arriver. Qui dit projet « classique » dit également multitude de solutions techniques, d’où l’importance de correctement définir le concept.

Le fonctionnement d’un Ambilight est relativement simple, l’image envoyée par le GPU est d’abord captée et traitée par un logiciel dédié. Le traitement consiste à faire une moyenne des couleurs sur une tranche de l’image correspondant à une LED. Pour un ruban de 60 LED, le logiciel va donc découper l’image en 60 tranches d’une couleur. Cette information est ensuite envoyée à un microcontrôleur chargé de l’interpréter, de la transformer en signaux et de répartir et envoyer ces derniers aux LED.

Image 15354

Des choix techniques s’imposent à chaque étape. Il est d’abord nécessaire de choisir la méthode d’acquisition et de traitement de l’image. Outre le logiciel, il faut également choisir la partie hardware. Si l’image ne provient que d’un PC, le logiciel peut tourner directement dessus. Mais dans le cas d’une utilisation en multi-sources, il faudra passer par un boitier d’acquisition spécifique (un grabber) et envoyer l’information vers un ordinateur indépendant (HTPC, micro-ordinateur type Rasberry ou Odroid) si on ne veut pas laisser tourner son PC en permanence.

Le choix du microcontrôleur est fortement dépendant de la méthode utilisée à la première étape. En effet dans le cas de l’utilisation d’un micro-ordinateur, ce dernier pourra intégrer la deuxième étape. Dans les autres cas, il faudra utiliser un microcontrôleur indépendant. Le choix le plus évident un l’utilisation d’une carte Arduino. Ici aussi des choix software seront à faire, tant dans l’utilisation des bibliothèques à disposition que de la programmation du microcontrôleur. Nous y reviendrons dans une partie dédiée.

Dernière étape, l’envoi des signaux générés par le microcontrôleur et l’affichage des couleurs. Il existe des dizaines de modèles de LED dans le commerce et le choix dépend de l’utilisation envisagée.

Enfin, on pourra faire le choix d’une transmission filaire ou Wi-Fi entre les étapes une et deux.

La définition de mon projet :

Une fois bien renseigné sur le sujet, j’ai pu définir plus précisément ce que je souhaitais réaliser et les solutions techniques disponibles pour y arriver. Le projet est à destination de mon bureau, l’écran et la tour sont proches et je n’ai pas d’autres sources d’image. Je suis donc parti sur le plus simple possible : le logiciel de traitement tournera sur mon PC et transmettra l’image par câble USB au microcontrôleur. Ce dernier sera un ATmega328 monté sur une Arduino Nano. Son prix et sa taille en font un choix idéal, ses performances sont largement suffisantes et surtout, j’ai une Arduino Uno sous la main pour les tests et je sais à peu près m’en servir ! J’ai choisi pour l’instant d’utiliser une version fork du logiciel d’acquisition et de traitement Prismatik de Lightpack. Ce logiciel étant open source, Patrick Siegler en a fait une version adaptée à des projets DIY et disponible gratuitement sur GitHub.

Le choix de la technologie des LED est assez rapide puisque pour une utilisation en intérieur un modèle est supérieur en tout point aux autres : les APA102. La communication entre le microcontrôleur et les LED se fait par une liaison SPI synchronisée par une horloge. On a donc quatre broches (Alimentation, DATA et CLOCK) à la différence des classiques WS2812 à trois broches. Cela permet de supprimer complètement les problèmes d’interruption liés à la synchronisation PWM des WS2812. La séparation des fonctions de transfert de données et d’horloge autorise une fréquence de communication, et donc une vitesse de transfert largement supérieure aux modèles PWM. Reste à choisir la densité de LED, ici aussi les tutoriels font consensus : 60 LED/m semble être un minimum pour avoir un résultat satisfaisant sans pour autant consommer trop (une unique LED consomme au maximum 60 mA, il faut donc rapidement une grosse alimentation).

TL:DR : Pour résumer, j’utilise une version non-officielle du logiciel d’acquisition et de traitement Prismatik sur mon ordinateur. Je transmets l’information via une liaison USB à une carte Arduino Nano qui se charge d’interpréter et de transformer cette information en signaux eux-mêmes transmis au ruban de LED APA102.


[EDIT du 22/12/2019] :

2. Prototypage et premiers tests :

Je continue aujourd’hui avec le prototypage de la bête. Pour ce faire, on sort le matériel de base : une planche à pain, un multimètre, des jumpers et de l’électronique passive. Comme je le disais précédemment, j’ai également ma carte Arduino Uno qui me servira pour les tests mais qui sera remplacée par une Arduino Nano dans le montage final. Il me manque juste à commander le ruban de LED et une alimentation adéquate (une LED consomme au maximum 60 mA, j’ai prévu de pouvoir installer le ruban sur un écran 32 pouces en 21/9ème soit 128 LED. Il me faut donc 7,68 A, j’ai pris une 10 A pour être confortable. Attention à ne pas trop surdimensionner l’alimentation, au risque de perdre en rendement).

Le schéma de principe est très simple, pas de fioritures puisqu’il n’y a pas de composants particulièrement sensibles. J’ai adapté celui de Dave pour qu’il soit compatible avec les APA102, je verrai si j’ai besoin de le faire évoluer ensuite.

Image 15362

Remarquez sur le schéma les deux entrées JST à 4 broches, l’une d’elle est entièrement câblée, elle est reliée à la carte Arduino (les deux fameuses entrées DATA et CLOCK) et à l’alimentation. La seconde prise JST est là uniquement pour alimenter le ruban depuis l’autre extrémité. Cela permet d’avoir une alimentation uniforme sur l’ensemble du ruban et de ne pas trop solliciter les câbles de la prise JST qui ne sont pas dimensionnés pour des grosse intensités. J’ai retiré le jumper de reset qui ne me sera pas utile puisque la carte Arduino possède un bouton dédié à cette fonction. Enfin, les résistances empêchent la carte Arduino de tirer du courant par les entrées digitales et le condensateur, branché en parallèle de l’alimentation, permet de lisser la tension de sortie juste au cas où.

Une fois les composants manquants arrivés, me voilà fin prêt à commencer le prototype. Pour les tests, je n’utilise qu’un petit bout de ruban et une seule prise JST.

Image 15363

Une fois le montage finalisé, il faut configurer la carte Arduino, télécharger la bibliothèque FastLED et écrire le sketch. Pour cette partie, je me suis basé sur le tutoriel de Youssef Bohli « Mettre en place un système Ambilight sous Windows avec AmbiBox ». La configuration de Prismatik se fait très simplement, il suffit de suivre les indications et de remplir les informations selon les paramètres de la carte Arduino et du ruban de LED.

Une fois tous les branchements faits et les logiciels configurés il est temps de passer aux tests. Et magie, ça fonctionne du premier coup ! J’ai seulement dû inverser les couleurs (BRG au lieu de RGB) dans les paramètres de Prismatik puisqu’il ne les reconnaissait pas dans le bon ordre. Le seul soucis que j’ai à ce stade est la présence de flash blanc sur certaine LED lors de changement de couleur. Je n’ai pas encore trouvé l’origine du problème et j’ai décidé de voir s’il persiste sur la v1 avant de trouver une solution.

Image 15364

3. La liste du matériel pour la v1 :

Le prototype étant assez satisfaisant pour moi, je peux maintenant passer à la réalisation de la v1 et pour cela je vais avoir besoin de matériel supplémentaire. Je vous présente dans cette section l’ensemble des composants que j’ai utilisé.

• Un ruban de LED de 5 m avec 60 LED/m – 21,62 € : https://fr.aliexpress.com/item/32969463242.html?spm=a2g0s.9042311.0.0.37826c372UYs5o
• Une carte Arduino Nano – 4,33 € : https://www.amazon.fr/gp/product/B0722YYBSS/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
• Une alimentation 5v – 10A – 22,99 € (attention à la qualité de l’alimentation, on parle de quelque chose branché directement sur le 220 V) : https://www.amazon.fr/gp/product/B07YVBHH6K/ref=ppx_yo_dt_b_asin_image_o01_s00?ie=UTF8&psc=1
• Deux câbles JST 4 broches – 1,56 € (pack de 5) : https://fr.aliexpress.com/item/32715968734.html?spm=a2g0s.9042311.0.0.37826c372UYs5o
• Des connecteurs d’angle – 4,88 € : https://fr.aliexpress.com/item/33027466365.html?spm=a2g0s.9042311.0.0.37826c372UYs5o
• Des gaines tressées – 1,30 € : https://fr.aliexpress.com/item/32875399483.html?spm=a2g0s.9042311.0.0.37826c37H8xZiu
• Du silicone adhésif double face – 0,67 € : https://fr.aliexpress.com/item/32905098341.html?spm=a2g0s.9042311.0.0.37826c372UYs5o
• Une plaque époxy cuivrée – 3 € chez Saint Quentin Radio
• Une fiche d’alimentation de circuit imprimé – 0,9 € chez Saint Quentin Radio
• Un condensateur chimique d’1mF – 25 V – 1,20 € chez Saint Quentin Radio
• Deux résistances de 470 Ω
• Un câble USB mini type B récupéré d’un ancien appareil électronique

Au total j’en ai pour 62,45 € et beaucoup de « reste » que je pourrais utiliser pour d’autres projets. En ramenant le coût à ce que je consomme uniquement pour cet Ambilight, je suis à 42,67 € dont plus de la moitié rien que pour l’alimentation. On trouve sur internet des blocs d’alimentation bien moins chers que celui que j’ai pris. Compte-tenu de la dangerosité d’une alimentation potentiellement défectueuse, j’ai préféré mettre un peu plus dans une alimentation de qualité.

Voilà tout pour aujourd’hui, on se retrouve après les congés de fin d’année pour le montage et le test de la v1. Bonnes fêtes à tous !


Les ressources :

• L’excellent tutoriel de Dave sur son site Parts not included dont je m’inspire très fortement : https://www.partsnotincluded.com/projects/ambilight/
• Un billet de Youssef Bohli sur son site Ambimod qui décrit les différentes technologies de LED adaptées aux Ambilight : https://ambimod.jimdofree.com/2017/01/19/bien-choisir-sa-bande-de-leds-pour-faire-de-l-ambilight/. Son site est également truffé de divers tutoriels.
• Le fork de Prismatik de Patrick Siegler : https://github.com/psieg/Lightpack/releases
• Un peu de documentation sur les problèmes d’interruption de la technologie PWM par Daniel Garcia : https://github.com/FastLED/FastLED/wiki/Interrupt-problems
• La bibliothèque FastLED pour Arduino : http://fastled.io


Dernière édition par Banender le 22 décembre 2019 à 17:28; édité 1 fois
Voir le profil de l'utilisateur Envoyer un message privé
Esgalion @
Agriculteur
Agriculteur

2245pts

Inscrit le: 21 janvier 2014
Age: 41
Messages: 1054

Navigateur : n.c.

Hors ligne
Message Posté le: 20 décembre 2019 à 15:57  Lien permanent
Répondre en citant
Je plante la tente 🏕 ici
Voir le profil de l'utilisateur Envoyer un message privé » Album Photos
Anolnx @
Métayer
Métayer

3800pts

Inscrit le: 23 septembre 2014
Messages: 561

Navigateur : Firefox

Hors ligne
Message Posté le: 20 décembre 2019 à 16:18  Lien permanent
Répondre en citant


( Oui, j'aurais pu cliquer sans en faire état, mais un peu d’encouragement ne fait pas de mal. Clin d'oeil )
Voir le profil de l'utilisateur Envoyer un message privé
Banender @
Saisonnier
Saisonnier

172pts

Inscrit le: 05 novembre 2018
Messages: 67

Navigateur : n.c.

Hors ligne
Message Posté le: 21 décembre 2019 à 12:26  Lien permanent
Répondre en citant
Merci Sourire, je devrais avoir le temps de rédiger un bout dans le weekend.

Ce matin petit saut à Saint-Quentin Radio histoire d'acheter quelques bricoles qui me serviront pour faire le circuit imprimé.
Voir le profil de l'utilisateur Envoyer un message privé
GinKamui @
Cultivateur
Cultivateur

1356pts

Inscrit le: 07 mai 2018
Age: 45
Messages: 672

Navigateur : Firefox

Hors ligne
Message Posté le: 21 décembre 2019 à 13:26  Lien permanent
Répondre en citant
Ça pourrait être super fun pour tuner le Surface dépourvu de RGB!
Question cowne ça marche avec du 21/9 ?


Voir le profil de l'utilisateur Envoyer un message privé
Banender @
Saisonnier
Saisonnier

172pts

Inscrit le: 05 novembre 2018
Messages: 67

Navigateur : n.c.

Hors ligne
Message Posté le: 22 décembre 2019 à 10:37  Lien permanent
Répondre en citant
GinKamui a écrit:
Question cowne ça marche avec du 21/9 ?

Bien sûr ça peut s'installer sur n'importe quel écran, il suffit d'adapter le nombre de LED et l'alimentation Sourire. D'ailleurs celui que je suis en train de faire est dimensionné pour un écran 32' 21/9, juste au cas ou...!
Voir le profil de l'utilisateur Envoyer un message privé
Banender @
Saisonnier
Saisonnier

172pts

Inscrit le: 05 novembre 2018
Messages: 67

Navigateur : n.c.

Hors ligne
Message Posté le: 22 décembre 2019 à 17:29  Lien permanent
Répondre en citant
Nouvelle édition du workblog, j'ai ajouté les parties 2. Prototypage et premiers tests et 3. La liste du matériel pour la v1.
Voir le profil de l'utilisateur Envoyer un message privé
Le_nincha @
Saisonnier
Saisonnier

77pts

Inscrit le: 12 avril 2018
Age: 37
Messages: 25

Navigateur : n.c.

Hors ligne
Message Posté le: 02 janvier 2020 à 12:43  Lien permanent
Répondre en citant
Intéressant comme projet, je vais suivre ton travail, bon courage !


- Ryzen 5 3600 et Sapphire pulse Vega 56, 16 Go de ram, ssd 870+ 512 go, windows 10...
- NAS DIY sous openmediavault + nextcloud et qq containers dockers qui tournent
Voir le profil de l'utilisateur Envoyer un message privé
Banender @
Saisonnier
Saisonnier

172pts

Inscrit le: 05 novembre 2018
Messages: 67

Navigateur : n.c.

Hors ligne
Message Posté le: 06 janvier 2020 à 13:33  Lien permanent
Répondre en citant
Hello, bonne année à tous.

Ce weekend reprise du boulot puisque j'ai reçu quasiment tous ce qu'il me manquait. J'ai fabriqué le ruban de LED entier et j'ai commencé quelques tests non-concluants pour l'instant. Je n'ai pas encore réussi à identifier la cause, certainement un problème dans le sketch Arduino que j'ai modifié avant Noël sans le vérifier. Les connecteurs d'angle sont vraiment de mauvaise qualité, je vais devoir les souder au ruban pour que la liaison se fasse correctement. Affaire à suivre Sourire
Voir le profil de l'utilisateur Envoyer un message privé
GinKamui @
Cultivateur
Cultivateur

1356pts

Inscrit le: 07 mai 2018
Age: 45
Messages: 672

Navigateur : Firefox

Hors ligne
Message Posté le: 06 janvier 2020 à 13:46  Lien permanent
Répondre en citant
Fait nous des photos mêmes des problèmes cela permet d’éviter de tomber dans les mêmes pièges ^^


Voir le profil de l'utilisateur Envoyer un message privé
HarFanG @
Céréalier
Céréalier

7693pts

Inscrit le: 13 mai 2011
Messages: 2577
Localisation: Strasbourg
Navigateur : n.c.

Hors ligne
Message Posté le: 06 janvier 2020 à 13:59  Lien permanent
Répondre en citant
Je pose ceci dans ce coin, là-bas dans le fond : https://www.instructables.com/id/DIY-Ambilight-Using-Arduino-Nano/


Modérateur CCL since 2013.
Voir le profil de l'utilisateur Envoyer un message privé
Banender @
Saisonnier
Saisonnier

172pts

Inscrit le: 05 novembre 2018
Messages: 67

Navigateur : n.c.

Hors ligne
Message Posté le: 08 janvier 2020 à 15:10  Lien permanent
Répondre en citant
GinKamui a écrit:
Fait nous des photos mêmes des problèmes cela permet d’éviter de tomber dans les mêmes pièges ^^

Je n'ai pas mis de photos car ce n'est vraiment pas très intéressant à ce stade puisqu'il n'y a rien qui marche haha ! En voilà quand même pour voir où ça en est :

Image 15432

Image 15433

Je ne suis pas tellement inquiet, c'est juste que je n'ai pas eu beaucoup de temps pour le moment. Ça devrait avancer ce weekend Sourire

HarFanG a écrit:
Je pose ceci dans ce coin, là-bas dans le fond : https://www.instructables.com/id/DIY-Ambilight-Using-Arduino-Nano/

Merci pour le lien, je ne le connaissais pas celui-là. J'aime bien la méthode des trombones pour les angles ! J'ai en tête de faire quelque chose le plus propre possible et sans connexions apparentes d'où l'achat des connecteurs d'angle.
Voir le profil de l'utilisateur Envoyer un message privé
NamNam @
Cultivateur
Cultivateur

1094pts

Inscrit le: 04 juin 2017
Age: 36
Messages: 839
Localisation: Aix En Provence
Navigateur : n.c.

Hors ligne
Message Posté le: 08 janvier 2020 à 19:42  Lien permanent
Répondre en citant
super projet.
J'attends la suite Sourire
Voir le profil de l'utilisateur Envoyer un message privé
Sauter vers: 
Surveiller les réponses de ce sujet CowcotLand topic RSS feed  

Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sujets similaires

Sujet Auteur Forum Réponses Posté le
Pas de nouveau message Recherche simili Ambilight pour PC Ahariz Ecrans 13 10 décembre 2023 à 14:40
Pas de nouveau message Problème crash Windows 10 création d'un compte local Mybluesuedeshoe OsLand 4 05 avril 2023 à 12:42
Pas de nouveau message Création de NFT ? Has Questions diverses... 2 08 avril 2022 à 00:43
Pas de nouveau message Création boucle evolutive SirCelester Watercooling 26 02 décembre 2021 à 19:29
Pas de nouveau message Creation de mon clavier, avis de connaisseurs. InsidWeb Claviers et souris 12 09 décembre 2019 à 11:25