Utilización mando infrarrojos II: Control LED RGB
Tras haber leído los códigos de los botones de nuestro mando (Utilización mando infrarrojos I: Lectura del código y ejemplo), podemos seguir avanzando nuestro estudio en el sensor de infrarrojos para ir más allá y ser capaces de controlar un LED RGB (Tutorial - Led RBG con pulsadores).
Para ello necesitaremos los siguientes componentes:
El sketch que utilizaremos en este caso será el siguiente:
#include
#include //Libreria del protocolo NEC
#define IRPIN 8 // Pin del receptor IR
NECIRrcv ir(IRPIN);
int rojo = 13; //Pin del color rojo del led RGB
int verde = 12; //Pin del color verde del led RGB
int azul = 11; //Pin del color azul del led RGB
//power = 4228087680; //Codigo correspondiente al boton POWER del mando a distancia
//butrojo = 4161240960; //Codigo correspondiente al boton 1 del mando a distancia
//butverde = 4194664320; //Codigo correspondiente al boton 2 del mando a distancia
//butazul = 4177952640; //Codigo correspondiente al boton 3 del mando a distancia
void setup()
{
//Serial.begin(9600); //Iniciamos comunicacion serie
ir.begin(); //Iniciamos la recepcion IR
pinMode(rojo, OUTPUT);
pinMode(verde,OUTPUT);
pinMode(azul, OUTPUT);
}
void loop()
{
unsigned long ircode; //Variable que contendra el codigo decimal del boton pulsado
while (ir.available())
{
ircode = ir.read(); //Leemos el codigo del boton pulsado
if (ircode == power) //Si el boton de power... apagamos el led
{
digitalWrite(rojo, LOW);
digitalWrite(verde, LOW);
digitalWrite(azul, LOW);
}
else if (ircode == butrojo) digitalWrite(rojo,HIGH); //Si boton 1, encendemos color rojo
else if (ircode == butverde) digitalWrite(verde,HIGH); //Si boton 2, encendemos color verde
else if (ircode == butazul) digitalWrite(azul,HIGH); //Si boton 3, encendemos color azul
}
}
Aclaración: destacar que una patilla del RGB se encuentra en el pin 13, el cual ya lleva internamente incorporado una resistencia que impide que el led se deteriore. El dibujo es genérico por si se deseara utilizarlo con otros pines.
Si observamos el sketch, podemos observar como para cada botón del mando, tenemos asociado un código que emplearemos en las condiciones.
Finalmente, el resultado obtenido puede mostrarse en el siguiente vídeo:
Y esto es todo. No dudéis en comentar y en preguntar cualquier duda.
Gracias por la atención.
Para ello necesitaremos los siguientes componentes:
- Led RGB
- Sensor de infrarrojos + mando compatible
- 4 resistencias 220Ω (una para cada color del led RGB y otra para el sensor de infrarrojos)
- Protoboard
- Cables
El sketch que utilizaremos en este caso será el siguiente:
#include
#include
#define IRPIN 8 // Pin del receptor IR
NECIRrcv ir(IRPIN);
int rojo = 13; //Pin del color rojo del led RGB
int verde = 12; //Pin del color verde del led RGB
int azul = 11; //Pin del color azul del led RGB
//power = 4228087680; //Codigo correspondiente al boton POWER del mando a distancia
//butrojo = 4161240960; //Codigo correspondiente al boton 1 del mando a distancia
//butverde = 4194664320; //Codigo correspondiente al boton 2 del mando a distancia
//butazul = 4177952640; //Codigo correspondiente al boton 3 del mando a distancia
void setup()
{
//Serial.begin(9600); //Iniciamos comunicacion serie
ir.begin(); //Iniciamos la recepcion IR
pinMode(rojo, OUTPUT);
pinMode(verde,OUTPUT);
pinMode(azul, OUTPUT);
}
void loop()
{
unsigned long ircode; //Variable que contendra el codigo decimal del boton pulsado
while (ir.available())
{
ircode = ir.read(); //Leemos el codigo del boton pulsado
if (ircode == power) //Si el boton de power... apagamos el led
{
digitalWrite(rojo, LOW);
digitalWrite(verde, LOW);
digitalWrite(azul, LOW);
}
else if (ircode == butrojo) digitalWrite(rojo,HIGH); //Si boton 1, encendemos color rojo
else if (ircode == butverde) digitalWrite(verde,HIGH); //Si boton 2, encendemos color verde
else if (ircode == butazul) digitalWrite(azul,HIGH); //Si boton 3, encendemos color azul
}
}
Aclaración: destacar que una patilla del RGB se encuentra en el pin 13, el cual ya lleva internamente incorporado una resistencia que impide que el led se deteriore. El dibujo es genérico por si se deseara utilizarlo con otros pines.
Si observamos el sketch, podemos observar como para cada botón del mando, tenemos asociado un código que emplearemos en las condiciones.
Finalmente, el resultado obtenido puede mostrarse en el siguiente vídeo:
Y esto es todo. No dudéis en comentar y en preguntar cualquier duda.
Gracias por la atención.
0 comentarios:
Publicar un comentario