Capacitación Arduino · LED RGB
Un LED con tres colores adentro: rojo, verde y azul. Con tres perillas mezclamos cualquier color usando PWM. Simulado en Tinkercad y en OpenCircuits.
El componente
Cómo funciona
analogWrite(pin, 0 a 255) regula el brillo con PWM (solo en los pines con ~: 3, 5, 6, 9, 10, 11).Para simular
El KY-016: LED RGB de 5 mm en una placa con pines R, G, B, −.
| Parte del kit | La reemplazamos con | Arduino |
|---|---|---|
| LED del módulo | LED RGB (sí existe; revisa que sea de cátodo común) | D9 · D10 · D11 |
| Resistencias del módulo | 3 resistencias de 220 Ω, una por color | — |
| Algo que mezcle | 3 potenciómetros: rojo, verde y azul | A0 · A1 · A2 |
La pata más larga del LED RGB de Tinkercad es la común (−): va a GND.
Paso 1 · Componentes
Buscar: Arduino
Buscar: Placa de pruebas
Buscar: RGB. Cátodo común.
Una por color.
Rojo, verde y azul.
Paso 2 · Circuito
Paso 2 · Conexiones
| Alimentación | ||
| Arduino 5V | Riel + inferior | |
| Arduino GND | Riel − inferior | |
| Perillas (cada una: izquierda a −, derecha a +) | ||
| — | Azul columnas 2-4 | cursor 3 → Arduino A2 |
| — | Verde columnas 6-8 | cursor 7 → Arduino A1 |
| — | Roja columnas 10-12 | cursor 11 → Arduino A0 |
| LED RGB (fila e) y sus resistencias | ||
| — | Patas R, −, B, G | Columnas 19, 20, 21, 22 |
| Columna 20 (−) | Riel − | |
| — | 220 Ω del rojo | Columna 19 → 15 (fila d) |
| — | 220 Ω del azul | Columna 21 → 25 (fila c) |
| — | 220 Ω del verde | Columna 22 → 26 (fila a) |
| Arduino D9 | Columna 15 | |
| Arduino D10 | Columna 25 | |
| Arduino D11 | Columna 26 | |
Paso 3 · Código en bloques
Cada línea lee una perilla y da ese brillo a un color.
Paso 3 · Código C++
// C++ code // void setup() { pinMode(9, OUTPUT); pinMode(A0, INPUT); pinMode(11, OUTPUT); pinMode(A1, INPUT); pinMode(10, OUTPUT); pinMode(A2, INPUT); }
void loop() { analogWrite(9, map(analogRead(A0), 0, 1023, 0, 255)); analogWrite(11, map(analogRead(A1), 0, 1023, 0, 255)); analogWrite(10, map(analogRead(A2), 0, 1023, 0, 255)); delay(10); // Delay a little bit to improve simulation performance }
Paso 4 · Simular
| No enciende | La pata larga (−) debe ir a GND. Si tu LED es de ánodo común, va a 5V y funciona al revés. |
| Colores cambiados | Revisa qué pata es cada color: R, −, B, G. |
| Solo prende o apaga | Usaste un pin sin ~ o el bloque «ALTA/BAJA»: usa 9, 10 y 11 con «definir pin ~». |
| Una perilla no hace nada | Su cursor (columna del medio) no llega a su pin A. |
Paso 5 · Kit real
| KY-016 | Arduino |
|---|---|
| R | D9 |
| G | D11 |
| B | D10 |
| − | GND |
El código no cambia. Las perillas del kit (B10K) se conectan igual que en la simulación.
No mires el LED de cerca con los tres colores al máximo: es muy brillante.
Alternativa · OpenCircuits
OpenCircuits no tiene bloques propios para el LED RGB, pero sí para el potenciómetro: «valor de 0 a 255» lee la perilla y la convierte en un paso. Reemplaza a «asignar leer pin analógico al rango».
// C++ code // void setup() { pinMode(9, OUTPUT); pinMode(11, OUTPUT); pinMode(10, OUTPUT); }
void loop() { analogWrite(9, map(analogRead(A0), 0, 1023, 0, 255)); analogWrite(11, map(analogRead(A1), 0, 1023, 0, 255)); analogWrite(10, map(analogRead(A2), 0, 1023, 0, 255)); delay(10); // Delay a little bit to improve simulation performance }
Para seguir
Sin perillas: verde 3 s, amarillo 1 s y rojo 3 s, todo con el mismo LED RGB.
Pasa suavemente por todos los colores usando «contar» y esperas cortas.
Con el DHT11: azul si hace frío, verde si está agradable y rojo con calor.
Con una perilla: a la izquierda azul, al centro verde y a la derecha rojo.