Arduino Nano ESP32 - Ruban de LED

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

Un relais ou un module MOSFET peut se placer entre le Nano ESP32 et la bande. Avec un relais, la bande peut seulement être allumée ou éteinte. Avec un module MOSFET, la bande peut aussi être allumée ou éteinte, et vous pouvez en plus la faire varier à n'importe quelle luminosité avec le PWM, sans aucun clic. Ce tutoriel couvre les deux.

À propos des rubans 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 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é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 bandes LED non adressables. Pour les bandes LED adressables, veuillez consulter les tutoriels suivants :

Brochage de bande LED non adressable

Le ruban LED non adressable a deux types principaux :

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

Une bande LED monochrome non adressable possède 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 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
Bande LED non adressable Arduino Nano ESP32 Pinout

Nous apprendrons comment contrôler les deux types un par un avec un Arduino Nano ESP32.

Bande LED avec relais ou module MOSFET

En plus du relais, un module MOSFET peut commander une bande non adressable. Pour apprendre ce module (broches, fonctionnement, code), consultez le tutoriel Arduino Nano ESP32 - Module MOSFET.

Relais Module MOSFET
Contrôle de la lumière allumée ou éteinte allumée, éteinte, et variation à n'importe quelle luminosité (PWM)
Bruit de commutation clic silencieux
Vitesse de commutation lente, millisecondes très rapide, assez rapide pour le PWM
Durée de vie les contacts s'usent longue, pas de pièces mobiles
Charge CA ou CC CC uniquement
Alimentation de la bande toute, dans la limite du relais au moins environ 6V (les bandes 12V et 24V conviennent)
Isolation de la carte oui (bobine et contacts) oui (optocoupleur PC817)
À choisir pour simple ON/OFF, lampes CA variation, effets, commutation rapide et fréquente

Pour une bande 12V ou 24V, le module MOSFET est la meilleure option, car vous pouvez faire apparaître et disparaître la lumière en fondu. Une bande RVB a trois canaux de couleur (R, G, B), donc elle a besoin de trois modules MOSFET, un par canal, de la même façon qu'elle a besoin de trois relais.

Comment contrôler une bande LED monochrome 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'Arduino Nano ESP32 et la bande LED de 12V. L'Arduino Nano 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 à propos des relais dans le Arduino Nano ESP32 - Relais..

Schéma de câblage.

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

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

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

Si vous comptez garder ce circuit, pensez aux borniers à vis. Dans ce cas, utilisez une Carte d'extension à bornier à vis pour Arduino Nano. La carte Arduino Nano ESP32 s'y branche et chaque broche a un bornier à vis. Voici le même circuit câblé avec la carte à bornier à vis :

Schéma de câblage de la bande LED 12V Arduino Nano ESP32 (Screw Terminal)

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

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

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

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

Code Arduino Nano ESP32

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

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

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-led-strip */ #define LED_STRIP_PIN D5 // The Arduino Nano ESP32 pin 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 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 Arduino Nano ESP32 pour contrôler une bande de LEDs RGB 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 Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-led-strip */ #define BLUE_PIN D6 // The Arduino Nano ESP32 pin connects to the blue pin of LED strip via relay 1 #define RED_PIN D5 // The Arduino Nano ESP32 pin connects to the red pin of LED strip via relay 2 #define GREEN_PIN D4 // The Arduino Nano ESP32 pin 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 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 Arduino Nano ESP32, suivez ces étapes :

  • Si vous êtes novice avec l'Arduino Nano ESP32, consultez le tutoriel sur Installation du logiciel Arduino Nano ESP32..
  • Câblez les composants conformément au schéma fourni.
  • Connectez la carte Arduino Nano ESP32 à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Nano ESP32 et le port COM correspondant.
  • Connectez l'Arduino Nano ESP32 au PC via un câble USB.
  • Ouvrez l'IDE Arduino, sélectionnez la bonne carte et le bon port.
  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload de l'IDE Arduino pour télécharger le code sur l'Arduino Nano ESP32.
  • Vérifiez l'état de la bande 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.

Code Arduino Nano ESP32 - Faire varier la bande LED avec un module MOSFET

Cette partie utilise un module MOSFET à la place du relais pour changer la luminosité d'une bande LED monochrome.

Schéma de câblage entre Arduino Nano ESP32, module MOSFET et bande LED monochrome

Schéma de câblage de la bande LED Arduino Nano ESP32 avec module MOSFET

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

Pas de plaque d'essai ? Le même circuit peut être câblé sans, comme ci-dessous :

Schéma de câblage de la bande LED Arduino Nano ESP32 avec module MOSFET (sans plaque d'essai)

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

Si le projet doit fonctionner longtemps ou être placé dans un boîtier, il vaut mieux fixer les fils avec des vis. Une Carte d'extension à bornier à vis pour Arduino Nano règle ce problème. Branchez-y la carte Arduino Nano ESP32 et vissez les fils. Voici le schéma de câblage avec la carte à bornier à vis.

Schéma de câblage de la bande LED Arduino Nano ESP32 avec module MOSFET (Screw Terminal)

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

  • D9 du Nano ESP32 à la broche PWM du module
  • GND du Nano ESP32 à la broche GND du module
  • + de l'adaptateur 12V à la borne +
  • Broche 12V de la bande LED à la borne + aussi
  • Broche GND de la bande LED à la borne LOAD
  • − de l'adaptateur 12V à la borne −

Une bande LED n'a pas de bobine, donc vous n'avez pas besoin de diode de roue libre (flyback). Pour une bande 24V, utilisez simplement un adaptateur 24V. Les trois modules acceptent le 24V.

Code

C'est le même code que dans le tutoriel sur le module MOSFET. La bande brille à pleine luminosité pendant 2 secondes, reste éteinte pendant 2 secondes, puis devient plus lumineuse de 10% à 100% et plus faible jusqu'à 0%.

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-led-strip */ const int MOSFET_PIN = D9; // Arduino Nano ESP32 pin 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); }

Étapes rapides

  • Faites la configuration de l'IDE des Étapes rapides du relais ci-dessus, si vous ne l'avez pas encore faite.
  • Faites le câblage du schéma, mais laissez l'adaptateur 12V débranché.
  • Téléversez le code sur l'Arduino Nano ESP32.
  • Branchez l'adaptateur 12V.
  • Ouvrez le Moniteur Série, avec la vitesse réglée à 9600 bauds.
  • Regardez la bande s'allumer et s'éteindre en fondu.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano ESP32
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano ESP32' 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
Arduino Nano ESP32 on COM15
2

Astuce : le module MOSFET gère uniquement le CC, et l'alimentation de la bande doit être d'au moins environ 6V. Pour les lampes CA, utilisez le relais.

Vidéo

※ 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 !