Piloter les couleurs RGB de ses périphériques avec une arduino pro micro
Cadeau
J'ai profité de mon anniversaire pour me faire offrir un clavier RGB pour remplacer un vieux clavier gamer qui était en fin de vie :)
Mon choix s'est porté sur le K55 RGB Pro de chez Corsair.
J'ai installé comme recommandé le logiciel de corsair Icue pour piloter les effets sur le clavier. J'ai découvert d'ailleurs qu'il y a plusieurs périphériques pilotables qui sont vendus par Corsair, des strip leds, des ventilateurs etc... et tous peuvent être pilotés pas Icue.
Le logiciel peut même éclairer les périphs selon les valeurs de la RAM ou du CPU du PC ou d'autres composants.
Un peu trop gourmand
Une chose m'a un peu chagriné avec à ce logiciel c'est que j'ai remarqué que la RAM qu'il utilise est assez conséquente, environ 150Mo voir plus selon les utilisations si on rajoute des plugins.
Du coup j'ai commencé à chercher des alternatives, j'ai essayé signalRGB qui peut piloter toutes sortes de périphs de marques différentes mais alors lui il consomme carrément minimum 400Mo LOL !
Et je suis tombé sur OpenRGB, un logiciel open source qui semble faire les mêmes choses que les autres voir plus et il consomme environ entre 10Mo et 50Mo comme quoi quand on veut on peut faire plus léger.
Piloter des bandes de leds RGB
Parmis les périphériques que Icue et OpenRGB peuvent piloter il y a par exemple le Corsair Node Pro (en moyenne plus de 65€), un boitier qui peut piloter des bandes de leds RGB adressables.
Il possède 2 sorties (channels) permettant de piloter 2 bandes avec différents effets.
Un émulateur à base d'arduino
Ayant déjà des bandes de leds adressables RGB de 30 leds par mètre j'ai fouiné un peu sur le web et j'ai trouvé une alternative sympa.
On peut en effet émuler un boitier node pro avec une arduino pro micro à 3€ et la librairie de Leon Kiefer Corsair_Lighting_Protocol avec en complément la fameuse librairie FastLed.
Pour émuler le node pro il faut charger l'exemple LightingNodePRO qui utilise les 2 channels, par contre il faut remplacer le 96 par le nombre de leds total de chaque channels.
Il faut suivre la documentation de la librairie sur github pour installer les protocoles des cartes.
Le schéma ressemble à ça :
Le 5v alimente uniquement les bandes de leds et le ground est commun aux leds et à la carte.
Les
pins d2 et d3 de l'arduino sont les channels 1 et 2.
A signaler que l'alimentation doit comporter un bon nombre d'ampères pour supporter toutes les leds. Je suis parti sur une alim 5v 5A.
Conception d'une carte sur easyeda
Une fois le test fait sur une breadboard j'ai direct commencé à faire une carte sur easyeda.
J'ai prévu de pouvoir mettre un jumper si on veut utiliser le 5v venant de l'USB de l'arduino pour quand on veut faire des tests. Par contre il faut bien enlever le jumper si on alimente avec une alim externe 5v car sinon on crâme l'arduino :) .
La partie PCB
En 3D
Le résultat final
Attente des cartes une dizaine de jours de JLCPCB et voilà le resultat final
Alimentation
Pour commencer il a fallu acheter une alim 5v et important 5 Ampères pour pouvoir supporter les 60 leds.
Connecteurs
Pour rendre le tout plus pratique j'ai commandé chez aliexpress des connecteurs JST qu'il faudra souder aux entrées et sorties des câbles. (2€)
Profilés Alu 1m
Pour insérer les bandes de leds RGB j'ai acheté 2 profils alu de 1m chez Leroy Merlin (9€ chacun)
Câble
Pour finir et pouvoir placer les barres de leds plus loin de la carte il a fallu du câble 2 paires.