HALO : démo de mon Ambilight DIY

00_halo_demo

De retour après une longue absence. Mon système Ambilight a bien avancé, bien qu’il ne soit pas terminé, l’essentiel y est pour une première démo ! Je le poste donc tel quel parce que je vais me lancer sur autre chose ! Le détail des étapes précédentes (électronique, impression du boitier, intégration…) est disponibles dans les articles précédents).

Au menu :

  • Un logiciel permettant de piloter l’Arduino  nano, qui lui-même pilote le ruban de LEDs
  • Le logiciel se lance au démarrage de Windows et se charge dans la barre de notifications pour un accès rapide

01_halo_icon

  • Quand on clique sur l’icone, 3 modes sont disponibles :
    • Ambiance, qui permet de définir une couleur fixe ou une animation de couleurs
    • Ecran, pour analyser la couleur aux bords de l’écran et la transmettre aux LEDs associées (3 méthodes d’analyse sont disponibles : GDI, DirectX 9 et DirectX 11, la première étant la plus stable mais la moins performante sur les films par exemples)
    • Son, pour analyser le son de l’ordinateur et animer les LEDs en conséquence (ce mode est pour l’instant très expérimental, il ne se base que sur le niveau sonore). J’ai utilisé la librairie NAudio.

02_halo_menu

  • Le bouton « Configuration » permet d’accéder à de nombreux paramétrages, à commencer par le choix de l’écran équipé du ruban de LEDs, la configuration de la communication avec l’Arduino et le mode de démarrage du logiciel.

03_halo_settings

  • Un écran spécifique est disponible pour permettre un placement facile des LEDs (on peut en ajouter, en supprimer, les déplacer, définir la surface de couverture et d’analyse etc.)

04_halo_settings

  • D’autres options de configuration permettent de calibrer la puissance des LEDs, corriger les couleurs etc.

Et pour illustrer le tout, rien de tel qu’une vidéo :

Quelques remarques :
  • Tout n’est pas terminé :
    • L’analyse de l’écran marche bien, mais dans les films, la moyenne des couleurs tend souvent vers des gris, l’algo d’identification de la couleur dominante d’une zone est à ajuster.
    • La méthode de capture d’écran classique (GDI) induit de micro-ralentissements, presque imperceptibles, mais qui restent présents.
    • L’utilisation de DirectX (9 ou 11) fonctionne très bien pour les vidéos, mais  posent quelques autres problèmes (lorsque de la souris bouge par exemple)
    • La partie analyse du son est une ébauche, il est possible d’aller beaucoup plus loin : analyser séparément les canaux gauche/droite, analyser le spectre (aigus, médiums, graves) au lieu de se baser sur le volume etc.
    • Exposition d’un service pour que des applications tiers puissent piloter les LEDs
    • Ajout de modules de notifications (e-mails, facebook etc.)
  • Mon Arduino Nano vient de Chine et utilise vraisemblablement une puce FTDI « not genuine ».  L’année dernière FTDI a déclenché un petit scandale en publiant un driver qui modifiait le PID des puces contrefaites (le driver a depuis été supprimé de Windows Update). Bref, si vous êtes confrontés à un problème de communication avec votre Arduino, vous pouvez jeter un oeil ici (plus d’infos en vidéo ici, ici ou encore ).

Suite projet HALO : pilotage d’un ruban de 85 LEDs

Suite du précédent billet « Premiers pas vers un système Ambilight DIY« .

Après avoir validé la faisabilité de piloter un ruban de 6 LEDs avec le PC depuis une application Windows (C#) en passant par un Arduino Nano, l’étape suivante consiste en un test « grandeur nature ».

Mon système Ambilight contiendra environ 60-70 leds, 2 points essentiels sont à vérifier :

  • La consommation maximale de courant, pour prévoir une alimentation suffisante
  • La réactivité de l’ensemble

J’en ai aussi profité pour monter l’ensemble des composants sur une seule plaque électronique pour en faciliter l’intégration :

OLYMPUS DIGITAL CAMERA

En plus du câble USB, j’ai ajouté un connecteur pour le ruban de LEDs et un autre pour l’alimentation (dont l’entrée sera fixée sur le boitier) :

OLYMPUS DIGITAL CAMERA

De la même façon, un connecteur a été soudé sur le ruban de LEDs :

OLYMPUS DIGITAL CAMERA

OLYMPUS DIGITAL CAMERA

Et voici le tout en action, ça marche, c’est déjà ça 😉

OLYMPUS DIGITAL CAMERA

Première vérification : mesurer l’intensité. J’ai volontairement utilisé l’ensemble du ruban de LEDs (85 Leds) pour ces tests. Il suffit d’intercaler (en série) un multimètre pour faire les mesures.

Les LEDs de type WS2801 sont données pour une puissance de 0.3W, donc, à 5V, à puissance maximale, on ne devrait pas dépasser les 60 mA par LED.

Tout d’abord en utilisation classique (couleurs de l’arc en ciel), on tourne en moyenne à moins de 1.5A. La consommation semble faible, mais comme ici les LEDs ont toutes une couleur, elles ne sont pas à fond.

OLYMPUS DIGITAL CAMERA

Pour tester la consommation maximale, il faut les mettre à la puissance maximale, et en blanc. Ici on passe à 2.5A. Ce qui reste très raisonnable comparé aux 5A théoriques auxquels je m’attendais (mais je vérifierai quand même qu’elles sont bien à luminosité maximale).

OLYMPUS DIGITAL CAMERADans tous les cas, l’alimentation de 5V/4A que j’ai prévue fera parfaitement l’affaire pour 60-70 LEDs.

Le dernier point concerne la réactivité. Ici, rien à redire, ça dépote ! La démonstration en vidéo :