#include <IRremote.h>
#include <IRremoteInt.h>

    int RECV_PIN = 7;
    IRrecv irrecv(RECV_PIN); //création de l'objet capteur infra rouge irrecv
    decode_results results;
    int ledPin = 13;
    long duree,date_allumage;
    boolean b_del;
    void setup()
    {
      pinMode(ledPin, OUTPUT); 
      Serial.begin(9600);
      irrecv.enableIRIn(); // Initialise le recepteur
      digitalWrite(ledPin, LOW);
      b_del=false;
    }
    
    void loop() {
        if (irrecv.decode(&results)) {
           Serial.println(results.value,HEX);
           if (results.value==0xFD08F7){        
               if (b_del==false) {
               date_allumage = millis();//initialisation de la date d'allumage
               b_del=true;
               }
           }   
           if (results.value==0xFD8877){
               b_del=false;
               eteint_del();
           }
     
     
      delay(50);//évite si l'appui est trop long, l'affichage de #FFFFFF
      irrecv.resume(); // Recoit la valeur suivante
         }
    
      if (b_del==true){
        allume_del();
        duree=millis()-date_allumage;
        if (duree>10000) eteint_del();   
      }
    
    }
    
    void allume_del(){
      digitalWrite(ledPin, HIGH); // On allume la LED  
    }
    void eteint_del(){
      digitalWrite(ledPin, LOW); // On eteint la LED
      duree=0;//reinitialise la duree à 0 
      b_del=false;
    }
