0% encontró este documento útil (0 votos)
115 vistas6 páginas

Módulo - 02 Led RGB

Un LED RGB contiene tres LED individuales (rojo, verde y azul) en un solo encapsulado. Al variar la tensión en cada pin, se puede mezclar los colores de los LED y generar diferentes colores de luz. El documento proporciona ejemplos de código Arduino para controlar un LED RGB y hacer que cambie de color secuencialmente o que varíe suavemente entre colores. También sugiere algunos ejercicios prácticos como programar un semáforo o un juego de luces con el LED RGB.

Cargado por

Joel Caceres
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
115 vistas6 páginas

Módulo - 02 Led RGB

Un LED RGB contiene tres LED individuales (rojo, verde y azul) en un solo encapsulado. Al variar la tensión en cada pin, se puede mezclar los colores de los LED y generar diferentes colores de luz. El documento proporciona ejemplos de código Arduino para controlar un LED RGB y hacer que cambie de color secuencialmente o que varíe suavemente entre colores. También sugiere algunos ejercicios prácticos como programar un semáforo o un juego de luces con el LED RGB.

Cargado por

Joel Caceres
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Módulo – Led RGB

LOS DIODOS RGB

Hasta ahora hemos usado varias combinaciones de LEDS, pero siempre de un color definido.
Habitualmente los rojos y amarillos son los más fáciles de conseguir, pero se pueden comprar también
en tonos azules, verdes y hasta blancos. No suele haber grandes diferencias entre ellos excepto en el
color.

Pero a veces es interesante disponer de una luz piloto que cambie de color según las condiciones. Por
ejemplo, todos identificamos el verde como una señal de OK,
mientras que el rojo indica problemas y el amarillo… bueno pues
algo intermedio.

Poner varios diodos para hacer esto es engorroso y complica el


diseño, así que estaría bien disponer de un diodo al que podamos
indicar que color queremos que muestre. Esto es un LED RGB.

Para quien este acostumbrado al diseño por ordenador ya está


familiarizado con la idea de que podemos generar cualquier color
en la pantalla con la mezcla, en diferentes grados de tres colores
básicos:
• Red : Rojo
• Green: Verde
• Blue: Azul

Es decir RGB, uno de esos acrónimos que surgen continuamente en imagen, TV, etc.
Un LED RGB es en realidad la unión de tres LEDs
de los colores básicos, en un encapsulado
común, compartiendo el Ground (cátodo es
otro nombre más para el negativo).

En función de la tensión que pongamos en cada


pin podemos conseguir la mezcla de color que
deseemos con relativa sencillez

Conexión Eléctrica Conexión al Arduino

.
CÓDIGO DE EJEMPLO

/*
PROGRAMA # 1
#define pinLed1 11 // Pin 11 a R
#define pinLed2 10 // Pin 10 a G
#define pinLed3 9 // Pin 10 a B
void
setup()
{ pinMode(pinLed1,
OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
}
void loop() { // Verde
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, LOW);
delay(500); // Azul
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, HIGH);
delay(500); // Rojo
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW);
delay(500); //Violeta
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, HIGH);
delay(500); //Amarillo
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, LOW);
delay(500); //Azul Marino
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
delay(500); //Blanco
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
delay(500);
// Negro - No presenta ningún color
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW); delay(500);
}

PROGRAMA # 2

#define pinLed1 11 // Pin 11 a R


#define pinLed2 10 // Pin 10 a G
#define pinLed3 9 // Pin 10 a B
void setup() {
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
}
void loop() {
#define varfija 15
#define retardo 5
for (int contador=0; contador<255; contador++) {
analogWrite(pinLed1, contador);
analogWrite(pinLed2, varfija);
analogWrite(pinLed3, varfija); delay(retardo);
}
for (int contador=255; contador>0; contador--) {
analogWrite(pinLed1, contador);
analogWrite(pinLed2, varfija);
analogWrite(pinLed3, varfija); delay(retardo);
}
for (int contador=0; contador<255; contador++) {
analogWrite(pinLed1, varfija);
analogWrite(pinLed2, contador);
analogWrite(pinLed3, varfija);
delay(retardo);
}
for (int contador=255; contador>0; contador--) {
analogWrite(pinLed1, varfija);
analogWrite(pinLed2, contador);
analogWrite(pinLed3, varfija); delay(retardo);
}
for (int contador=0; contador<255; contador++) {
analogWrite(pinLed1, contador);
analogWrite(pinLed2, contador);
analogWrite(pinLed3, varfija); delay(retardo);
}
for (int contador=255; contador>0; contador--) {
analogWrite(pinLed1, contador);
analogWrite(pinLed2, contador);
analogWrite(pinLed3, varfija); delay(retardo);
}
for (int contador=0; contador<255; contador++) {
analogWrite(pinLed1, varfija);
analogWrite(pinLed2, varfija);
analogWrite(pinLed3, contador); delay(retardo);
}
for (int contador=255; contador>0; contador--) {
analogWrite(pinLed1, varfija);
analogWrite(pinLed2, varfija);
analogWrite(pinLed3, contador); delay(retardo);
}
for (int contador=0; contador<255; contador++) {
analogWrite(pinLed1, contador);
analogWrite(pinLed2, varfija);
analogWrite(pinLed3, contador); delay(retardo);
}
for (int contador=255; contador>0; contador--) {
analogWrite(pinLed1, contador);
analogWrite(pinLed2, varfija);
analogWrite(pinLed3, contador); delay(retardo);
}
for (int contador=0; contador<255; contador++) {
analogWrite(pinLed1, varfija);
analogWrite(pinLed2, contador);
analogWrite(pinLed3, contador);
delay(retardo);
}
for (int contador=255; contador>0; contador--) {
analogWrite(pinLed1, varfija);
analogWrite(pinLed2, contador);
analogWrite(pinLed3, contador);
delay(retardo);
}
for (int contador=0; contador<255; contador++) {
analogWrite(pinLed1, contador);
analogWrite(pinLed2, contador);
analogWrite(pinLed3, contador);
delay(retardo);
}
for (int contador=255; contador>0; contador--) {
analogWrite(pinLed1, contador);
analogWrite(pinLed2, contador);
analogWrite(pinLed3, contador);
delay(retardo);
}
}

PRACTICA.
• Hacer la programación de un semáforo con el led RGB
• Hacer un juego de luces con el les RGB

También podría gustarte