Bandeau Led piloté par Arduino via WS2812B

Bonjour,

Je vais dans quelques temps changer mon PC et m’équiper du carte mère Asus avec Aura Sync.

Je voudrais donc mettre des bandeaux RGB sur mon bureau et aux écrans afin de créer une ambiance, et je souhaiterai piloter ces bandeaux directement depuis mon PC et les synchroniser avec les ventilos inclus dans le boitier et eux directement compatible Aura Sync.

Mais en regardant, je ne vois pas de longs bandeaux compatibles Aura, et rien que le prix des petits me refroidit un peu.

Alors j’ai eu l’idée d’utiliser un arduino et des mosfets pilotés en PWM pour faire la compatibilité, or les recherches que j’ai effectuer ne mon rien donner de probant, il s’agit dans la plupart des cas d’émettre des trames afin de piloter des bandeaux déjà compatibles. Et je voudrais faire l’inverse.

J’ai vu que Asus Aura Sync utilise le protocole WS2812B, là encore fait quelque recherches mais aucune idée de comment implémenter cela dans l’arduino, ou si il existe déjà une librairie.

Merci d’avance

Un arduino peut commander un bandeau de leds de type WS2812 avec les bibliothèques adafruit neopixel ou FastLED

Oui c'est ça que j'avais vu lors de mes recherches mais c'est l'inverse que je voudrait faire, en gros que l'arduino se comporte comme un bandeau WS2812, qu'il reçoive les ordres depuis la carte mère et qu'il pilote ensuite des bandeaux classiques, qui sont moins chères et au moins en peux en mettre autant que l'on veut

Je ne sais pas ce que tu appelles 'bandeau ordinaire', mais on trouve des bandeaux WS2812 pas cher chez Ali...

Ce qu'il te manque c'est la liaison entre la carte mère et l'arduino. Là, je ne connais pas Aura. Il faudrait savoir le protocole de communication utilisé et écrire le code arduino qui reçoit les commandes et les transforme en commandes des bandeaux de leds...

Existe-t-il une datasheet quelque part qui décrive ça ?

Ce que j'appelle un bandeau ordinaire, c'est les bandeaux qui on 4 bornes : GND(ou +12V)/R/G/B, et qui se pilotent ensuite avec des mosfets eux-mêmes commandé par PWM.

Justement je cherche la datasheet du protocole, j'ai trouvé ça
https://wiki.mchobby.be/index.php?title=NeoPixel-UserGuide-Programmation-Avancée
et ça

Et je comprend pas trop parce que de ce que voit, ça ne parle que des timing de transmission et la composition simpliste de la trame.

Non je parlais d'une explication de ceci

qu'il reçoive les ordres depuis la carte mère

Quels sont ces ordres, comment sont-ils transmis par cette carte mère ? Par une liaison série ?

Justement c'est que je cherche et que j'arrive pas à trouver pour l'instant, de ce que pense y'a des chances que ce soit du série ou même pourquoi pas du OneWire vu qu'il y a qu'un fil de données, et d'après ce que j'ai vu certains contrôleur serait basé sur du SPI, mais ça n'a pas l'air d'être le cas sur ma prochaine carte ASUS qui ne dispose que de 3 fils (+5V, DATA, GND) pour les bandes RGB adressables.

Sinon il y a des sorties "normales", directement sur la carte mère, c'est à dire +12V/R/G/B, je pourrai au cas où récupérer ce signal via l'arduino et le dispatcher ensuite sur les autres bandeaux, voir peut-être l'utiliser pour attaquer directement (peut-être via un opto au cas où) les mosfets pour disposer de plus de courant.

Mais je préfère tout de même la solution adressable, c'est plus technique, donc plus intéressant à réaliser :wink:

La question à se poser ce serait est-ce que par hasard le protocol ne gérerait pas directement les LEDs WS2812B?

@fdufnews c'est tout à fait ça, il y a un µC par LED et il est relié au "bus" de données WS2812B, et donc directement à la broche DATA de la carte mère

Là actuellement je fait quelques test avec un Arduino qui émet des trames avec la librairie Adafruit Neopixel et un autre qui les reçois et j'essaye de les décoder. Pour l'instant pas d'autre résultat qu'une suite binaire en scrutant directement l'état de la broche de données.

Je vais certainement commander une bande led RGB adressable pour faire quelques tests supplémentaires.

J'ai pu faire quelques tests avec un bandeau RGB adressable acheté "par hasard" et les librairies NéoPixel et FastLed, et cela fonctionne.

Je vais donc pouvoir faire d'autres essais, et me plonger dans le code de la libriarie pour essayer d'y comprendre quelque chose.

Je dis par hasard car c'est un bandeau que je pensais classique, avec une télécommande pour le piloter, mais en le testant, je me suis aperçu des effets qu'il pouvait faire, comme un chenillard par exemple, et en n'y regardant de plus près je me suis rendu compte qu'il y avait plusieurs µC dans le ruban.

Il s'avère en réalité qu'il y'en a 1 pour 3 leds, et les bornes sont notées VCC, D et GND. Je démonte le contrôleur et relis donc le fil "D" à la broche de l'arduino et met les masses en commun, BINGO, en fait le ruban fonctionne en interne avec WS2812B en BRG.

Donc premier test d'un ruban adressable réussi, et au vu du prix pour 5 mètres, mon projet tombe un peu à l'eau. Mais je vais surement persister, ne serai-ce que pour comprendre le fonctionnement, et on ne sait jamais mais cela pourrait peut-être servir à moi ou à quelqu'un d'autre.

Pour finir, je pense qu'il fonctionnera sur une carte mère mais ce n'est pas encore sûr, donc peut-être que l'arduino pourra jouer le rôle d'interface.