Télécommande sous arduino

omegamat Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -  
omegamat Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -
bonjour , j'aimerais commander mon relais grove avec ma télécommande IR .
J'ai donc un recepteur infrarouge qui recois bien les infos de la télécommande mais je ne vois pas l'erreur pour commander mon relais .
Quelqu'un peut m'aider ?
Merci d'avance
voici mon code :


#include <IRremote.h>

const int RECV_PIN = 7;
IRrecv irrecv(RECV_PIN);
decode_results results;

const int relayPin =  8;

void setup(){
  Serial.begin(9600);
  irrecv.enableIRIn();
  irrecv.blink13(true);

  pinMode(relayPin, OUTPUT);
}

void loop(){
    if (irrecv.decode(&results)){
        Serial.println(results.value, HEX);
  }
  int comState = digitalRead(&results);

    // If the button is pressed, activate (close) the relay.
    if (comState == 1 || comState == 801)   
    {
        digitalWrite(relayPin, HIGH);
     
    }
    else   
    {
        digitalWrite(relayPin, LOW);
    }
    delay(10);
    irrecv.resume();

}

2 réponses

georges97 Messages postés 13776 Date d'inscription   Statut Contributeur Dernière intervention   2 650
 
Bonsoir,

Je ne vois pas beaucoup de spécialistes arduino sur CCM.

Voir ce sujet:

https://openclassrooms.com/forum/sujet/commande-infrarouge-arduino

et poser plutôt la question sur https://openclassrooms.com/forum/categorie/electronique.

Cordialement
0
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Bonjour,

Je ne comprends pas la ligne :
int comState = digitalRead(&results);
La donnée ne vient pas d'une lecture d'I/O, j'aurais plutôt écris quelque chose comme:
int comState = results.value;
0
omegamat Messages postés 42 Date d'inscription   Statut Membre Dernière intervention  
 
sa marche mais le relais se réteint directement
0