Tu as des erreurs dans la lecture de tes boutons.
Voici :
#include <IRremote.h>
#define APPUI 1
const int BUTTON_5 = 5; //capteur de fin de course porte ouverte entre gnd et d3
const int BUTTON_6 = 6; //capteur de fin de course porte fermer entre gnd et d2
int IR = 11; // Récepteur IR en broche 11
const byte LED3 = 3; // led rouge en broche 3
const byte LED4 = 4; // led verte en broche 4
IRrecv RCEP(IR);
decode_results RIR; //
void setup()
{
Serial.begin(9600); // permet de vérifier sur le moniteur série si le code de la touche est le bon
// sinon cette ligne n'est pas nécessaire
RCEP.enableIRIn(); // Commencement de la réception
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(BUTTON_5, INPUT_PULLUP); // valide la résistance de pullup interne au microcontroleur
pinMode(BUTTON_6, INPUT_PULLUP); // valide la résistance de pullup interne au microcontroleur
digitalWrite (LED3, LOW);
digitalWrite (LED4, LOW);
}
void loop()
{
int ETAT_BP_5 = digitalRead(BUTTON_5);
if (ETAT_BP_2 == APPUI) digitalWrite(LED3, LOW);
int ETAT_BP_6 = digitalRead(BUTTON_6);
if (ETA_BP_6 == APPUI) digitalWrite(LED4, LOW);
if (RCEP.decode(&RIR)) // si il y a une réception sur le capteur
{
Serial.println(RIR.value, DEC); // vérification du code de la touche actionnée sur le moniteur série
// sinon cette ligne n'est pas nécessaire
if (RIR.value == 0x40bf00ff) // si touche 0 actionnée
{
digitalWrite(LED3, LOW); // Les LED s'éteignent
digitalWrite(LED4, LOW);
}
if (RIR.value == 0xfb9) // si touche 1 actionnée
{
digitalWrite(LED4, LOW);
digitalWrite(LED3, HIGH); // La LED verte s'allume
}
if (RIR.value == 0x40bf50af) //telecomande differente
{
digitalWrite(LED3, HIGH);
}
if (RIR.value == 0x40bf906f) //telecommande differente
{
digitalWrite(LED4, HIGH);
}
if (RIR.value == 0x7ba) // si touche 2 actionnée
{
digitalWrite(LED3, LOW);
digitalWrite(LED4, HIGH); // La LED Rouge s'allume
}
RCEP.resume(); // Réception de la prochaine valeur
}
}