Proyecto No 2 Controlar Un Led RGB
Proyecto No 2 Controlar Un Led RGB
Proyecto No 2 Controlar Un Led RGB
com
Aprende a programar un circuito para controlar los colores y brillo que produce un LED RGB.
Utilizarás 3 potenciómetros, uno para cada color del LED. Según la combinación de brillo de cada
uno, puedes formar cualquier color.
1
www.ebotics.com
MATERIALES:
3 Resistencias de 220
3 Potenciómetros 10k
1 Placa Build&Code UNO
1 ProtoBoard
1 LED RGB
Un LED RGB tiene 4 patas, 1 para controlar cada color y la que queda es por donde entra o sale la
electricidad, dependiendo de si es de ánodo (la pata más larga es por donde entra la electricidad) o
cátodo común (la pata más larga es por donde sale la electricidad).
2
www.ebotics.com
Delante de cada una de las patas de color del LED RGB siempre se tendrá que poner una resistencia
con un valor suficiente para no romper el LED. En este caso, pondremos una resistencia de 220
ohmios.
¿Qué es un Potenciómetro?
Un potenciómetro es un dispositivo que permite variar su resistencia de forma manual, entre un
valor mínimo Rmin (normalmente 0 ohmios) y un valor máximo Rmax. Los valores habituales de
Rmax son 5k, 10k o 20k ohmios.
Un potenciómetro es una resistencia variable que va desde un valor mínimo a otro valor máximo. Al
hacer girar el potenciómetro entre un mínimo y un máximo, hacemos variar el valor de la resistencia
interna de manera proporcional al giro.
Normalmente un potenciómetro tiene 3 pines. Uno de los 2 pines de los extremos está unido al valor
de la resistencia mínima Rmin y otro al valor de la resistencia máxima Rmax. El pin restante
corresponde al valor variable de la resistencia, y este valor es el resultado de la posición del
potenciómetro, que estará más cerca o más lejos de los valores Rmin o Rmax.
Los pines de los extremos se conectan a los puertos 5V y GND de la placa Build&Code UNO, y el
tercer pin (cuyo valor depende del movimiento del potenciómetro) se conecta a uno de los pins
analógicos de la placa.
CONEXIONES:
1. La placa protoboard recibe la electricidad del pin de 5V de la placa Build&Code UNO y vuelve
de la protoboard a la Build&Code UNO a través del pin GND (tierra). Conecta todos los GND
del circuito entre sí para que todos tengan el mismo valor de GND. En la imagen verás que el
cable color negro es el GND, donde todos los Grounds de cada componente están conectados
entre sí y al GND de la placa. El color amarillo representa los 5V, que alimentan a cada uno
de los potenciómetros.
2. Conecta el pin central de tus sensores, los potenciómetros, a un pin analógico diferente cada
uno, ya que el potenciómetro es un sensor analógico. En la imagen, los 3 cables color gris van
del pin central de cada uno de los potenciómetros a 3 entradas analógicas.
3. Conecta cada uno de los pines del LED RGB a un pin digital PWM, que será el encargado de
hacer brillar cada color más o menos en función de la lectura recibida del sensor. La imagen
muestra cómo al LED RGB llegan 3 cables color azul de 3 salidas digitales, que pueden
trabajar como PWM: 9, 10 y 11.
3
www.ebotics.com
4
www.ebotics.com
5
www.ebotics.com
CÓDIGO DE PROGRAMACIÓN
Puedes realizar este ejercicio utilizando el programa Arduino o un software de programación por
bloques compatible. A continuación encontrarás el código de programación necesario.
Código Arduino
El pin digital PWM estará trabajando como un pin de salida, pero en vez de dar un valor alto o bajo
de manera constante, éste puede hacer cambios muy rápidos de valores para jugar con valores
medios, lo cual permite emitir distintos niveles de brillo.
Es decir, que si en 1 segundo el LED se enciende y apaga 100 veces, y está el mismo tiempo
encendido que apagado (50 veces encendido y 50 veces apagado), nuestro ojo verá el LED con un
6
www.ebotics.com
brillo equivalente a una potencia del 50% del total. Si el LED estuviese mucho más tiempo encendido
que apagado, nuestro ojo detectaría un brillo muy leve.
El PWM tiene una resolución de 256 estados, es decir que va desde 0 a 255. Si escribes el valor 15,
apenas se encenderá, ya que estará más tiempo apagado que encendido. Si escribes el valor 127, lo
verás brillar con el 50% de la potencia máxima, ya que estará el 50% del tiempo encendido y el otro
50% apagado. Si le asignas un valor de 250, prácticamente lo verás como si brillara al 100%.
Para relacionar la entrada analógica del potenciómetro y la del pin digital PWM, hay que dividir los
2 valores máximos:
Esto quiere decir que si divides los valores del sensor entre 4 estarás estableciendo una relación
lineal entre el giro del potenciómetro y el brillo de cada color del LED RGB.
Este gráfico te será de gran ayuda para construir los colores a partir de los colores primarios RGB:
7
www.ebotics.com
void setup ()
{
Serial.begin(9600); //iniciamos comunicación para mostrar por pantalla
la información recibida de la placa
void loop()
{
8
www.ebotics.com
Algunos de los valores que aparecen en la programación surgen de establecer relaciones lineales
entre los valores que pueden tomar los componentes implicados.
En este caso, el valor se divide por 4 para relacionar las entradas analógicas del potenciómetro y las
entradas digitales PWM del LED RGB: 1024/256 = 4
El LED RGB conectado a la placa Build&Code UNO mediante el circuito de la protoboard, cambiará
de color de acuerdo al giro de los 3 potenciómetros.