Go Down

Topic: pb reception infrarouge (Read 511 times) previous topic - next topic

volrod

salut tout le monde

On a coder les cartes émettrices et réceptrices mais il y a un petit pb au niveau du code de la carte réceptrice que l'on arrive pas a trouver.

Quand on compile tout va bien et au moment de tester la réception la carte ne reçoit pas les infos de la carte émettrice.

J'ai besoins de vous pour analyser le programme et trouver l'erreur.

je vous met en pièce jointe le code et le nec.cpp


merci a tous

kamill

Bonjour,

Pourquoi il y a deux  AcquerirTrameNEC() dans la loop?
Affiche les valeurs reçues avec Serial.print() pour voir si elles correspondent à ce que vous attendez

volrod

Merci bien on teste ça et je te tiens au courant

Le deuxième AcquerirTrameNEC() c'est pour l'erreur.
Ça vient du programme de départ et on doit le garder.

kamill

#3
Apr 29, 2016, 10:05 am Last Edit: Apr 29, 2016, 10:25 am by kamill
Le deuxième AcquerirTrameNEC() c'est pour l'erreur.
Ça vient du programme de départ et on doit le garder.
Ca me parait plus que douteux!
Pourquoi faire deux receptions avec des actions différentes?
Pourquoi tester l'erreur dans la deuxième réception et pas dans la première?
il faut faire quelque chose du genre
Code: [Select]

  Erreur = AcquerirTrameNEC(Trame_infraR_Pin, &Adresse, &donnee);
  digitalWrite(Led_Bleue_Pin, HIGH);
  delay(20);
  digitalWrite(Led_Bleue_Pin, LOW);

  Serial.print(Adresse,HEX);  // affichage de debug
  Serial.print("-");
  Serial.print(donnee,HEX);
  Serial.print("  er:");
  Serial.print((int)Erreur);

  if (Erreur != -1)
  {
      // faire tous les traitements ici
     // ...
  }

Artouste

salut tout le monde

On a coder les cartes émettrices et réceptrices mais il y a un petit pb au niveau du code de la carte réceptrice que l'on arrive pas a trouver.

Quand on compile tout va bien et au moment de tester la réception la carte ne reçoit pas les infos de la carte émettrice.

J'ai besoins de vous pour analyser le programme et trouver l'erreur.

je vous met en pièce jointe le code et le nec.cpp


merci a tous
bonjour
- quelle carte arduino ?
- reference du capteur IR  ?

a tu déjà verifié la bonne reception du signal infrarouge et son protocole avec l'exemple IRrecvDump de la librairie IRremote ?

68tjs

#5
Apr 29, 2016, 06:09 pm Last Edit: Apr 29, 2016, 06:11 pm by 68tjs
Je suis comme Artouste : avant d'écrire du code et d'y chercher des éventuelles erreurs  l'important est contrôler que le matériel fonctionne.
Comme je ne connais pas cette bibliothèque IRrecvDump j'aurais fait ainsi :

1) En préalable vérifier la liaison statiquement entre l'émetteur et le récepteur :
Si on fait émettre l'émetteur en continu est-ce que le récepteur détecte quelque chose et est-ce que ce quelque chose est bien ce que l'on attend ?
Si on éteint l'émetteur est-ce que le récepteur donne un niveau attendu ?
Tant que cette phase n'est pas bonne ce n'est pas la peine d'aller plus loin.

2) Faire une liaison série filaire entre les deux cartes : le Tx de l'une câblé sur le Rx de l'autre.
et vérifier que le RX détecte bien ce que le TX envoi.

3) une fois qu'on est certain que cela fonctionne on connecte le TX sur la carte émettrice infra-rouge, et le RX sur la carte réceptrice.
et vérifier que le RX détecte toujours bien ce que le TX envoi.
Note la démarche : je ne fais varier qu'un paramètre à la fois et je lève au maximum les doutes avant de passer à l'étape suivante.
C'est du systématique mais au final ce n'est pas une perte de temps.

Une fois ces choses simples vérifiées tu es certain que le matériel fonctionne et tu peux passer à ton application personnelle.

La disponibilité d'un oscilloscope ou même d'un simple analyseur logique ( 6€ sur Ebay clone Saleae) permettra d'aider grandement à la vérification.

Go Up