
Chisme 149 del Lince: LED RGB con micro:bit y mezcla de colores
Aquella tarde, en la cueva de Sierra Bermeja, Víctor Vílchez, el Lince de la Noche, tenía las manos manchadas de pintura. Mezcla de colores.
—Necesito una señal luminosa para llamar a los Centuriones —explicó—. Una luz que cambie de color: amarilla para «venid», azul para «todo tranquilo»…
—¿Y por qué estás pintando una bombilla? —preguntó la Gata Montesa.
—Porque no tengo bombilla amarilla. Pero he mezclado pintura roja y verde y… —el Lince levantó el pincel— me ha salido marrón.
La Gata, que de pintar sabía bastante, se rio.
—Con pintura, rojo y verde dan un color oscuro. Con luz, dan amarillo. Son dos formas distintas de mezclar.
Sacó un LED con cuatro patitas.
—Esto lleva tres luces dentro: roja, verde y azul. Encendiéndolas juntas sacas todos los colores de tu señal. Y si quieres que parpadeen solos, solo te falta un bucle.
—¿Un bucle?
—Una orden que se repite. Como tú cuando dices «ya casi lo tengo».
Introducción
En este chisme 149 vas a conectar un LED RGB a la micro:bit y a descubrir la mezcla de colores con luz: cada botón enciende o apaga un color, y al combinarlos aparecen el amarillo, el cian, el magenta y el blanco. Un LED RGB micro:bit y tres botones bastan para empezar.
Después programarás dos bucles: un arcoíris que se lanza pulsando A y B a la vez y una discoteca de colores al azar que se lanza agitando la micro:bit.
Practica antes en el simulador del chisme 149, que tiene modo demostración. Si vienes del chisme 146, ya sabes encender un LED: ahora son tres a la vez.
Qué necesitamos
- Una micro:bit V2 y la placa de ampliación del kit Keyestudio ks0361 (con el puente V1 en 3,3 V).
- Un LED RGB de cuatro patas: GND, R, G y B.
- Cuatro cables Dupont hembra-hembra.
- Un ordenador con Chrome o Edge para MakeCode.
Cómo funciona un LED RGB
Un LED RGB son tres LEDs metidos en la misma cápsula: uno rojo (R, red), uno verde (G, green) y uno azul (B, blue). Los tres comparten la pata de tierra (GND) y cada uno tiene su propia pata para encenderlo.
Como están tan juntos, el ojo no ve tres luces: ve una sola, con la mezcla de colores de las que estén encendidas. Es lo mismo que hace la pantalla de tu móvil: cada píxel tiene un punto rojo, uno verde y uno azul.
La mezcla de colores con luz
Con luz, los colores se suman: es la mezcla aditiva.
| Rojo (A) | Verde (B) | Azul (logo) | Color |
|---|---|---|---|
| 0 | 0 | 0 | apagado |
| 1 | 0 | 0 | rojo |
| 0 | 1 | 0 | verde |
| 0 | 0 | 1 | azul |
| 1 | 1 | 0 | amarillo |
| 0 | 1 | 1 | cian |
| 1 | 0 | 1 | magenta |
| 1 | 1 | 1 | blanco |
Con pintura pasa al revés: cada pigmento absorbe parte de la luz y los colores se restan (mezcla sustractiva). Por eso al Lince le salió marrón. Tienes más información sobre la síntesis aditiva del color en la Wikipedia.
Fíjate en otra cosa: cada color está a 0 o a 1, como un bit. Con 3 bits hay 2 × 2 × 2 = 8 combinaciones: justo los 8 colores de la tabla.
Conexión
Con el USB desenchufado, conecta el LED a la placa de ampliación con cuatro cables:
| LED RGB | Placa de ampliación |
|---|---|
| GND | G de la fila 0 |
| R | S de la fila 0 (P0) |
| G | S de la fila 1 (P1) |
| B | S de la fila 2 (P2) |
No usamos P5 ni P11 porque son los botones A y B. El «tercer botón» es el logo táctil de la micro:bit V2, que no ocupa ningún pin.

El programa
Este es el programa completo en bloques de MakeCode:

Qué hace cada parte:
- al iniciar: muestra la carita y pone las variables r, g y b a 0 (todo apagado).
- función pintar: escribe en P0, P1 y P2 los valores de r, g y b. Así no repetimos los tres bloques cada vez.
- función color (rr, gg, bb): enciende el color que le pidamos, sin tocar las variables.
- al presionarse el botón A: fijar r a 1 − r y llamar a pintar. «1 − r» cambia 0 por 1 y 1 por 0: si el rojo estaba apagado lo enciende y si estaba encendido lo apaga. Lo mismo hacen B con el verde y al pulsar el logotipo con el azul.
- al presionarse el botón A+B: repetir 2 veces los 7 colores del arcoíris, con una pausa de 300 ms, y al final llamar a pintar para volver al color que tenías.
- si agitar: repetir 10 veces un color al azar («escoger al azar de 0 a 1» en cada canal), con 200 ms de pausa, y al final llamar a pintar.
Si prefieres escribirlo en JavaScript, pega esto en la pestaña JavaScript de MakeCode y vuelve a Bloques: verás que se convierte en los mismos bloques.
let r = 0
let g = 0
let b = 0
function pintar () {
pins.digitalWritePin(DigitalPin.P0, r)
pins.digitalWritePin(DigitalPin.P1, g)
pins.digitalWritePin(DigitalPin.P2, b)
}
function color (rr: number, gg: number, bb: number) {
pins.digitalWritePin(DigitalPin.P0, rr)
pins.digitalWritePin(DigitalPin.P1, gg)
pins.digitalWritePin(DigitalPin.P2, bb)
}
input.onButtonPressed(Button.A, function () {
r = 1 - r
pintar()
})
input.onButtonPressed(Button.B, function () {
g = 1 - g
pintar()
})
input.onLogoEvent(TouchButtonEvent.Pressed, function () {
b = 1 - b
pintar()
})
input.onButtonPressed(Button.AB, function () {
for (let index = 0; index < 2; index++) {
color(1, 0, 0)
basic.pause(300)
color(1, 1, 0)
basic.pause(300)
color(0, 1, 0)
basic.pause(300)
color(0, 1, 1)
basic.pause(300)
color(0, 0, 1)
basic.pause(300)
color(1, 0, 1)
basic.pause(300)
color(1, 1, 1)
basic.pause(300)
}
pintar()
})
input.onGesture(Gesture.Shake, function () {
for (let index = 0; index < 10; index++) {
color(randint(0, 1), randint(0, 1), randint(0, 1))
basic.pause(200)
}
pintar()
})
basic.showIcon(IconNames.Happy)
r = 0
g = 0
b = 0
pintar()
Para grabarlo desde Chrome sin arrastrar archivos (Descargar → Siguiente → Emparejar ahora → Conectar → Descargar), sigue los pasos del chisme 148.
Cómo probarlo
- Pulsa A: rojo. Pulsa B: se suma el verde y sale amarillo.
- Toca el logo: se suma el azul y sale blanco.
- Vuelve a pulsar los botones para apagar colores y consigue cian y magenta.
- Pulsa A y B a la vez: el arcoíris da dos vueltas y vuelve a tu color.
- Agita la micro:bit: diez colores al azar y vuelta a tu color.
Qué estamos haciendo realmente
Cada pin pone 0 o 3,3 voltios, igual que en el chisme 146. Lo nuevo es que tres pines trabajan a la vez y el ojo suma sus luces.
Los tres LEDs no brillan igual: según el modelo, el verde o el azul pueden dominar y el blanco salir algo azulado o rosado. Es normal: cada color necesita una tensión distinta y el ojo no es igual de sensible a todos. Se puede corregir con resistencias distintas o, en el reto 8, con escritura analógica.
La discoteca usa el azar: cada canal tiene la misma probabilidad de salir 0 o 1, así que cada uno de los 8 colores sale, de media, 1 de cada 8 veces. Con 10 pasos es normal que algún color se repita y otro no salga.
Para el aula
- Predice: antes de pulsar, escribe qué color saldrá con cada combinación. Después compruébalo y completa la tabla.
- Bits: escribe cada color como un número binario de 3 cifras (rojo = 100, cian = 011…). ¿Qué número decimal es cada uno?
- Pintura frente a luz: mezcla témperas roja y verde y compáralo con el LED. ¿Por qué salen colores distintos?
- Probabilidad: agita 10 veces y apunta cuántas veces sale cada color. Junta los datos de toda la clase. ¿Se acerca a 1 de cada 8?
- Debate: ¿por qué las pantallas usan rojo, verde y azul y no otros colores?
Retos por niveles
2º de ESO
- Reto 1: haz que funcione y consigue los 8 colores.
- Reto 2: cambia la pausa del arcoíris para que vaya más rápido o más lento.
3º de ESO
- Reto 3: haz el arcoíris al revés (de blanco a rojo) con otro evento, por ejemplo «si logo hacia arriba».
- Reto 4: convierte el LED en un semáforo que cambie solo: verde, amarillo y rojo con tiempos distintos.
- Reto 5: cuenta cuántas veces se ha lanzado la discoteca y muéstralo con «mostrar número».
4º de ESO
- Reto 6: haz que la discoteca no repita el mismo color dos veces seguidas.
- Reto 7: usa el sensor de temperatura del chisme 147 para que el LED sea azul con frío, verde templado y rojo con calor.
- Reto 8: cambia «escritura digital» por escritura analógica (0 a 1023) y haz un degradado suave entre colores con un bucle «para índice de 0 a 1023».
Para enseñárselo a los pequeños (versión monitor)
Esta sección es para el alumnado de 1º de Bachillerato que da el taller a los de ESO.
Guion de 10 minutos
- (2 min) La pregunta: «Si mezclo rojo y verde, ¿qué sale?». Casi todos dirán «marrón». Apunta las respuestas.
- (3 min) Montaje: cuatro cables, cada color a su fila. Que lo conecten ellos.
- (3 min) Mezclas: que consigan amarillo, cian, magenta y blanco solo con A, B y el logo.
- (2 min) Bucles: A+B y agitar. Pregunta: «¿cuántos colores ha enseñado el arcoíris?» (14).
Preguntas que hacer
- ¿Por qué con luz sale amarillo y con pintura no?
- ¿Cuántos colores distintos se pueden hacer con 3 luces que solo se encienden o se apagan?
Errores típicos
- Un cable en la fila equivocada: el color no sale o sale otro.
- Pulsar A y B «casi» a la vez: cambian el rojo y el verde en vez de lanzar el arcoíris.
- LED de ánodo común: todo se ve al revés (los botones apagan). Hay que cambiar 1 por 0 en el programa.
Lo que no hay que darles hecho: la tabla de colores y la cuenta de combinaciones. Que la descubran pulsando.
Qué hemos aprendido
Has conectado un LED RGB, has descubierto la mezcla de colores aditiva de la luz y has visto que 3 bits dan 8 colores. También has usado variables, funciones para no repetir código, bucles «repetir» y el azar, y has aprovechado A+B y el acelerómetro como disparadores.
Esa noche, sobre la cueva del Lince, una luz cambiaba de color: rojo, amarillo, verde, cian, azul, magenta, blanco… y vuelta a empezar.
—Precioso —dijo la Gata Montesa—. ¿Y qué significa?
El Lince se quedó pensando.
—Pues… que he aprendido a hacer bucles.



