SOMMAIRE ►
L’anneau sur le ruban LEDs adressable (module Arduino NeoPixel Ring ws2812b) vous permet de créer divers effets lumineux magnifiques. Dans cette revue, nous allons envisager de connecter un anneau de LEDs ws2812b de 16 ou 24 pixels au microcontrôleur Arduino et fournir quelques exemples de programmes avec des effets intéressants pour afficheur circulaire NeoPixel Ring en utilisant la bibliothèque Adafruit_NeoPixel.h.
Pour cette activité, nous aurons besoin:
- Arduino Uno / Arduino Nano / Arduino Mega
- Adafruit NeoPixel Ring 16 / 24 LED
- fils de connexion
- librairies Adafruit_NeoPixel.h et hsv.h
Matériel supplémentaire sur ce sujet:
Fonctionnement Adafruit NeoPixel Ring

Caractéristiques TTP223
- Alimentation: 5V ( limite entre 4V et 7V)
- Consommation: 18mA par LED
- Interfacte: Série
Les modules sont connectés par l’entrée (DIN) à la broche numérique de la carte Arduino. Lorsque plusieurs modules sont connectés, ils sont connectés les uns aux autres – la sortie OUT de chaque module est connectée à l’entrée IN du module suivant, et l’entrée IN du premier module est connectée à n’importe quel port Arduino Uno / Nano. Les LED sont numérotées séquentiellement, en commençant par celle qui est la plus proche de l’Arduino.
Comment brancher NeoPixel Ring Arduino Uno

Pour contrôler l’anneau de LED à partir du microcontrôleur Arduino, vous pouvez utiliser n’importe quel programme utilisé pour contrôler une bande de LED adressable, vous devez juste spécifier le bon nombre de LED dans l’anneau. Par exemple, vous pouvez utiliser les exemples standard de la bibliothèque Adafruit NeoPixel ou FastLed. Ci-dessous nous avons posté quelques exemples de programmes pour travailler avec le NeoPixel Ring.
Programme Arduino effet bague arc-en-ciel
#include "Adafruit_NeoPixel.h" #include "hsv.h" #define PIN 6 #define CNT 12 #define MAXHUE 256*6 int pos = 0; Adafruit_NeoPixel strip = Adafruit_NeoPixel(CNT, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); } void loop() { for (int i = 0; i < CNT; i++) strip.setPixelColor((i + pos) % CNT, getPixelColorHsv(i, i * (MAXHUE / CNT), 255, 10)); strip.show(); pos++; pos %= CNT; delay(50); }
Explication du code effet bague arc-en-ciel:
- le nombre de pixels requis dans le module doit être spécifié.
- La vitesse des effets dépend du temps de retard – delay(50);
Programme Arduino bague rotative qui change de couleur
#include "Adafruit_NeoPixel.h" #include "hsv.h" #define PIN 6 #define CNT 12 #define MAXHUE 256*6 int pos = 0; int hue = 1; Adafruit_NeoPixel strip = Adafruit_NeoPixel(CNT, PIN, NEO_GRB + NEO_KHZ800); void setup() { strip.begin(); } void loop() { for (int i = 0; i < CNT; i++) strip.setPixelColor((i + pos) % CNT, getPixelColorHsv(i, hue, 255, strip.gamma8(i * (255 / CNT)))); strip.show(); pos++; pos %= CNT; hue += 2; hue %= MAXHUE; delay(50); }
Explication du code bague rotative qui change de couleur:
- dans cet exemple, l’anneau fait tourner le point, qui change de couleur et passe progressivement par toutes les nuances de couleur;
- les exemples présentés utilisent le même algorithme. La variable pos est incrémentée de 1 unité toutes les 50 ms, ce qui crée un effet de mouvement;
Conclusion. Cet assemblage permet de connecter un nombre illimité de modules en série et ce produit peut être utilisé dans des projets réels. Une caractéristique importante du ws2812b est sa consommation de courant élevée et malgré la compatibilité avec Arduino Micro classiques, il est préférable d’utiliser une alimentation séparée pour l’anneau NeoPixel Ring.








bonjour j’ai une erreur en include « hsv.h »
merci de me repondre
Bonjour,
Comment trouver la bibliothèque « hsv.h »?
Elle ne figure pas dans le gestionnaire de bobliothèque Arduino.
Merci d’avance pour votre réponse.
Bonjour.
Un lien pour télécharger la bibliothèque est fourni dans l’article.