ESP8266 - Bande de LED

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

La bande LED peut être commutée par un relais ou par un module MOSFET. Avec le relais, la bande est soit complètement allumée, soit éteinte. Avec le module MOSFET, elle peut être complètement allumée, éteinte, ou atténuée à n'importe quelle luminosité avec le PWM, et elle reste silencieuse. Nous allons construire d'abord la version avec relais, puis la version avec module MOSFET.

À propos des bandes LED

Une bande LED, également connue sous le nom de 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 sont disponibles dans 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écoratifs.

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

  • Bandes LED adressables : dans ce type, la couleur et la luminosité de chaque LED de 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 sera axé sur les bandes LED non adressables. Pour les bandes LED adressables, veuillez consulter les tutoriels suivants :

Brochage de la bande LED non adressable

La bande LED non adressable existe en deux types principaux :

  • Bande LED 1 couleur non adressable : une seule 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 12V ou 24V
  • Broche GND : doit être connectée à la broche négative de l'alimentation DC 12V ou 24V

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

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

Relais ou module MOSFET pour une bande LED

Avant de câbler quoi que ce soit, choisissez la pièce qui commute la bande. Si le module MOSFET est nouveau pour vous, lisez d'abord le tutoriel ESP8266 - Module MOSFET.

Relais Module MOSFET
Luminosité ON/OFF, pas de variation ON/OFF plus variation (PWM)
Bruit de commutation clic audible aucun
Temps de commutation millisecondes (lent) très court
Durée de vie les contacts s'usent à l'usage longue, aucune pièce mobile
Type d'alimentation AC ou DC DC uniquement
Tension de la bande selon ce que le relais permet 6V minimum (les bandes 12V et 24V conviennent)
Isolation oui (bobine et contacts) oui (optocoupleur PC817)
Meilleur usage simple ON/OFF, lampes AC variation des bandes DC, commutation rapide ou fréquente

Si vous voulez faire varier la luminosité d'une bande 12V ou 24V, prenez le module MOSFET. Pour une bande RGB, chaque broche de couleur (R, G et B) a besoin de son propre module, donc il vous faut 3 modules MOSFET, comme il vous faut 3 relais.

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

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'ESP8266 et la bande LED de 12V. L'ESP8266 peut contrôler la bande LED de 12V via le relais. Si vous ne connaissez pas le relais (brochage, fonctionnement, programmation...), informez-vous sur le relais dans le ESP8266 - Relais.

Schéma de câblage.

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

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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Pour plus d'informations, consultez Brochage ESP8266. et Comment alimenter l'ESP8266..

Schéma de câblage entre l'ESP8266 et une bande LED RGB non adressable.

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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Code ESP8266

Code ESP8266 pour contrôler une bande LED 1 couleur non adressable.

Le code ci-dessous allume la bande LED pendant 5 secondes puis l'éteint pendant 5 secondes, de manière répétée.

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-led-strip */ #define LED_STRIP_PIN D5 // The ESP8266 pin controls to the LED strip via relay void setup() { Serial.begin(9600); // Configure ESP8266 pins as digital output pins pinMode(LED_STRIP_PIN, OUTPUT); } // The loop function repeats indefinitely 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 ESP8266 pour contrôler une bande LED RGB non adressable.

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

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-led-strip */ #define BLUE_PIN D5 // The ESP8266 pin connects to the blue pin of LED strip via relay 1 #define RED_PIN D6 // The ESP8266 pin connects to the red pin of LED strip via relay 2 #define GREEN_PIN D7 // The ESP8266 pin connects to the green pin of LED strip via relay 3 void setup() { Serial.begin(9600); // Configure ESP8266 pins as digital output pins pinMode(BLUE_PIN, OUTPUT); pinMode(RED_PIN, OUTPUT); pinMode(GREEN_PIN, OUTPUT); } // The loop function repeats indefinitely 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

Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel Installation du logiciel ESP8266. si c'est la première fois que vous utilisez l'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.
  • Connectez l'ESP8266 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 dans Arduino IDE pour téléverser le code vers l'ESP8266
  • Vérifiez l'état de la bande LED

Explication du code

Lisez l'explication ligne par ligne dans les lignes de commentaires du code !

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

Comment faire varier la luminosité d'une bande LED 1 couleur avec un module MOSFET

Un module MOSFET est une autre façon simple de faire varier la luminosité d'une bande 1 couleur. Le relais est retiré, et la broche D5 du NodeMCU envoie maintenant du PWM au module, qui règle la luminosité de la bande.

Schéma de câblage entre l'ESP8266, le module MOSFET et la bande LED 1 couleur

Schéma de câblage ESP8266 NodeMCU NodeMCU, bande LED et module MOSFET

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

ESP8266 NodeMCU / côté alimentation Module MOSFET
D5 (GPIO14) PWM
G (GND) GND
Adaptateur 12V + +
Broche 12V (+) de la bande LED + (partagée avec le + de l'adaptateur)
Broche GND (−) de la bande LED LOAD
Adaptateur 12V − −

Une bande LED n'est pas une bobine, donc vous n'avez pas besoin de diode de roue libre (flyback) ici.

Code ESP8266 pour faire varier la luminosité de la bande LED

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-led-strip */ const int MOSFET_PIN = D5; // ESP8266 pin D5 connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); analogWrite(MOSFET_PIN, 0); // start with the load OFF } void setLoad(int percent) { int duty = map(percent, 0, 100, 0, 255); // convert 0-100% to 0-255 analogWrite(MOSFET_PIN, duty); Serial.print("Load power: "); Serial.print(percent); Serial.println("%"); } void loop() { // turn the load fully ON, then fully OFF Serial.println("Load: ON"); setLoad(100); delay(2000); Serial.println("Load: OFF"); setLoad(0); delay(2000); // increase the power step by step (PWM) for (int percent = 10; percent <= 100; percent += 10) { setLoad(percent); delay(500); } // decrease the power step by step (PWM) for (int percent = 90; percent >= 0; percent -= 10) { setLoad(percent); delay(500); } delay(1000); }

La bande brille à pleine luminosité pendant 2 secondes puis reste éteinte pendant 2 secondes. Ensuite, elle devient plus lumineuse par paliers de 10% jusqu'à 100%, puis plus faible par paliers de 10% jusqu'à 0%.

Étapes rapides

  • Utilisez la même configuration de l'Arduino IDE et de la carte que dans les Étapes rapides ci-dessus.
  • Câblez le module MOSFET et la bande comme sur le schéma, mais ne branchez pas encore l'adaptateur.
  • Téléversez le code ci-dessus sur l'ESP8266.
  • Branchez l'adaptateur et regardez la bande s'éclaircir et s'assombrir progressivement.
  • Ouvrez le Moniteur série à 9600 bauds :
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2

N'oubliez pas : le module est réservé aux bandes DC, avec une alimentation d'environ 6V ou plus. Une lampe sur le secteur AC a toujours besoin d'un relais.

Vidéo

Commentaires

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !