La electrónica interactiva ha revolucionado la forma en que interactuamos con la luz y el color. El diseño de sistemas de iluminación dinámicos y personalizables se ha convertido en una disciplina fundamental en campos que van desde la decoración del hogar hasta la escenografía profesional. En este artículo, exploraremos en detalle un proyecto fascinante que combina la versatilidad de Arduino con la modulación de color del LED RGB KY-016 y la interfaz analógica de potenciómetros. El objetivo final es construir una consola intuitiva que permita el control individual y preciso de la intensidad de los colores primarios (Rojo, Verde y Azul) para generar una paleta de más de 16 millones de tonalidades distintas.
🔩Funcionamiento
Este proyecto tiene como finalidad diseñar un sistema que permita el control individual de los colores primarios (rojo, verde y azul) de un LED RGB modelo KY-016, utilizando tres potenciómetros conectados a una placa Arduino. La combinación de estos elementos permite crear un sistema interactivo que explora principios fundamentales de la electrónica y la programación, brindando la posibilidad de generar una amplia gama de colores mediante el ajuste manual de los potenciómetros.
El LED RGB KY-016: Un Universo de Color en Miniatura
El módulo KY-016 es una solución compacta que simplifica el uso de un diodo emisor de luz (LED) tricolor. Internamente, contiene tres pequeños LEDs (uno rojo, uno verde y uno azul) encapsulados. El módulo generalmente es de cátodo común, lo que significa que el pin más largo (o el pin común) se conecta a la tierra GND de la placa, mientras que los pines restantes (R, G, B) se conectan a los pines de salida de Arduino. Una característica muy conveniente de este módulo es que ya incorpora resistencias limitadoras de corriente en serie con cada ánodo de color, protegiendo los LEDs y simplificando el circuito externo.
Modulación por Ancho de Pulso (PWM): La Magia de la Atenuación
Para controlar la intensidad luminosa de cada color del LED y, por ende, la mezcla resultante, es imprescindible utilizar la técnica de Modulación por Ancho de Pulso PWM. Arduino emplea PWM en pines digitales específicos (marcados con el símbolo sim en la mayoría de las placas) para simular una salida analógica.
- El PWM funciona variando el tiempo que la señal digital permanece en estado ALTO (encendido) dentro de un período fijo.
- En Arduino, la función clave es
analogWrite(), que acepta valores de 0 a 255. Un valor de 0 representa un 0% del ciclo de trabajo (LED apagado) y un valor de 255 representa un 100% del ciclo de trabajo (LED encendido a su máximo brillo). Cualquier valor intermedio genera una intensidad de brillo proporcional.
El Potenciómetro: La Interfaz Analógica
Un potenciómetro es una resistencia variable de tres terminales que actúa como un divisor de voltaje.
- Los terminales externos se conectan a la alimentación VCC, típicamente 5V en Arduino y a tierra (GND).
- El terminal central, o limpiaparabrisas (wiper), genera un voltaje de salida que varía linealmente desde 0V hasta 5V a medida que se gira el eje.
- Este voltaje variable es leído por las entradas analógicas de Arduino A0 a A5. La función
analogRead()convierte esta señal de voltaje (que va de 0V a 5V en un valor digital que oscila entre 0 y 1023 (debido a la resolución de 10 bits del conversor ADC de Arduino).
🔨Componentes
| Componente | Cantidad | Especificación | Función |
|---|---|---|---|
| Placa Arduino | 1 | Arduino Uno, Nano, etc. | Control de componentes(cerebro) |
| Potenciómetro | 3 | 10 kΩ x3 | Cambiar el color del LED RGB |
| LED | 1 | RGB(KY-016) | Iluminar |
| Resistencia | 3 | 330Ω x3 | Limitar la corriente |
| Cables de conexión | n | Unir componentes |
🔌Conexiones
- Conexión de los potenciómetros: Los tres potenciómetros se conectan a los pines analógicos de la placa Arduino (por ejemplo, A0, A1 y A2). Cada uno tiene tres terminales: el pin central se conecta al pin analógico, uno de los extremos a 5V y el otro a GND.
- Conexión del LED RGB: Los pines correspondientes a los colores rojo, verde y azul del LED RGB se conectan a los pines PWM de la placa Arduino (por ejemplo, 9, 10 y 11) a través de resistencias. El pin común (cátodo o ánodo) se conecta a GND o 5V, dependiendo del tipo de LED RGB.
0️⃣Código
La lógica del código reside en leer el valor analógico del potenciómetro (0-1023) y transformarlo al rango de valores PWM(0-255) para controlar la intensidad del color correspondiente.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <Arduino.h> int redPin = 9; // Pin del color rojo int greenPin = 10; // Pin del color verde int bluePin = 11; // Pin del color azul int redPot = A0; // Pin del potenciómetro para el color rojo int greenPot = A1; // Pin del potenciómetro para el color verde int bluePot = A2; // Pin del potenciómetro para el color azul void setup() { // Configura los pines como salidas pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { // Lee los valores de los potenciómetros int redValue = analogRead(redPot); int greenValue = analogRead(greenPot); int blueValue = analogRead(bluePot); // Convierte los valores de los potenciómetros a un rango de 0 a 255 redValue = map(redValue, 0, 1023, 0, 255); greenValue = map(greenValue, 0, 1023, 0, 255); blueValue = map(blueValue, 0, 1023, 0, 255); // Establece el color del LED RGB analogWrite(redPin, redValue); analogWrite(greenPin, greenValue); analogWrite(bluePin, blueValue); } |
🖌️Diseños

🎬Videos
📑Conclusión
El proyecto de la consola de mezcla de colores es una introducción robusta al control de dispositivos analógicos mediante entradas analógicas. Al usar la función map(), se logra una interfaz de usuario natural e intuitiva, donde el giro físico del potenciómetro se traduce directamente en un cambio perceptible y gradual en la intensidad del color.
La capacidad de generar 16.7 millones de colores con un control manual tan simple es un testimonio del poder de la microelectrónica. Este proyecto es la base perfecta para extensiones más avanzadas, como:
- Presets de Color: Agregar botones para guardar y cargar combinaciones de color favoritas.
- Interfaz de Usuario OLED/LCD: Mostrar los valores RGB numéricos (0-255) en una pequeña pantalla para una precisión máxima.
- Comunicación Inalámbrica: Integrar módulos Bluetooth o Wi-Fi para controlar el LED a distancia, convirtiendo la consola en un controlador maestro.
Este ejercicio no solo enseña la manipulación de PWM y entradas ADC en Arduino, sino que también sirve como una excelente demostración práctica de la teoría del color aditivo, fundamental en la electrónica y la iluminación digital.

