#include const byte IR_RECEIVE_PIN = 3; int led_verde = 12; int led_rojo = 11; int led_amarillo = 10; int e_verde=0; int e_rojo=0; int e_amarillo=0; void setup() { Serial.begin(9600); pinMode(led_verde, OUTPUT); //definimos los pines para los leds como salidas pinMode(led_rojo, OUTPUT); pinMode(led_amarillo, OUTPUT); IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); } void loop() { if (IrReceiver.decode()) { int value = IrReceiver.decodedIRData.command; Serial.println(value, DEC); Serial.println("leyendo"); IrReceiver.resume(); // Recibimos un dato del mando LOG 4000 if (value==2295){ //si el dato recibido es 2295, corresponde a la flecha avance - enciendo led verde if(e_verde==0){ //enciendo led verde digitalWrite(led_verde, HIGH); e_verde=1; Serial.println("enciendo led verde"); } else { Serial.println("apago led verde"); digitalWrite(led_verde, LOW); e_verde=0; } } if (value==20655){ //si el dato recibido por el LOG 835 es 20655 if(e_rojo==0){ //enciendo led rojo digitalWrite(led_rojo, HIGH); e_rojo=1; Serial.println("enciendo led rojo"); } else { Serial.println("apago led rojo"); digitalWrite(led_rojo, LOW); e_rojo=0; } } if (value==-2041){ //si el dato recibido por el LOG 835 es 20655 if(e_amarillo==0){ //enciendo led amarillo digitalWrite(led_amarillo, HIGH); e_amarillo=1; Serial.println("enciendo led amarillo"); } else { Serial.println("apago led amarillo"); digitalWrite(led_amarillo, LOW); e_amarillo=0; } } } delay(100); }