Bande LED ESP32 - WS2812B
Dans ce tutoriel, nous allons apprendre à utiliser l'ESP32 pour contrôler une bande LED RGB WS2812B. Avec une seule broche ESP32 :
- ESP32 peut contrôler la couleur de chaque LED sur la bande LED individuellement
- ESP32 peut changer la luminosité de chaque LED sur la bande LED individuellement
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
la bande LED RVB WS2812B possède trois broches :
- Broche GND : doit être connectée à GND (0V)
- Broche VCC : doit être connectée à 5V de l'alimentation externe
- Broche Din : est la broche qui reçoit le signal de commande. Elle doit être connectée à une broche ESP32.
※ NOTE THAT:
L'ordre des broches peut varier selon les fabricants. Utilisez TOUJOURS les étiquettes imprimées sur la bande LED.
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.
Comment programmer pour une bande LED RGB WS2812B
- Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
Il existe deux bibliothèques qui peuvent être utilisées pour contrôler la bande de LED WS2812B :
- Bibliothèque Adafruit NeoPixel.
- Bibliothèque FastLED.
Ce tutoriel utilisera la bibliothèque Adafruit NeoPixel.
- Déclarez un objet WS2812B
- Initialise le WS2812B
- Définissez la couleur de chaque LED individuelle (appelée pixel).
- Régler la luminosité de toute la bande.
※ NOTE THAT:
WS2812B.setBrightness() est utilisé pour tous les pixels sur la bande LED. Pour régler la luminosité de chaque pixel individuellement, nous pouvons ajuster la valeur de la couleur.
Les valeurs définies par WS2812B.setBrightness() et WS2812B.setPixelColor() ne prennent effet que lorsque WS2812B.show() est appelé.
Code ESP32
Le code ci-dessous effectue :
- Transformez les pixels en vert un par un avec un délai entre chaque pixel
- Éteignez tous les pixels pendant deux secondes
- Allumez tous les pixels en rouge en même temps pendant deux secondes
- Répétez le processus ci-dessus indéfiniment
Étapes rapides
- Cliquez sur l'icône Libraries dans la barre gauche de l'IDE Arduino.
- Recherchez "Adafruit NeoPixel", puis trouvez la bibliothèque WS2812B de Adafruit.
- Cliquez sur le bouton Install pour installer la bibliothèque NeoPixel.
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduini
- Cliquez sur le bouton Upload dans l'IDE Arduini pour téléverser le code sur l'ESP32
- Observez l'effet de la LED
※ NOTE THAT:
Pour tout effet LED complexe, nous proposons le service de programmation payant