ESP8266 - Bandeau LED WS2812B
La bande LED RGB WS2812B est composée de LEDs dont la couleur et la luminosité peuvent être ajustées individuellement. Ce tutoriel vous explique comment utiliser l'ESP8266 pour contrôler la bande LED RGB WS2812B. En détail, nous allons apprendre :
- Comment connecter la bande LED WS2812B à l'ESP8266
- Comment programmer l'ESP8266 pour contrôler la couleur de chaque LED individuelle sur la bande LED WS2812B.
- Comment programmer l'ESP8266 pour contrôler la luminosité de chaque LED individuelle sur la bande LED WS2812B.
Nous avons seulement besoin d'utiliser une broche numérique de l'ESP8266 pour contrôler toutes les LED de la bande.
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 RVB WS2812B possède trois broches nécessitant des connexions spécifiques :
- La broche GND doit être reliée à GND (0V)
- La broche VCC doit être connectée aux 5V d'une source d'alimentation externe
- La broche Din est la broche qui reçoit le signal de contrôle et doit être reliée à une broche ESP8266.
※ NOTE THAT:
La séquence des broches peut varier selon le fabricant. Il est IMPÉRATIF d'utiliser les marquages imprimés sur la bande LED.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.
Comment programmer pour la bande LED RGB WS2812B
Il existe deux bibliothèques qui peuvent être utilisées pour contrôler la bande LED WS2812B :
- Bibliothèque Adafruit NeoPixel.
- Bibliothèque FastLED.
Ce tutoriel utilisera la bibliothèque Adafruit NeoPixel.
- Créez un objet WS2812B
- Bande avec 30 LED
- Initie la bande WS2812B qui contient 30 lumières.
- Spécifiez la couleur de chaque LED (connue sous le nom de pixel).
- Ajustez la luminosité de toutes les bandes.
※ NOTE THAT:
WS2812B.setBrightness() est utilisé pour ajuster la luminosité de tous les pixels sur la bande LED. Pour régler la luminosité de chaque pixel individuellement, nous pouvons mettre à l'échelle 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() sera exécuté.
Code ESP8266
Le code ci-dessous effectue les séquences suivantes :
- Transformez 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 simultanément pendant deux secondes
- Répète ce processus indéfiniment
Étapes rapides
Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
- Câblez les composants comme indiqué sur le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Cliquez sur l'icône Libraries dans la barre gauche de l'Arduino IDE.
- Recherchez "Adafruit NeoPixel" et localisez la bibliothèque NeoPixel d'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 pour envoyer le code à l'ESP8266.
- Observez l'effet de la LED.
※ NOTE THAT:
Pour tout effet LED complexe, nous proposons le service de programmation payant