ESP32 - Bande de LED

Dans ce tutoriel, nous allons apprendre à programmer un ESP32 pour contrôler une bande LED afin qu'elle émette de la lumière.

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×Relay
1×12V 1-color LED Strip
1×12V RGB LED Strip
1×12V Power Adapter
1×DC Power Jack
1×Jumper Wires
1×(Alternative) 24V 1-color LED Strip
1×(Alternative) 24V RGB LED Strip
1×(Alternative) 24V Power Adapter
1×(Optional) 5V Power Adapter for ESP32
1×(Recommended) ESP32 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos des bandes LED

Une bande LED, également connue sous le nom de ruban LED ou ruban à LED, est un circuit imprimé flexible avec des LED montées en surface qui émettent de la lumière. Ces bandes sont polyvalentes et couramment utilisées pour l'éclairage décoratif dans diverses applications. Les bandes LED se déclinent en une gamme de couleurs et sont souvent utilisées pour fournir un éclairage d'ambiance, un éclairage d'accentuation ou des effets d'éclairage décoratif.

Les bandes LED se déclinent en deux types principaux :

  • Bandes LED adressables : Dans ce type, la couleur et la luminosité de chaque LED individuelle sur la bande peuvent être contrôlées indépendamment. Cette capacité est due au fait que chaque LED se voit attribuer une adresse spécifique.
  • Bandes LED non adressables : En revanche, les bandes LED non adressables permettent de contrôler la couleur et la luminosité, mais ce contrôle s'applique uniformément à toutes les LED de la bande.

Ce tutoriel se concentrera sur les rubans de LED non adressables. Pour les rubans de LED adressables, veuillez consulter les tutoriels suivants :

Brochage de bande LED non adressable

La bande LED non adressable a deux types principaux :

  • Bande LED 1 couleur non adressable : Uniquement une couleur définie par le fabricant.
  • Bande LED RGB non adressable : toutes les couleurs.

Une bande LED 1 couleur non adressable a généralement deux broches :

  • Broche 12V/24V : doit être connectée à la broche positive de l'alimentation DC de 12V ou 24V
  • Broche GND : doit être connectée à la broche négative de l'alimentation DC de 12V ou 24V

Une bande LED RVB non adressable a généralement quatre broches :

  • Broche 12V/24V : doit être connectée à la broche positive de l'alimentation DC de 12V ou 24V
  • Broche R : Cette broche est utilisée pour contrôler la couleur rouge. Connecter cette broche à la broche négative de l'alimentation active la couleur rouge
  • Broche G : Cette broche est utilisée pour contrôler la couleur verte. Connecter cette broche à la broche négative de l'alimentation active la couleur verte
  • Broche B : Cette broche est utilisée pour contrôler la couleur bleue. Connecter cette broche à la broche négative de l'alimentation active la couleur bleue
Brochage de bande LED non adressable ESP32

Nous allons apprendre à contrôler les deux types un par un avec l'ESP32.

Comment contrôler une bande LED 1 couleur non adressable.

Si une bande LED de 12V est alimentée par une alimentation de 12V, elle émet de la lumière. Pour contrôler une bande LED de 12V, nous devons utiliser un relais entre l'ESP32 et la bande LED de 12V. L'ESP32 peut contrôler la bande LED de 12V via le relais. Vous ne connaissez pas les relais, y compris leurs brochages, fonctionnalités et programmation ? Apprenez-en davantage sur les relais dans le tutoriel ESP32 - Relais

Schéma de câblage.

Schéma de câblage entre l'ESP32 et une bande de LED non adressable à une couleur.

Schéma de câblage de la bande LED 12V ESP32

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.

Schéma de câblage entre ESP32 et bande LED RVB non adressable.

Schéma de câblage de bande LED 12V ESP32

This image is created using Fritzing. Click to enlarge image

Code ESP32

Code ESP32 pour contrôler une bande LED non adressable à une couleur.

Le code ci-dessous allume et éteint la bande LED toutes les 5 secondes.

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32/esp32-led-strip */ #define LED_STRIP_PIN 16 // The ESP32 pin GPIO16 controls to the LED strip via relay void setup() { Serial.begin(9600); // initialize ESP32 pins as digital output pins pinMode(LED_STRIP_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { Serial.println("The LED strip is turned on"); digitalWrite(LED_STRIP_PIN, HIGH); delay(5000); Serial.println("The LED strip is turned off"); digitalWrite(LED_STRIP_PIN, LOW); delay(5000); }

Code ESP32 pour contrôler une bande LED RVB non adressable.

Le code ci-dessous contrôle de manière répétée la couleur de la bande LED RVB (rouge, vert, bleu, jaune, magenta, cyan et blanc)

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32/esp32-led-strip */ #define BLUE_PIN 23 // The ESP32 pin GPIO23 connects to the blue pin of LED strip via relay 1 #define RED_PIN 22 // The ESP32 pin GPIO22 connects to the red pin of LED strip via relay 2 #define GREEN_PIN 21 // The ESP32 pin GPIO21 connects to the green pin of LED strip via relay 3 void setup() { Serial.begin(9600); // initialize ESP32 pins as digital output pins pinMode(BLUE_PIN, OUTPUT); pinMode(RED_PIN, OUTPUT); pinMode(GREEN_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { Serial.println("The LED strip is turned red"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned green"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned blue"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned yellow"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned magenta"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned cyan"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned white"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, HIGH); delay(2000); }

Étapes rapides

  • Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
  • Réalisez le câblage comme sur l'image ci-dessus.
  • Connectez la carte ESP32 à votre PC via un câble micro USB.
  • Ouvrez Arduino IDE sur votre PC.
  • Sélectionnez la bonne carte ESP32 (par exemple, ESP32 Dev Module) et le port COM approprié.
  • Connectez l'ESP32 au PC via un câble USB.
  • Ouvrez Arduino IDE, sélectionnez la bonne carte et le bon port.
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE.
  • Cliquez sur le bouton Upload sur Arduino IDE pour charger le code sur l'ESP32.
  • Vérifiez l'état de la bande de LED.

Explication du code

Vous pouvez trouver l'explication dans la ligne de commentaires du code Arduino ci-dessus.

Veuillez noter que, pour contrôler la luminosité et les autres couleurs d'une bande LED non adressable, nous devons utiliser le pilote L298N au lieu d'un relais.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!