Aller au contenu


TheDarkRainibow

Inscrit(e) (le) 11 mai 2022
Déconnecté Dernière activité nov. 09 2022 10:28
-----

Sujets que j'ai initiés

Présentation du disque LED adressable RGB WS2812-B

02 novembre 2022 - 11:07

Bonjours à tous,

 

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

 

Fichier joint  disque-led-rgb-ws2812-b.jpg   19,67 Ko   16 téléchargement(s)

 

Présentation :

 

Le disque de LED RGB WS2812-B est un disque composé de plusieurs LEDS RGB WS2812-B. Utile pour faire des éclairages décoratifs, ou encore faire une lampe de bureau avec sélection de couleur, etc…. Chacune des leds peut être pilotées indépendamment et de n’importe quelle couleur.

 

Matériel nécessaire :

 

Les schémas de câblage :

 

Fichier joint  20221102_102806.jpg   96,06 Ko   17 téléchargement(s)

 

Le disque LED possède 2 prises 3 fils une «  input » et une «  output »  qui ont chacune :
  l’alimentation 5V fil rouge,
  une 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 disque LED et relier DIN du disque 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 disques LED il me suffira de brancher le connecteur DIN de mon deuxième disque à mon DOUT de mon premier disque…

 

Fichier joint  20221102_103341.jpg   55,04 Ko   16 téléchargement(s)

 

Code :

 

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

 

Il vous faut installer :

  • FastLED

 

Rappel pour installer les librairies vous pouvez le faire directement avec l’IDE Arduino via « outils » et « gérer les bibliothèques »

 

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

 

Fichier joint  Capture.PNG   22,25 Ko   17 téléchargement(s)

 

À l’aide du code d’exemple blink et d’un potentiomètre on va créer un programme permettant de sélectionner la led que l’on veut faire clignoter sur le disque.

 

On va d’abord ouvrir une nouvelle fenêtre en allant sur « fichier » et sur « nouveau ».

 

Aller sur le code Blink et copier :

#include <FastLED.h>

#define NUM_LEDS 8

#define DATA_PIN 6

CRGB leds[NUM_LEDS];

void setup() {

Serial.begin(9600);

FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);

 }

void loop() {

  // Turn the LED on, then pause

  leds[0] = CRGB::Red;

  FastLED.show();

  delay(500);

  // Now turn the LED off, then pause

  leds[0] = CRGB::Black;

  FastLED.show();

delay(500);

}

Coller le tout sur la nouvelle page que l’on a créé juste avant.

 

Fichier joint  Capture2.PNG   16,45 Ko   16 téléchargement(s)

 

On ajoute le code de la lecture du potentiomètre dans la fonction « void loop() » puis on fait la conversion des données du pot au nombre de led qu’a notre disque de LED (actuellement 35 leds).

int pot = analogRead(A0);

int led = pot/30;

Serial.print("Potentiomètre: ");

Serial.println(pot);

Serial.print("Numéro de LED: ");

Serial.println(led);

Remplacer «   leds[0] » par  « leds[led], » ajuster les « delay(500); » (selon votre choix) puis téléverser.

 

 

Voici la totalité du code :

 


Présentation de la barretteLED adressable RGB WS2812-B

01 novembre 2022 - 10:48

Bonjours à tous,

 

Aujourd’hui je vais  vous présenter  la barrette LED RGB WS2812-B et son fonctionnement.

 

Fichier joint  barrette-de-led-rgb-ws2812-b.jpg   20,14 Ko   16 téléchargement(s)

 

Présentation :

 

La barrette de LED RGB WS2812-B est une barrette composé de 8 LEDS RGB WS2812-B. Utile pour faire des éclairages décoratifs, ou encore faire une lampe de bureau avec sélection de couleur, etc…. Chacune des leds peut être pilotées indépendamment et de n’importe quelle couleur.

 

Matériel nécessaire :

 

Les schémas de câblage :

 

Fichier joint  20221101_215029.jpg   118,07 Ko   16 téléchargement(s)

 

La barrette LED possède 2 prises 4 fils une «  input » et une «  output »  qui ont chacune :
  l’alimentation 5V,
  deux masse (GND ) ,
 et les signaux DIN et DOUT ( Data Input et Data Output) .

 

Il faut relier le 5V et GND de l’arduino au 5V et GND de la barrette LED et relier DIN de la barrette 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 barrettes LED il me suffira de brancher le connecteur DIN de ma deuxième barrette à mon DOUT de ma première barrette…

 

Fichier joint  20221101_215503.jpg   82,87 Ko   16 téléchargement(s)

 

Code :

 

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

 

Il vous faut installer :

  • FastLED

 

Rappel pour installer les librairies vous pouvez le faire directement avec l’IDE Arduino via « outils » et « gérer les bibliothèques »

 

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

 

Fichier joint  Capture.PNG   22,25 Ko   16 téléchargement(s)

 

À l’aide du code d’exemple blink et d’un potentiomètre on va créer un programme permettant de sélectionner la led que l’on veut faire clignoter sur la barrette.

 

On va d’abord ouvrir une nouvelle fenêtre en allant sur « fichier » et sur « nouveau ».

Aller sur le code Blink et copier :

#include <FastLED.h>

#define NUM_LEDS 8

#define DATA_PIN 6

CRGB leds[NUM_LEDS];

void setup() {

Serial.begin(9600);

FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);

}

void loop() {

// Turn the LED on, then pause

leds[0] = CRGB::Red;

FastLED.show();

delay(500);

// Now turn the LED off, then pause

leds[0] = CRGB::Black;

FastLED.show();

delay(500);

}

Coller le tout sur la nouvelle page que l’on a créé juste avant.

 

Fichier joint  Capture2.PNG   16,45 Ko   17 téléchargement(s)

 

On ajoute le code de la lecture du potentiomètre dans la fonction « void loop() » puis on fait la conversion des données du pot au nombre de led qu’a notre barrette de LED (actuellement 8 leds).

int pot = analogRead(A0);

int led = pot/128;

Serial.print("Potentiomètre: ");

Serial.println(pot);

Serial.print("Numéro de LED: ");

Serial.println(led);

Remplacer «   leds[0] » par  « leds[led], » ajuster les « delay(500); » (selon votre choix) puis téléverser.

 

 

Voici la totalité du code :

 


Présentation du Panneau LED adressable 16x16 RGB WS2812-B

01 novembre 2022 - 02:30

Bonjours à tous,

 

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

 

Fichier joint  panneau-led-16x16-rgb-ws2812-b.jpg   131,1 Ko   16 téléchargement(s)

 

Présentation :

 

Le panneau LED 16x16 RGB WS2812-B est un panneau de 256 leds RGB adressable organisé en une matrice de 16 leds par 16 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 :

 

Fichier joint  20221101_131802.jpg   109,11 Ko   16 téléchargement(s)

 

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 …

 

Fichier joint  20221101_131914.jpg   188,98 Ko   16 téléchargement(s)

 

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 »

 

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

 

Fichier joint  code exemple utilisé utilisé.PNG   21,65 Ko   16 téléchargement(s)

 

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 16 x 16 leds soit un total de 256 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 16 x 16 qui vaut 256 leds  (équivalent à un ruban de 256 leds), il faut remplacer le 60 par 256.

 

Fichier joint  changement du nombre de leds.PNG   2,27 Ko   18 téléchargement(s)

 

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(100, 0, 0), 50); // Red

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

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

 

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

 

Fichier joint  ajout de la couleur blanche.PNG   6,76 Ko   16 téléchargement(s)

 

Voici ce que l’on obtient :

 

 

On va faire Pareille à la ligne :

 

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

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

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

 

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

 

Fichier joint  ajout de la couleut verte.PNG   5,28 Ko   17 téléchargement(s)

 

Voici ce que l’on obtient :

 


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

30 octobre 2022 - 06:20

Bonjours à tous,

 

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

 

Fichier joint  panneau-led-8x8-rgb-ws2812-b.jpg   104,68 Ko   16 téléchargement(s)

 

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 :

 

Fichier joint  20221030_154623.jpg   142,12 Ko   17 téléchargement(s)

 

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 …

 

Fichier joint  20221030_163912.jpg   102,16 Ko   17 téléchargement(s)

 

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 )

 

Fichier joint  code exemple utilisé utilisé.PNG   21,65 Ko   16 téléchargement(s)

 

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.

 

Fichier joint  changement du nombre de leds.PNG   4,17 Ko   16 téléchargement(s)

 

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)

 

Fichier joint  ajout de la couleur blanche.PNG   6,31 Ko   16 téléchargement(s)

 

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.

 

Fichier joint  ajout de la couleur vert.PNG   5,39 Ko   17 téléchargement(s)

 

Voici ce que l’on obtient :

 


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

29 octobre 2022 - 08:37

Bonjour à tous,

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

 

Fichier joint  1.png   763,33 Ko   16 téléchargement(s)

Présentation :

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

 

Matériel nécessaire :

Les schémas de câblage :

 

Fichier joint  Schéma de cablage.jpg   152,79 Ko   16 téléchargement(s)

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 …

Fichier joint  20221028_111510.jpg   92,45 Ko   16 téléchargement(s)

 

Code :

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

  •  Adafruit GFX 
  • Adafruit NeoPixel 
  • Adafruit NeoMatrix 
  • Adafruit BusIO 

Rappel pour installer les librairies vous pouvez le faire directement avec l’IDE Arduino via « outils » et « gérer les bibliothèques » 

 

Une fois les librairies installées on va pouvoir ouvrir le code d’exemple : matrixtest  (fichier / exemples / Adafuit NeoMatrix/Matrixtest)

Fichier joint  matrixtest.PNG   22,64 Ko   16 téléchargement(s)

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 ajuster le code aux dimensions de notre panneau à savoir 8 x 32 leds.
On modifie la ligne :

Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(5, 8, PIN,

  NEO_MATRIX_TOP     + NEO_MATRIX_RIGHT +

  NEO_MATRIX_COLUMNS + NEO_MATRIX_PROGRESSIVE,

  NEO_GRB            + NEO_KHZ800);

Cette ligne défini une matrice de  8 x 5,  où  5 représente le nombre de LED en horizontale et 8 représente le nombre de LED en Verticale.

Puisqu’on a une matrice de 8 x 32,  Il faut remplacer le 5 par 32.

Fichier joint  modification de la taille du panneau.PNG   3,85 Ko   16 téléchargement(s)

 

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

 

C’est mieux mais  le texte s’écrit  à l’envers.

Pour  corriger ce problème on remplace « NEO_MATRIX_RIGHT »,  par « NEO_MATRIX_LEFT »  

Voici le résultat obtenu :

 

C’est presque tout bon mais le texte semble «  faire un zigzag » pour corriger ce dernier point on va ajouter   NEO_MATRIX_ZIGZAG + après NEO_MATRIX_LEFT.
 

Fichier joint  ajout du zigzag.PNG   4,99 Ko   17 téléchargement(s)

Et voici enfin le résultat obtenu !
 

On peut désormais s’amuser à changer le texte qui défile en allant à la ligne « matrix.print(F("Howdy")) » et en modifiant le texte entre guillemets.