Addressable bande LED Arduino

Le ruban LED adressable ws2812b Arduino attire de nombreux amateurs de radio pour pouvoir créer des projets intéressants et lumineux sur l’Arduino avec des LEDs ws2812b. Mais avant de vous lancer dans un nouveau projet sympa, vous devez comprendre comment connecter et contrôler correctement la bandelette adressable depuis l’Arduino. Dans cet article, nous allons voir quelques exemples simples pour travailler avec le WS2812B Arduino.


Pour cette activité, nous aurons besoin:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • ruban LED WS2812B
  • alimentation 5V
  • résistance de 100 à 500 ohms
  • librairie Adafruit_NeoPixel.h

Matériel supplémentaire sur ce sujet:

  1. Guirlande sur Arduino et bande LED ws2812b
  2. Librairie Adafruit_NeoPixel.h: exemples d’effets
  3. Librairie FastLED.h Arduino: exemples d’effets

Fonctionnement ruban LED adressable WS2812B

Les rubans adressables ont une densité de 30 à 144 LED par mètre et sont fabriqués dans différentes versions de protection : IP30, IP65, IP67, IP68. Toutes les versions, à l’exception de la version IP30, peuvent être utilisées en extérieur à des températures comprises entre -25°C et +80°C. Un autre ruban, plus robuste, le WS2813, se caractérise par sa capacité à transmettre les signaux en aval de la chaîne, même à travers une puce grillée.

Comment fonctionnement bande led adresable, datasheet
Comment fonctionnement led adresable (pinout, datasheet)

Caractéristiques LED adressable ws2812b:

  • Nombre: 30 – 144 LED par mètre
  • Taille de la LED: 5 x 5 mm
  • Tension d’alimentation: 5V maximum
  • Courant nominal: 60mA tirage par segment (tous les voyants pleine luminosité)
  • Taux de transfert de données: 800 kHz
  • Connecteur: 3 broches JST SM

La bande LED ws2812b est le summum de l’évolution des bandes. Chaque LED de la bande se compose d’une LED RVB classique et d’un contrôleur avec trois sorties à transistor. Il est ainsi possible de contrôler la couleur de n’importe quelle LED et de créer des effets de couleur et d’éclairage étonnants sur les lumières de Noël ws2812b et Arduino. C’est pourquoi le dispositif est populaire malgré son coût élevé par rapport à une bande LED classique.

Comment brancher ruban LED ws2812b Arduino Uno

Connecter ws2812b adressable bande LED Arduino
Comment connecter ws2812b adressable bande LED à l’Arduino

Trois bibliothèques populaires sont utilisées pour le fonctionnement du ruban: FastLED, AdafruitNeoPixel et LightWS2812. Toutes les bibliothèques peuvent être téléchargées à partir de notre site web. Les bibliothèques FastLED et Adafruit NeoPixel sont faciles à utiliser, mais diffèrent en termes de fonctionnalités et d’empreinte mémoire. Après avoir assemblé ce circuit simple et installé les bibliothèques, téléchargez le code de la bande d’adresses LED.

Programme Arduino utilisation ruban LED adressable

#include "Adafruit_NeoPixel.h"
#define PIN  4
#define NUMPIXELS 100
Adafruit_NeoPixel strip (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
   strip.begin();
   strip.setBrightness(50);  // luminosité de la LED (maximum 255)
}

void loop() {
   strip.setPixelColor(0, strip.Color(255, 0, 0))
   strip.show();
   delay(500);
   strip.clear();

   strip.setPixelColor(1, strip.Color(0, 0, 255));
   strip.show();
   delay(500);
   strip.clear();

   strip.setPixelColor(2, strip.Color(255, 255, 255));
   strip.show();
   delay(500);
   strip.clear();

}

Explication du code pour ruban LED adressable:

  1. le port de connexion du ruban, le nombre de pixels et la luminosité du ruban peuvent être modifiés dans le code;
  2. la numérotation des LED dans la bande commence à zéro, donc si vous voulez allumer la première LED, vous devez spécifier « 0 ».
Connexion du ruban led adressable ws2811 Arduino
Connexion du ruban led adressable ws2811 Arduino (alimentation 12 v)

Si vous avez un ruban led adressable WS2811 de 12 volts, il doit être connecté comme indiqué sur le schéma ci-dessus. La résistance sur la broche numérique la protège contre le risque de brûlure (si la bande est désexcitée, elle sera excitée par la broche numérique et la broche peut brûler). Ne connectez pas non plus la bande d’alimentation à la carte Arduino, sinon la diode de protection de l’Arduino ou le port USB de l’ordinateur risquent de brûler.

Programme Arduino effets en adressable bande LED

#include "Adafruit_NeoPixel.h"
#define PIN  4
#define NUMPIXELS 100

Adafruit_NeoPixel strip (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
   strip.begin();
   strip.setBrightness(50);  // luminosité de la LED (maximum 255)
}

void loop() {

   for (int i = -1; i < NUMPIXELS; i++) {
      strip.setPixelColor(i, strip.Color(255, 0, 0));
      strip.show();
      delay(100);
   }

   for (int i = -1; i < NUMPIXELS; i++) {
      strip.setPixelColor(i, strip.Color(0, 255, 0));
      strip.show();
      delay(100);
   }

   for (int i = -1; i < NUMPIXELS; i++) {
      strip.setPixelColor(i, strip.Color(0, 0, 255));
      strip.show();
      delay(100);
   }

}

Explication du code pour effets en adressable bande LED:

  1. la bibliothèque Adafruit NeoPixel permet de contrôler assez facilement la bande d’adresse. De nombreux effets différents peuvent être trouvés dans les exemples de la bibliothèque. Nous avons démontré une variante simple avec une boucle for pour activer le ruban.

Conclusion. WS2812B sont assez gourmandes en énergie, une LED consomme jusqu’à 60mA à la luminosité maximale. Une bande comportant 100 diodes nécessitera une alimentation de 6 ampères ou plus. Le microcontrôleur Arduino et la bande LED peuvent être connectés à des alimentations différentes, mais la masse doit être commune. Le fait est que la broche GND est également impliquée dans le contrôle de la bande d’adresse de la carte Arduino Uno.





Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.