Er coneho ataca de nuevo: Acabo de hacer mi primer experimento con el mando a distancia y arduino... yupy, funciona... mi hija chispillas y yo to felices. le damos al uno y se enciende el led rojo...jajajaja dominaremos er mundo, Al dos y er naranha, er tré y er verde, er 4 y er amarillo limon. Le damos ar boton de off der mando y se apagan tos. ole ole y ole.
Pero somos más exigentes... y nos gustaria pulsar el uno otra ves y que solo se apague er roho... que los demas se queden ensendidos. que le damo ar dos... pos solo se apague er naranha.
o sea que con er mismo numero se apague o ensienda er led correspondiente.
El codigo usado es el siguiente.
// Sketch para controlar un led RGB con un
// mando a distancia IR con protocolo NEC
#include <WProgram.h>
#include <NECIRrcv.h> //Libreria del protocolo NEC
#define IRPIN 8 // Pin del receptor IR
NECIRrcv ir(IRPIN);
int rojo = 9; //Pin del color ROJO del led RGB
int verde = 10; //Pin del color VERDE del led RGB
int azul = 11; //Pin del color AZUL del led RGB
int amarillo = 12; // pin nuevo
long power = 0xFF00BF00; //Codigo correspondiente al boton POWER del mando a distancia
long butrojo = 0xEF10BF00; //Codigo correspondiente al boton 1 del mando a distancia
long butverde = 0xEE11BF00; //Codigo correspondiente al boton 2 del mando a distancia
long butazul = 0xED12BF00; //Codigo correspondiente al boton 3 del mando a distancia
long butamarillo = 0xEB14BF00; // codigo boton 4
void setup()
{
Serial.begin(9600); //Iniciamos comunicacion serie
Serial.println("NEC IR code reception") ;
ir.begin(); //Iniciamos la recepcion IR
pinMode(rojo, OUTPUT);
pinMode(verde,OUTPUT);
pinMode(azul, OUTPUT);
pinMode(amarillo,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
Serial.print("got code: 0x") ;
Serial.println(ircode,HEX) ;
if (ircode == power) //Si el boton de power... apagamos el led
{
digitalWrite(rojo, LOW);
digitalWrite(verde, LOW);
digitalWrite(azul, LOW);
digitalWrite(amarillo, 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
else if (ircode == butamarillo) digitalWrite(amarillo,HIGH); //si boton 4 enciende amarillo
}
}
Muchas grasias por adelantao... Er ficus y la chispillas