Aller au contenu


Photo

Présentation du Panneau LED adressable 8x8 RGB WS2812-B


  • Veuillez vous connecter pour répondre
1 réponse à ce sujet

#1 TheDarkRainibow

TheDarkRainibow

    Membre

  • Membres
  • 19 messages
  • Gender:Male

Posté 30 octobre 2022 - 06:20

Bonjours à tous,

 

Aujourd’hui je vais  vous présenter  le panneau LED 8x8 RGB WS2812-B et son fonctionnement.

 

panneau-led-8x8-rgb-ws2812-b.jpg

 

Présentation :

 

Le panneau LED 8x8 RGB WS2812-B est un panneau de 64 leds RGB adressable organisé en une matrice de 8 leds par 8 leds. Chacune des leds peut être pilotées indépendamment et de n’importe quelle couleur. On peut donc l’utiliser pour afficher des animations etc.…

 

 

Matériel nécessaire :

 

Les schémas de câblage :

 

20221030_154623.jpg

 

Le panneau LED possède 2 prises 3 fils une «  input » et une «  output »  qui ont chacune :

 

L’alimentation 5V fil rouge ,

La masse (GND )  fil blanc,
et les signaux DIN et DOUT ( Data Input et Data Output) fil vert.

 

Il faut relier le 5V et GND de l’arduino au 5V et GND du panneau LED et relier DIN du panneau LED à la broche de notre choix,  GPIO  6 dans cet exemple.

L’avantage de ce genre de led adressable c’est qu’on peut les chaîner, si je veux brancher deux panneaux LED il me suffira de brancher le connecteur DIN de mon deuxième panneau à mon DOUT de mon premier panneau …

 

20221030_163912.jpg

 

Code :

 

Pour piloter ce panneau LED il existe un ensemble de librairies qui vont vous simplifier la tâche.

 

Il vous faut installer :

  • Adafruit NeoPixel 

 

Rappel pour installer les librairies vous pouvez le faire directement avec l’IDE Arduino via « outils » et « gérer les bibliothèques »  [LIEN] https://www.robot-ma...theque-arduino/

 

Une fois les librairies installées on va pouvoir ouvrir le code d’exemple : strandtest_wheel  (fichier / exemples / Adafruit NeoPixel / strandtest_wheel )

 

code exemple utilisé utilisé.PNG

 

Bien que ce programme ne soit pas tout de suite compatible avec notre matrice on peut l’essayer et voici ce que l’on obtient :

 

 

Cela ne fonctionne pas complètement comme prévu mais pas de panique c’est normal on va corriger les différents points.

 

Tout notre panneau n’est pas utilisé.

 

Pour Régler cela il faut juste ajuster le code aux dimensions de notre panneau à savoir 8 x 8 leds soit un total de 64 leds.

 

On modifie la ligne :

 

Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

 

Cette ligne défini un ruban de 60 leds.

 

Puisqu’on a une matrice de 8 x 8 qui vaut 64 leds  (équivalent à un ruban de 64 leds), il faut remplacer le 60 par 64.

 

changement du nombre de leds.PNG

 

On téléverse, et voici le résultat obtenu :

 

 

Vu que notre panneau est maintenant à taille, on va pouvoir s’amuser  à rajouter  2 autres couleurs.

 

Pour ce faire on va ajouter une couleur à la ligne :

 

void loop() {

  // Some example procedures showing how to display to the pixels:

  colorWipe(strip.Color(255, 0, 0), 50); // Red

  colorWipe(strip.Color(0, 255, 0), 50); // Green

  colorWipe(strip.Color(0, 0, 255), 50); // Blue

 

Après  « colorWipe(strip.Color(0, 0, 255), 50); // Blue » on retourne à la ligne et on écrit la même chose, sauf qu’on va remplacer les 0 par 255 pour faire du blanc et ne pas toucher le 50 (le 50 représente la vitesse des leds)

 

ajout de la couleur blanche.PNG

 

Voici ce que l’on obtient :

 

 

On va faire Pareille à la ligne :

 

theaterChase(strip.Color(127, 127, 127), 50); // White

theaterChase(strip.Color(127, 0, 0), 50); // Red

theaterChase(strip.Color(0, 0, 127), 50); // Blue

 

Juste après « theaterChase(strip.Color(127, 0, 0), 50); // Red » on ajoute la couleur Vert, donc on écrit la même chose que précédent en modifiant le 127 par 0 et le 0 au centre par 127 on ne touche pas le 50.

 

ajout de la couleur vert.PNG

 

Voici ce que l’on obtient :

 



#2 TheDarkRainibow

TheDarkRainibow

    Membre

  • Membres
  • 19 messages
  • Gender:Male

Posté 30 octobre 2022 - 06:22

voici la totalité du code:

 

 






0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users