Mezclador de Colores RGB con Arduino – Proyecto DIY para Principiantes
Componentes y materiales
- Arduino UNO ×1
- LED RGB de 4 patas (cátodo común) ×1
- Potenciómetros rotativos (genéricos) ×3
- Pulsador 12 mm (SparkFun) ×1
- Resistencia 10 kΩ ×1 (pull-up para el pulsador)
- Resistencias 220 Ω ×3 (para los pines del LED)
- Protoboard ×1
- Cables jumper ×1
Aplicaciones y servicios
- Arduino IDE
Descripción del proyecto
¿Para quién? Ideal para principiantes en Arduino que quieren crear un gadget interactivo, divertido y fácil de montar. Útil para artistas, desarrolladores web y controladores de iluminación interactiva.
Qué hace: Tres potenciómetros ajustan el brillo de cada canal (rojo, verde, azul) del LED RGB. Un pulsador enciende/apaga el circuito.
Montaje: Conecta según el esquemático. El LED RGB va a pines PWM 9 (azul), 10 (verde), 11 (rojo). El pulsador al pin 7 con resistencia pull-up de 10 kΩ a GND. Los potenciómetros a A0 (rojo), A1 (verde), A2 (azul). Coloca resistencias de 220 Ω entre cada pín del LED y su pin PWM.
Los valores de los potenciómetros se imprimen en el monitor serie (0-255), así puedes anotar los códigos RGB que te gusten.
Uso: Al encender, el LED está apagado. Pulsa el botón para activar. Gira los potenciómetros: el LED cambia de color. Recuerda: luz RGB no es como pintura; al máximo los tres canales se ve blanco. Prueba dejando un canal bajo y variando los otros dos.
Extensión: Puedes añadir más botones para cargar colores predefinidos.
Código
int blue = 9;
int green = 10;
int red = 11;
int redPot = A0;
int greenPot = A1;
int bluePot = A2;
int greenVal = 0, blueVal = 0, redVal = 0;
const int BUTTON = 7;
int state = 0;
int val = 0, old_val = 0;
void setup() {
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(red, OUTPUT);
pinMode(BUTTON, INPUT);
Serial.begin(9600);
}
void loop() {
val = digitalRead(BUTTON);
if ((val == HIGH) && (old_val == LOW)) {
state = 1 - state;
delay(10);
}
old_val = val;
greenVal = analogRead(greenPot);
blueVal = analogRead(bluePot);
redVal = analogRead(redPot);
if (state == 1) {
analogWrite(green, greenVal / 4);
analogWrite(blue, blueVal / 4);
analogWrite(red, redVal / 4);
Serial.print("RGB(");
Serial.print(redVal/4);
Serial.print(",");
Serial.print(greenVal/4);
Serial.print(",");
Serial.print(blueVal/4);
Serial.println(")");
delay(50);
} else {
analogWrite(green, 0);
analogWrite(blue, 0);
analogWrite(red, 0);
delay(50);
}
}
Esquemático
Proceso de manufactura
- Construya su propio LUMAZOID: Visualizador de música DIY con Arduino
- Lámpara de mesa RGB controlada por gestos – Iluminación interactiva y sin manos
- Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
- Construye un Robot Cuadrúpedo Inteligente con Arduino: Guía Paso a Paso
- Construye un dispositivo de tratamiento radiónico EMR con Arduino DIY
- Focos LED RGB Exterior Controlados por DMX – Económicos y Alto Rendimiento
- Construye un Mezclador de Colores RGB con Arduino – Tutorial Paso a Paso
- Ilumina tu Año Nuevo con Luces LED Musicales Dinámicas
- Juego Ruleta LED DIY: Crea un Arcade para Una Persona con Arduino Nano
- Sistema de Aparcamiento Automatizado Inteligente con Arduino
- Proyecto Sensor de Distancia Ultrasónico Arduino: Medidor de Rango HC-SR04