Mélangeur de couleurs RVB Arduino – Projet DIY débutant
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino Uno | 1 |
| LED RVB 4 broches (cathode commune) | 1 |
| Potentiomètres rotatifs 10kΩ | 3 |
| Bouton poussoir 12mm | 1 |
| Résistance 10 kΩ (pull-up bouton) | 1 |
| Résistances 220 Ω (protection LED) | 3 |
| Plaque d'essai (breadboard) | 1 |
| Fils de câblage | 1 |
Logiciel
- Arduino IDE
À propos du projet
Pour qui ?
Idéal pour les débutants Arduino souhaitant réaliser un gadget interactif ludique, mais aussi utile aux artistes, développeurs web et concepteurs d'éclairage pour tester des codes couleur RVB.
Principe
Trois potentiomètres règlent indépendamment l'intensité des canaux Rouge, Vert et Bleu d'une LED RVB. Un bouton poussoir active/désactive le circuit.
Montage
Suivre le schéma :
- LED RVB : broches PWM 9 (bleu), 10 (vert), 11 (rouge)
- Bouton : pin 7 + résistance 10kΩ pull-up vers GND (explication pull-up)
- Potentiomètres : A0 (rouge), A1 (vert), A2 (bleu)
- Important : 3 résistances 220 Ω en série sur chaque sortie LED pour éviter la surchauffe.
Fonctionnement
- Téléverser le sketch, ouvrir le moniteur série (9600 bauds).
- Au démarrage, la LED est éteinte. Appuyer sur le bouton → active le contrôle.
- Tourner les potentiomètres : la LED change de couleur en temps réel.
- Les valeurs RVB (0-255) s'affichent dans le moniteur série → noter vos couleurs préférées.
Astuce : La lumière RVB est additive (tout allumé = blanc), pas soustractive comme la peinture. Essayez de laisser un canal à zéro et varier les deux autres.
Extension possible
Ajouter des boutons mémorisant des couleurs favorites (valeurs RVB en dur dans le code). Partagez votre version !
Code source
int bluePin = 9;
int greenPin = 10;
int redPin = 11;
int redPot = A0;
int greenPot = A1;
int bluePot = A2;
int redVal = 0, greenVal = 0, blueVal = 0;
const int BUTTON = 7;
int state = 0; // 0=off, 1=on
int val = 0; // lecture instantanée
int old_val = 0; // lecture précédente
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(BUTTON, INPUT);
Serial.begin(9600);
}
void loop() {
val = digitalRead(BUTTON);
// Détection front montant (appui)
if ((val == HIGH) && (old_val == LOW)) {
state = 1 - state; // bascule 0↔1
delay(10); // anti-rebond
}
old_val = val;
redVal = analogRead(redPot);
greenVal = analogRead(greenPot);
blueVal = analogRead(bluePot);
if (state == 1) {
// Conversion 10 bits (0-1023) → 8 bits (0-255)
analogWrite(redPin, redVal / 4);
analogWrite(greenPin, greenVal / 4);
analogWrite(bluePin, blueVal / 4);
// Affichage code RVB réutilisable
Serial.print("RGB(");
Serial.print(redVal / 4);
Serial.print(",");
Serial.print(greenVal / 4);
Serial.print(",");
Serial.print(blueVal / 4);
Serial.println(")");
delay(50);
} else {
// Tout éteint
analogWrite(redPin, 0);
analogWrite(greenPin, 0);
analogWrite(bluePin, 0);
delay(50);
}
}
Schéma de câblage

Processus de fabrication
- Construisez votre propre LUMAZOID : Visualiseur musical DIY Arduino
- Lampe de table RGB à commande gestuelle – Éclairage interactif, mains libres
- Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
- Construire un robot quadrupède Arduino intelligent : guide étape par étape
- Dispositif de Traitement Radionique EMR DIY avec Arduino Nano
- Projecteurs RGB LED extérieurs DMX – Abordables et haute performance
- Réalisez un mélangeur de couleurs RGB Arduino – Tutoriel pas à pas
- Illuminez Votre Nouvelle Année avec des Lumières LED Musicales Dynamiques
- Jeu de Roulette LED DIY – Construisez une Borne d'Arcade Solo avec Arduino Nano