Arduino Nano - Bande de LED

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

Vous pouvez piloter la bande de LED avec un relais ou avec un module MOSFET. Un relais peut seulement allumer et éteindre la bande. Un module MOSFET l'allume et l'éteint aussi, et il peut en plus la faire varier en intensité, donc vous choisissez la luminosité. Nous verrons les deux options.

À propos des bandes LED

Une bande LED, également connue sous le nom de ruban LED ou ruban à LED, est un circuit imprimable 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 existent 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 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

La bande LED non adressable comprend 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 non adressable à une couleur 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 RVB non adressable a généralement quatre broches :

  • Broche 12V/24V : doit être connectée à la broche positive d'une alimentation CC 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
Schéma de brochage de la bande de LED non adressable Arduino Nano

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

Relais ou module MOSFET pour une bande de LED ?

Pour découvrir le module MOSFET lui-même (broches, composants internes, code), consultez le tutoriel Arduino Nano - Module MOSFET.

Relais Module MOSFET
Contrôle de la lumière ON/OFF ON/OFF et luminosité (variation PWM)
Bruit un clic à chaque commutation silencieux
Vitesse lente, millisecondes très rapide
Durée de vie les contacts s'usent avec l'usage aucune pièce mobile à user
Type d'alimentation CA ou CC CC uniquement
Tension de la bande toute, dans les limites nominales 6V ou plus (les bandes 12V et 24V conviennent)
Isolation oui, bobine et contacts séparés oui, optocoupleur PC817
À choisir pour les lampes CA, un simple ON/OFF les bandes 12V/24V qui ont besoin de variation d'intensité ou de commutation rapide

Si vous voulez faire varier l'intensité d'une bande 12V ou 24V d'une seule couleur, choisissez le module MOSFET. Pour une bande RGB, chaque canal de couleur (R, G, B) a besoin de son propre module MOSFET, donc il vous faut trois modules, comme il vous faut trois relais.

Comment contrôler une bande LED monochrome non adressable.

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

Schéma de câblage.

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

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

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

Les fils mal branchés sont une cause fréquente de problèmes étranges. Dans ce cas, utilisez une Carte d'extension à bornier à vis pour Arduino Nano. La carte Arduino Nano s'y branche et chaque broche a un bornier à vis. Voici le montage avec la carte à bornier à vis :

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

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

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

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

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

Code Arduino Nano

Code Arduino Nano 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 Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-led-strip */ #define LED_STRIP_PIN D5 // The Arduino Nano pin controls to the LED strip via relay void setup() { Serial.begin(9600); // initialize Arduino 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 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 Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-led-strip */ #define BLUE_PIN D6 // The Arduino Nano pin connects to the blue pin of LED strip via relay 1 #define RED_PIN D5 // The Arduino Nano pin connects to the red pin of LED strip via relay 2 #define GREEN_PIN D4 // The Arduino Nano pin connects to the green pin of LED strip via relay 3 void setup() { Serial.begin(9600); // initialize Arduino 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

  • Câblez les composants selon le schéma fourni.
  • Connectez la carte Arduino Nano à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Nano et le port COM correspondant.
  • Connectez l'Arduino Nano 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éverser le code sur l'Arduino Nano.
  • 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.

Comment faire varier l'intensité d'une bande de LED avec un module MOSFET

Cette section utilise un module MOSFET à la place du relais pour contrôler une bande de LED d'une seule couleur. Avec le PWM, le Nano peut rendre la bande plus ou moins lumineuse.

Schéma de câblage entre Arduino Nano, module MOSFET et bande LED d'une seule couleur

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

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

Le schéma ci-dessous montre les mêmes connexions sans plaque d'essai :

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

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

Arduino Nano / Alimentation / Bande Module MOSFET
Broche D9 du Nano broche PWM
GND du Nano broche GND
Adaptateur 12V + borne +
Bande de LED + (12V) borne +, partagée avec le + de l'adaptateur
Bande de LED − (GND) borne LOAD
Adaptateur 12V − borne −

Pour un projet durable, les borniers à vis tiennent mieux les fils que les fils de connexion. Vous pouvez placer la carte Arduino Nano sur une Carte d'extension à bornier à vis pour Arduino Nano et brancher les fils sur ses borniers à vis. Voici le même circuit câblé avec la carte à bornier à vis :

Schéma de câblage Arduino Nano, bande de LED et module MOSFET (Screw Terminal)

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

Voir Comment alimenter un Arduino Nano..

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

Code Arduino Nano pour faire varier l'intensité d'une bande LED d'une seule couleur

La bande est à pleine luminosité pendant 2 secondes et éteinte pendant 2 secondes. Ensuite, la luminosité monte de 10% à 100% par paliers, puis redescend jusqu'à 0%.

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-led-strip */ const int MOSFET_PIN = 9; // Arduino Nano 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 pour le module MOSFET

  • Préparez l'IDE Arduino comme décrit dans les Étapes rapides ci-dessus.
  • Câblez le Nano, le module MOSFET et la bande comme dans le schéma, mais gardez l'adaptateur 12V débranché.
  • Téléversez le code sur l'Arduino Nano.
  • Branchez l'adaptateur 12V.
  • Ouvrez le Moniteur Série avec une vitesse de 9600 bauds et regardez la bande devenir plus lumineuse puis plus faible :
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' 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 on COM15
2

Rappel : le module MOSFET commute uniquement du 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 !