El problema de ese código, si no me equivoco ya que es muy parecido al ejemplo de blinkwithoutdelay, para adaptarlo al mio es que ahora mismo proboco el encendido del led pulsando un botón y el apagado es automático es decir que no se vuelve a pulsar el botón por lo tanto no entra en el if de comprobacion de estado, no se si me explico.
if((ircode == 3108437760)){ //pulsado el boton del led1
if (tiempo > 0){
digitalWrite(led, HIGH);
Serial.println("encendio");
delay(tiempo);
digitalWrite(led, LOW);
Serial.println("apagado");
ircode = ir.read() ;
}
else
Serial.println("El tiempo de encendido es 0");
}
if((ircode == 3091726080)){//pulsado el boton del led2
digitalWrite(rojo, HIGH);
Serial.println("encendio rojo");
delay(tiempo);
digitalWrite(rojo, LOW);
Serial.println("apagado rojo");
ircode = ir.read() ;
}
Si falta alguna llave es que he quitado de mas para dejar lo minimo posible.
Gracias de nuevo