Introduction
Les LEDs RGB sont des composants fascinants qui permettent de créer une large gamme d’effets lumineux en combinant les couleurs rouge (Red), vert (Green), et bleu (Blue). En utilisant une carte Arduino, vous pouvez contrôler ces LEDs pour générer des effets dynamiques, de l’éclairage ambiant à des animations complexes. Ce tutoriel vous guidera à travers les étapes pour connecter, programmer et personnaliser des effets lumineux avec des LEDs RGB et Arduino.
Matériel Nécessaire
- Carte Arduino (par exemple, Arduino Uno)
- LEDs RGB (cathode commune ou anode commune)
- Résistances (220Ω à 330Ω pour chaque couleur)
- Câbles de connexion et breadboard
- Bouton poussoir (facultatif, pour changer les effets)
- Source d’alimentation externe (facultatif, pour des configurations complexes)
Qu’est-ce qu’une LED RGB ?
Une LED RGB est une diode électroluminescente qui intègre trois LED internes — une rouge, une verte et une bleue — dans un seul boîtier. En modulant l’intensité de chacune de ces LED, vous pouvez créer une grande variété de couleurs. Il existe deux types de LEDs RGB : cathode commune (où le GND est partagé) et anode commune (où le VCC est partagé).
Connexion de la LED RGB à Arduino
1. Identifier les Broches de la LED RGB
- Anode commune : La broche commune est connectée à VCC (5V), et chaque couleur est contrôlée via une broche PWM de l’Arduino.
- Cathode commune : La broche commune est connectée à GND, et chaque couleur est contrôlée en envoyant un signal PWM à travers une broche de l’Arduino.
Les broches des LED RGB sont souvent disposées comme suit (de gauche à droite) :
- Broche Rouge (R)
- Broche Commune (GND ou VCC)
- Broche Verte (G)
- Broche Bleue (B)
2. Schéma de Connexion
Pour une LED RGB à cathode commune :
- Connectez la broche commune à GND de l’Arduino.
- Connectez les broches R, G, et B à des broches PWM de l’Arduino (par exemple D9, D10, et D11) via des résistances (220Ω à 330Ω).
Pour une LED RGB à anode commune :
- Connectez la broche commune à 5V de l’Arduino.
- Connectez les broches R, G, et B à des broches PWM de l’Arduino (par exemple D9, D10, et D11) via des résistances (220Ω à 330Ω).
Programmation de l’Arduino pour Contrôler les LEDs RGB
Exemple de Code de Base
Voici un exemple de code pour mélanger les couleurs et créer un cycle de couleurs simple :
// Définir les broches PWM pour chaque couleur
const int redPin = 9;
const int greenPin = 10;
const int bluePin = 11;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
// Cycle des couleurs : Rouge, Vert, Bleu, Jaune, Cyan, Magenta, Blanc
setColor(255, 0, 0); // Rouge
delay(1000);
setColor(0, 255, 0); // Vert
delay(1000);
setColor(0, 0, 255); // Bleu
delay(1000);
setColor(255, 255, 0); // Jaune
delay(1000);
setColor(0, 255, 255); // Cyan
delay(1000);
setColor(255, 0, 255); // Magenta
delay(1000);
setColor(255, 255, 255); // Blanc
delay(1000);
}
void setColor(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
Explication du Code
- setColor(int red, int green, int blue) : Cette fonction prend en entrée trois valeurs (une pour chaque couleur primaire) allant de 0 à 255, et utilise la fonction
analogWritepour envoyer le signal PWM correspondant à chaque broche, contrôlant ainsi l’intensité de chaque couleur. - delay(1000) : Cette fonction introduit un délai de 1 seconde avant de passer à la couleur suivante, ce qui permet de visualiser le changement de couleur.
Création d’Effets Lumineux Dynamiques
1. Effet de Dégradé
Un dégradé de couleur lisse est un excellent effet lumineux. Voici comment le réaliser :
void loop() {
for (int r = 0; r <= 255; r++) {
setColor(r, 0, 255 - r); // Passe du rouge au bleu
delay(10);
}
for (int g = 0; g <= 255; g++) {
setColor(255 - g, g, 0); // Passe du bleu au vert
delay(10);
}
for (int b = 0; b <= 255; b++) {
setColor(0, 255 - b, b); // Passe du vert au rouge
delay(10);
}
}
2. Effet de Clignotement
Pour créer un effet de clignotement avec une LED RGB :
void loop() {
setColor(255, 0, 0); // Rouge
delay(500);
setColor(0, 0, 0); // Éteint
delay(500);
setColor(0, 255, 0); // Vert
delay(500);
setColor(0, 0, 0); // Éteint
delay(500);
setColor(0, 0, 255); // Bleu
delay(500);
setColor(0, 0, 0); // Éteint
delay(500);
}
3. Changer les Couleurs avec un Bouton Poussoir
Vous pouvez ajouter un bouton poussoir pour changer les couleurs de manière interactive :
const int buttonPin = 7;
int currentColor = 0;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP); // Utilise une résistance de tirage interne
}
void loop() {
if (digitalRead(buttonPin) == LOW) { // Si le bouton est pressé
currentColor++;
if (currentColor > 6) currentColor = 0;
switch (currentColor) {
case 0: setColor(255, 0, 0); break; // Rouge
case 1: setColor(0, 255, 0); break; // Vert
case 2: setColor(0, 0, 255); break; // Bleu
case 3: setColor(255, 255, 0); break; // Jaune
case 4: setColor(0, 255, 255); break; // Cyan
case 5: setColor(255, 0, 255); break; // Magenta
case 6: setColor(255, 255, 255); break; // Blanc
}
delay(500); // Anti-rebond
}
}
Conclusion
Contrôler des LEDs RGB avec Arduino est une activité enrichissante qui combine à la fois créativité et technique. Vous pouvez créer une infinité d’effets lumineux, adaptés à diverses applications, de l’éclairage ambiant à la signalisation. Ce tutoriel vous a fourni les bases pour démarrer, mais les possibilités sont infinies. Explorez les différentes combinaisons de couleurs, intégrez des capteurs pour réagir à l’environnement, ou ajoutez des animations complexes pour donner vie à vos projets.
Si vous avez des questions ou des idées pour aller plus loin, n’hésitez pas à les partager. Arduino et les LEDs RGB offrent un terrain de jeu passionnant pour les inventeurs et les créateurs.
Abonnez-vous à notre Newsletter !
Restez à jour avec les dernières tendances, articles et actualités directement dans votre boîte de réception. En vous abonnant à la newsletter de Wordly Fusion, vous recevrez des contenus exclusifs, des recommandations personnalisées, et les nouveautés les plus passionnantes de notre site. Ne manquez aucune mise à jour et soyez toujours informé des sujets qui vous intéressent. Inscrivez-vous dès maintenant pour rejoindre notre communauté !
