Hello World !

Tenez, regardez ça !

Sympa? 🙂

Récemment, j’ai eu l’occasion d’utiliser ces guirlandes de LEDs programmables pour me faire un Ambilight fait maison. Je ne suis pas le premier à en faire, loin de là, mais je vous partage tout de même ce que j’ai fait.

Le Concept

Le but était d’avoir un Ambilight qui fait le rendu des couleurs de l’écran, ainsi que le spectre sonore du PC. Le tout avec une carte type Arduino connectée en Bluetooth au PC (ce qui n’est pas forcément une bonne solution pour des raisons de rapidité de transfert des données et de la limitation de la connexion à 1 device par antenne).

Aspect Technique

Pour l’analyse des couleurs de l’écran, je suis passé par DirectX avec la librairie SlimDX, pour une question de performance.

Pour le spectre sonore, j’écoute la carte son de mon PC avec BASS.NET, récupère la moyenne des basses, calibre en fonction du niveau du son à gauche et à droite pour donner un effet stéréo, et j’envoie ça à ma carte.

Côté matériel, étant de nature radin, je me suis fourni sur recommandation d’un ami chez les Chinois avec le site Aliexpress, qui propose du matériel beaucoup moins cher, mais peut-être de moins bonne qualité (quoi que… j’ai fait subir bon nombre de courts-circuits dans les premiers instants, le temps que je me remette à l’électronique, et ça fonctionne toujours).

  1. Un Starter Kit « UNO R3 » (avec un CLONE d’Arduino Uno, beaucoup moins cher que l’original) histoire d’avoir une carte, des câbles et quelques composants pour m’entrainer.
  2. Deux clones de guirlandes WS2801.
  3. Une antenne Bluetooth HC-06.
  4. Des LEGO pour faire un boitier. Oui je suis radin jusqu’au bout…

Voilà, c’est à peu près tout.

Ressources & Codes

J’en ai récemment fait une conférence dans mon école. Vous trouverez beaucoup plus d’explications illustrées dans le PowerPoint accessible ici. Pour ceux qui ont vu la conférence, j’ai supprimé toutes les blagues politiquement incorrectes du PowerPoint. Ça passe à l’oral, mais un peu moins à la lecture sans le speaker.

Tous les codes sont accessibles depuis mon GitHub ci-dessous. Vous aurez besoin de VisualMicro, un outil permettant de compiler pour Arduino depuis Visual Studio. La version gratuite suffit largement.

Le code côté Arduino est plutôt propre, vu que c’est du bas niveau, j’ai plutôt fait attention. Par contre, côté C#, j’ai codé un petit peu à l’arrache, donc désolé si vos yeux pleurent : il y a un peu de Franglais dans les commentaires, je crois, et le Pattern n’est pas top top. Par contre, j’ai bien évité le code redondant avec le Cross-Plateform. Bref, ce n’est pas un chef d’oeuvre en terme de qualité, mais ça tourne. 🙂

Enjoy !
GitHub