Librairie Irremote

Bonjour,

J’aimerais tout simplement faire en sorte que lorsque j’envoie un signal ir, ma led s’allume et lorsque je renvoie un signal ir, celle-ci s’éteint.

Voici le code:

#include <IRremote.h>

int RECV_PIN = 11;
const int l1 = 2;

IRrecv irrecv(11);

decode_results results;

void setup()
{
  pinMode(l1, OUTPUT);

  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    digitalWrite(l1, HIGH);
    delay(500);
    irrecv.resume();
    if (irrecv.decode(&results)){
    digitalWrite(l1, LOW);
    delay(500);
    irrecv.resume();
    }
   }
   }

Il vient d’un exemple de la librairie, et je l’ai un peu modifié.
Malheureusement ma led ne fait que s’allumer :’(
Je précise que je suis débutant en Arduino.
Si vous voyez où est le problème, merci de me l’indiquer :slight_smile:

Bonne journée.

Bonjour,

Le problème est que, à moins que tu appuies sur la télécommande plus vite que ton ombre, tu ne passes jamais dans le 2eme if, car quand tu as traité le premier appui, le deuxième appui n'est pas encore reçu. Tu dois mémoriser l'état de la led pour la faire changer d'état:

void loop() {
  static bool etatLed=false;
  if (irrecv.decode(&results)) {
    if (etatLed)
      digitalWrite(l1, LOW);
    else
      digitalWrite(l1, HIGH);
    etatLed=!etatLed;
    delay(500);
    irrecv.resume();
  }
}

Merci bcp :)