Arduino Nano - Bande LED WS2812B
La bande LED RVB WS2812B est une ligne de LED dont la couleur et la luminosité de chacune peuvent être ajustées indépendamment. Ce tutoriel vous explique comment utiliser un Arduino Nano pour contrôler la bande LED RVB WS2812B. En détail, nous allons apprendre :
- Comment connecter la bande LED WS2812B à l'Arduino Nano
- Comment programmer l'Arduino Nano pour contrôler la couleur de chaque LED individuelle sur la bande LED WS2812B.
- Comment programmer l'Arduino Nano pour contrôler la luminosité de chaque LED individuelle sur la bande LED WS2812B.
Toutes les LED de la bande peuvent être contrôlées avec un seul pin numérique de l'Arduino Nano.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos de la bande LED RGB WS2812B
Brochage de la bande LED WS2812B
La bande LED RGB WS2812B dispose de trois broches :
- Broche GND : doit être connectée à GND (0V)
- Broche VCC : doit être connectée à 5V d'une source d'alimentation externe
- Broche Din : est la broche qui reçoit le signal de commande et doit être connectée à une broche numérique d'un Arduino Nano.
※ NOTE THAT:
L'ordre des broches peut varier d'un fabricant à l'autre. Il est impératif d'utiliser toujours les étiquettes imprimées sur le ruban LED.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Comment programmer pour la bande LED RGB WS2812B
Il existe deux bibliothèques qui peuvent être utilisées pour contrôler une bande de LED WS2812B :
- Bibliothèque Adafruit NeoPixel.
- Bibliothèque FastLED.
Ce tutoriel utilisera la bibliothèque Adafruit NeoPixel.
- Créez un objet WS2812B.
- Initialise WS2812B.
- Précisez la couleur de chaque LED individuelle (appelée un pixel).
- Ajustez la luminosité de toute la bande.
※ NOTE THAT:
- WS2812B.setBrightness() est utilisé pour ajuster la luminosité de tous les pixels sur la bande de LED. Pour régler la luminosité de chaque pixel individuel, nous pouvons échelonner les valeurs de couleur (R, G, B) avec le même rapport.
- Les valeurs définies par WS2812B.setBrightness() et WS2812B.setPixelColor() ne seront appliquées que lorsque WS2812B.show() est appelé.
Code Arduino Nano
Le code ci-dessous exécute les séquences suivantes :
- Transforme les pixels en vert un par un avec un délai entre chaque pixel
- Éteint tous les pixels pendant deux secondes
- Allume tous les pixels en rouge pendant deux secondes
- Répète ce processus indéfiniment
Étapes rapides
- Cliquez sur l'icône Libraries située dans la barre latérale gauche de l'IDE Arduino.
- Recherchez "Adafruit NeoPixel" et localisez la bibliothèque NeoPixel par Adafruit.
- Ensuite, appuyez sur le bouton Install pour installer la bibliothèque NeoPixel.
- Copiez le code et ouvrez-le dans l'IDE Arduino.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à l'Arduino Nano.
- Observez l'effet de la LED.
※ NOTE THAT:
Pour tout effet LED complexe, nous proposons le service de programmation payant