Arduino - Bande LED

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

Un relais ou un module MOSFET peut se placer entre l'Arduino et la bande LED. Avec le relais, la bande est seulement allumée ou éteinte. Avec le module MOSFET, la bande peut être allumée ou éteinte, et l'Arduino peut aussi la faire varier à n'importe quelle luminosité avec le PWM. Le module MOSFET est aussi complètement silencieux. Vous apprendrez d'abord la méthode avec le relais, puis la méthode avec le MOSFET à la fin.

À 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 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 LEDs 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 possède 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 de 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 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
Pinout de bande LED non adressable Arduino

Relais ou module MOSFET pour une bande LED

Avant de choisir, vous voudrez peut-être voir comment fonctionne le module MOSFET. Lisez le tutoriel Arduino - Module MOSFET.

Relais Module MOSFET
Contrôle de la lumière bande ON / OFF bande ON / OFF et luminosité / variation (PWM)
Bruit un clic à chaque commutation aucun
Vitesse lente, prend des millisecondes commute très rapidement
Durée de vie les contacts s'usent aucune pièce mobile, longue durée de vie
Type de lumière lumières CA ou CC bandes CC uniquement
Tension de la bande toute, dans les limites du relais 6V ou plus (les bandes 12V et 24V conviennent)
Isolation oui, la bobine et les contacts sont séparés oui, optocoupleur PC817 à l'intérieur
À choisir pour les lumières CA, ON/OFF seulement les bandes 12V/24V que vous voulez faire varier, les effets rapides

Pour une bande non adressable 12V ou 24V, le module MOSFET est un excellent choix, car la variation rend la lumière bien plus agréable. Une bande RGB a trois broches de couleur (R, G, B), donc elle a besoin de trois modules MOSFET, un par couleur, de la même façon qu'elle a besoin de trois relais.

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

Comment contrôler une bande LED non adressable à une seule couleur.

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

Schéma de câblage.

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

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

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

Les fils de connexion sont pratiques pour un test rapide, mais pas pour un montage final. Pour cela, montez un Proto Screw Terminal Block Shield ou un Screw Shield V2 sur la carte Arduino. Voici le montage avec le Screw Shield V2 :

Schéma de câblage de bande LED 12V Arduino (Screw Shield V2)

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

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

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

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

Code Arduino

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

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

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-led-strip */ #define LED_STRIP_PIN 3 // the Arduino 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 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 Arduino pour contrôler une bande de 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 Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino-led-strip */ #define BLUE_PIN 5 // the Arduino pin connects to the blue pin of LED strip via relay 1 #define RED_PIN 4 // the Arduino pin connects to the red pin of LED strip via relay 2 #define GREEN_PIN 3 // the Arduino 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 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

  • Connectez l'Arduino au PC via le câble USB
  • Ouvrez l'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 charger le code sur l'Arduino
  • 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.

Code Arduino - Faire varier une bande LED 1 couleur avec un module MOSFET

Ici, nous utilisons un module MOSFET à la place du relais pour changer la luminosité d'une bande LED 1 couleur. Pour une bande RGB, utilisez trois modules (un pour R, un pour G, un pour B) sur trois broches PWM de l'Arduino.

Schéma de câblage entre Arduino, module MOSFET et bande LED 1 couleur

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

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

  • Broche 9 d'Arduino → PWM du module
  • GND d'Arduino → GND du module
  • Adaptateur secteur 12V + → borne + du module
  • Broche 12V de la bande LED → borne + du module (avec le + de l'adaptateur)
  • Broche GND de la bande LED → borne LOAD du module
  • Adaptateur secteur 12V − → borne − du module

Une bande LED n'a pas de bobine, donc elle n'a pas besoin de diode de roue libre (flyback). Pour une bande 24V, utilisez un adaptateur 24V ; le câblage reste le même.

Code Arduino

Voici le code du tutoriel sur le module MOSFET. La bande brille à pleine luminosité pendant 2 secondes et s'éteint pendant 2 secondes. Ensuite, elle devient plus lumineuse pas à pas de 10% à 100%, puis plus faible jusqu'à 0%.

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

  • Connectez la bande et le module MOSFET comme indiqué ci-dessus.
  • Téléversez le code sur l'Arduino, comme dans les Étapes rapides de la partie relais.
  • Branchez l'adaptateur secteur 12V sur la prise d'alimentation DC.
  • Regardez la bande LED : lumineuse, éteinte, puis lentement plus lumineuse et lentement plus faible.
  • Ouvrez le Moniteur Série (vitesse de transmission 9600) et regardez le résultat.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' 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 Uno on COM15
2

Bon à savoir : le module MOSFET est seulement pour les lumières CC, avec une alimentation d'environ 6V ou plus. Pour les lumières CA, gardez le 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 !