Introduction
Avez-vous déjà voulu créer des effets lumineux colorés avec une LED RVB sans avoir les composants sous la main ? Avec Velxio, vous pouvez simuler l’intégralité du circuit et du code directement dans votre navigateur. Dans ce tutoriel, nous allons construire un simple cycler de couleurs pour LED RVB qui affiche le rouge, le vert, le bleu, le jaune, le cyan, le magenta et le blanc en séquence. Vous apprendrez à utiliser la MLP (Modulation de Largeur d’Impulsion) pour mélanger les couleurs et à câbler une LED RVB à cathode commune sur un Arduino Uno.
Présentation du circuit
Commençons par placer les composants sur le canevas Velxio. Vous aurez besoin d’un Arduino Uno et d’une LED RVB. La LED RVB a quatre broches : une cathode commune (COM) et trois anodes pour le rouge (R), le vert (G) et le bleu (B).

Voici le câblage :
- Connectez la broche R de la LED RVB à la broche 9 de l’Arduino (fil rouge).
- Connectez la broche G à la broche 10 de l’Arduino (fil vert).
- Connectez la broche B à la broche 11 de l’Arduino (fil bleu).
- Connectez la broche COM à la broche GND de l’Arduino (fil noir).
Dans Velxio, vous pouvez faire glisser les fils d’une broche à une autre. Les couleurs des fils dans la simulation correspondent aux fonctions des broches : rouge pour le rouge, vert pour le vert, bleu pour le bleu et noir pour la masse. Cela facilite le suivi des connexions.
Explication du code
Écrivons maintenant le sketch Arduino. Ouvrez l’éditeur de code dans Velxio et saisissez ce qui suit :

// RGB LED Color Cycling
// Display different colors
const int RED_PIN = 9;
const int GREEN_PIN = 10;
const int BLUE_PIN = 11;
void setup() {
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}
void setColor(int red, int green, int blue) {
analogWrite(RED_PIN, red);
analogWrite(GREEN_PIN, green);
analogWrite(BLUE_PIN, blue);
}
void loop() {
// Red
setColor(255, 0, 0);
delay(1000);
// Green
setColor(0, 255, 0);
delay(1000);
// Blue
setColor(0, 0, 255);
delay(1000);
// Yellow
setColor(255, 255, 0);
delay(1000);
// Cyan
setColor(0, 255, 255);
delay(1000);
// Magenta
setColor(255, 0, 255);
delay(1000);
// White
setColor(255, 255, 255);
delay(1000);
}
Comment ça fonctionne
- Définitions des broches : Nous définissons des constantes pour les trois broches MLP :
RED_PIN = 9,GREEN_PIN = 10,BLUE_PIN = 11. Ces broches supportentanalogWrite()pour la sortie MLP. - setup() : Définit les trois broches comme sorties.
- setColor() : Une fonction d’aide qui prend trois valeurs (0-255) pour le rouge, le vert et le bleu, et les écrit sur les broches respectives en utilisant
analogWrite(). Cela crée une tension entre 0 et 5 V, contrôlant la luminosité de la LED. - loop() : Appelle
setColor()avec différentes combinaisons pour produire des couleurs. Chaque couleur est affichée pendant 1 seconde (delay(1000)).
Concepts clés
MLP (Modulation de Largeur d’Impulsion)
La MLP est une technique où une broche numérique commute rapidement entre HIGH et LOW pour simuler une tension analogique. Le rapport cyclique (pourcentage de temps à l’état HIGH) détermine la luminosité perçue. La fonction analogWrite() d’Arduino produit un signal MLP avec une fréquence d’environ 490 Hz sur les broches 9, 10 et 11.
Mélange de couleurs RVB
Une LED RVB contient trois LED séparées (rouge, vert, bleu) dans un seul boîtier. En variant la luminosité de chacune, vous pouvez créer des millions de couleurs. Par exemple :
- Rouge + Vert = Jaune
- Vert + Bleu = Cyan
- Rouge + Bleu = Magenta
- Rouge + Vert + Bleu = Blanc
Cathode commune vs Anode commune
Ce tutoriel utilise une LED RVB à cathode commune, où la broche COM est connectée à la masse. Pour allumer une couleur, vous appliquez un signal HIGH à son anode. Si vous avez une LED à anode commune, vous connecteriez COM à VCC et utiliseriez une logique inversée (LOW pour allumer).
Pièges courants et conseils de débogage
- Mauvais numéros de broches : Vérifiez que vous avez bien connecté les broches R, G, B aux bonnes broches Arduino (9, 10, 11). Un fil inversé produira des couleurs incorrectes.
- Masse manquante : La broche COM doit être connectée à GND. Sans cela, la LED ne s’allumera pas.
- MLP vs Numérique :
analogWrite()ne fonctionne que sur les broches compatibles MLP (marquées d’un ~ sur l’Uno). L’utilisation d’une broche non MLP ne donnera qu’un allumage/extinction complet. - Temporisation : Le
delay(1000)met en pause tout le programme. Pour des projets plus réactifs, envisagez d’utilisermillis()pour une temporisation non bloquante. - Problèmes de simulateur : Si la LED ne s’allume pas, vérifiez le câblage dans Velxio. Utilisez la barre d’outils du canevas pour zoomer et vérifier les connexions.


Extensions suggérées
Une fois que le cycler de couleurs de base fonctionne, essayez ces améliorations :
- Fondu entre les couleurs : Au lieu de sauter, utilisez une boucle pour changer progressivement les valeurs MLP pour des transitions en douceur.
- Contrôle par bouton : Ajoutez un bouton poussoir pour parcourir les couleurs manuellement.
- Entrée potentiomètre : Utilisez un potentiomètre pour sélectionner une couleur dans une palette.
- Contrôle série : Envoyez des valeurs de couleur via le moniteur série pour définir des couleurs personnalisées.
- Plusieurs LED : Enchaînez plusieurs LED RVB pour un spectacle lumineux.
Pour ajouter de nouveaux composants, utilisez le sélecteur de composants :

Si vous avez besoin de bibliothèques supplémentaires, le gestionnaire de bibliothèques facilite la tâche :

Appel à l’action
Prêt à le voir en action ? Ouvrez l’exemple en direct sur Velxio et commencez à expérimenter : Cyclage de couleurs d’une LED RVB sur Velxio. Pas de téléchargement, pas de matériel – juste du pur apprentissage. Bon bricolage !