Salut !
j'essaye de faire un système avec un récepteur IR et un relais. Lorsqu'on appuie sur les deux bons boutons de la télécommande à la suite, le relais s'active.
je mets ce code dans la carte :
/*
* IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
* An IR detector/demodulator must be connected to the input RECV_PIN.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/
#include <IRremote.h>
int RECV_PIN = 9;
int resultatIR;
int flag = 0;
IRrecv Capteur_IR(RECV_PIN);
decode_results Valeur_IR;
void setup()
{ pinMode(7, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
Serial.begin(9600);
// In case the interrupt driver crashes on setup, give a clue
// to the user what's going on.
Serial.println("Enabling IRin");
Capteur_IR.enableIRIn(); // Start the receiver
Serial.println("Enabled IRin");
}
void loop()
{
resultatIR = Valeur_IR.value;
if(Capteur_IR.decode(&Valeur_IR)&&flag == 1)
{
if(resultatIR == -15811)
{
flag = 2;
Serial.println("Play OK");
Serial.print("flag = ");
Serial.println(flag);
Capteur_IR.resume();
}
else if(resultatIR != -1)
{
flag = 0;
Capteur_IR.resume();
Serial.print("flag = ");
Serial.println(flag);
}
}
if(Capteur_IR.decode(&Valeur_IR)&&flag == 0)
{
if(resultatIR == 23205)
{
flag = 1;
Serial.println("6 OK");
Serial.print("flag = ");
Serial.println(flag);
Capteur_IR.resume();
}
else if(resultatIR != -1)
{
flag = 0;
Capteur_IR.resume();
Serial.print("flag = ");
Serial.println(flag);
}
}
if(flag == 2)
{
Serial.println("Ouverture porte");
digitalWrite(7, HIGH);
delay(3000);
digitalWrite(7, LOW);
flag = 0;
}
}
Les premières fois, ça marche super, le relais s'active, et si on fait un mauvais code , rien.
Mais, au bout de quelques essais, la carte "plante" et plus rien ne se passe, bon ou mauvais code. Le terminal série n'affiche plus rien, le relais ne fonctionne plus.
Est-ce une (probable) erreur dans le code ou peut-être ma télécommande qui n'est pas assez "précise" (souvent des faux numéros de bouton) ?
Merci de vos réponses !