Problème avec kit IR

Support pour le kit de communication infra rouge (IR)

Problème avec kit IR

Message non lude thomas » Dim 18 Mar 2012 21:25

Bonjour,

Je voudrais tester le Kit IR.
J'ai ajouté la librairie correspondante mais quand je compile un programme d'essai, j'ai le message d'erreur suivant:

/Users/thomas/Documents/Arduino/libraries/IRremote/IRremote.cpp:529:
error: 'volatile struct irparams_t' has no member named 'rawlen'
thomas
 
Messages: 14
Inscription: Ven 16 Mar 2012 19:11

Re: Problème avec kit IR

Message non lude seb03000 » Dim 18 Mar 2012 22:23

Bonjour thomas .

Travaille tu sur une carte Arduino ???

Quel version du logiciel Arduino a tu télécharger , prend la version 23.

Quel kit IR possède tu ???
Image

Voici mon chatterbot Jarvise Agent de conversation une IA
http://jarvise.atspace.cc/
Avatar de l’utilisateur
seb03000
 
Messages: 104
Inscription: Mer 17 Aoû 2011 15:03
Localisation: Auvergne

Re: Problème avec kit IR

Message non lude SesechXP » Lun 19 Mar 2012 08:35

Salut,

Pareil que Seb, quelle version d'Arduino utilises-tu ? Quelle version de la bibliothèque IRremote ? Si j'en crois celle que je viens de regarder, elle est développée pour Arduino 0023. Ce qui expliquerait que ça ne fonctionne pas si tu utilises Arduino 1.0.

Par contre et si tu utilises Arduino 1.0, je serais plutôt partisan d'adapter la bibliothèque IRremote plutôt que de travailler avec une vieille version (0023) qui a vocation à être remplacée :roll:

++
Dernière édition par SesechXP le Lun 19 Mar 2012 10:46, édité 2 fois.
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: Problème avec kit IR

Message non lude thomas » Lun 19 Mar 2012 10:14

J'utilise Arduino 1.0, mais je ne sais pas dire quelle version de IRemote.

Comment adapter IRemote?
thomas
 
Messages: 14
Inscription: Ven 16 Mar 2012 19:11

Re: Problème avec kit IR

Message non lude seb03000 » Lun 19 Mar 2012 11:33

Alors pour commencé télécharge la version 23 du logiciel Arduino , car tu et en version 1.0 et c'est pas bon.

Et voici la librairie IR Remote http://www.dfrobot.com/image/data/DFR0107/IRremote.zip

Et pour branché se capteur voici comment faire

File rouge du capteur tu le branche sur le 5V de ta carte Arduino

File noir du capteur tu le branche sur une pin GND ( c'est la masse ) de ta carte Arduino

Et le file vert tu le branche sur une pin digitale donc ( exemple sur la pin 2 ) de ta carte Arduino.

Image

Après le petit programme pour débuté et pour comprendre son fonctionnement:

Code: Tout sélectionner
#include <IRremote.h>

int RECV_PIN = 2;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Début du récepteur
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Recevoir la prochaine valeur
  }
}



Quand tu change les valeur sur ton code dans la parti
Code: Tout sélectionner
void setup()
comme se si

Code: Tout sélectionner
Serial.println(results.value, HEX);


Si j’appuie sur la touche 1 de la télécommande j’obtiens se résulta FD08F7 sur l'écran du sérial monitor du logiciel Arduino.

ou

Code: Tout sélectionner
Serial.println(results.value, DEC);


Si j’appuie sur la touche 1 de la télécommande j’obtiens se résulta 16582903 sur l'écran du sérial monitor du logiciel Arduino.

ou

Code: Tout sélectionner
Serial.println(results.value, BIN);


Si j’appuie sur la touche 1 de la télécommande j’obtiens se résulta 11111101000100011110111 sur l'écran du sérial monitor du logiciel Arduino.

on obtiens différent chiffre ou lettre sur l’écran du serial monitor du logiciel Arduino.

Voila , je pence que je tes tous dit hésite pas si ta d'autre question.

édité:

A en passent c'est bien se kit IR que tu utilise ????

Image
Dernière édition par seb03000 le Lun 19 Mar 2012 11:57, édité 1 fois.
Image

Voici mon chatterbot Jarvise Agent de conversation une IA
http://jarvise.atspace.cc/
Avatar de l’utilisateur
seb03000
 
Messages: 104
Inscription: Mer 17 Aoû 2011 15:03
Localisation: Auvergne

Re: Problème avec kit IR

Message non lude SesechXP » Lun 19 Mar 2012 11:37

thomas a écrit:J'utilise Arduino 1.0, mais je ne sais pas dire quelle version de IRemote.

Comment adapter IRemote?


D'après cette page, il suffit de remplacer dans le fichier IRremoteInt.h ligne 15 :
Code: Tout sélectionner
#include <WProgram.h>

par
Code: Tout sélectionner
#include <Arduino.h>


Edit : je viens de tester, ça compile sans problème avec Arduino 1.0 une fois cette modification effectuée.
Dernière édition par SesechXP le Lun 19 Mar 2012 15:24, édité 1 fois.
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: Problème avec kit IR

Message non lude subreptice » Lun 19 Mar 2012 12:13

Bonjour.

Quel version du logiciel Arduino a tu télécharger , prend la version 23.

-> NON : on ne retourne pas au silex sous prétexte que "il parait que certains auraient essayés le couteau et qu'ils auraient eu des problèmes". Il conviens de vérifier un peu avant de colporter.
EDIT: ce passage est particulièrement mal formulé, désolé ; j'ai pu lire ailleurs que certains déconseille l'IDE 1, sans vraiment avoir d'arguments, sans même sembler l'avoir testé, je trouve que c'est dommage. Ce gros ralage ne concerne pas les différents acteurs de ce fil, et n'a rien à faire ici :mrgreen:
Par contre et si tu utilises Arduino 1.0, je serais plutôt partisan d'adapter la bibliothèque IRremote plutôt que de travailler avec une vieille version (0023) qui a vocation à être remplacée :roll:


Quel kit IR possède tu ???

Soyons optimiste : probablement celui correspondant à ce forum : celui du Snootlab...
Il peut arriver, parfois, que les gens poste un message au bon endroit.

J'utilise Arduino 1.0, mais je ne sais pas dire quelle version de IRemote.

Il me semble que la 0.11, aout 2009 soit la seule disponible, non ?

Edit : je viens de tester, ça compile sans problème avec Arduino 1.0 une fois cette modification effectuée.

Merci d'avoir pointé la source.
Il me semble qu'il est possible de modifier, toujours dans la librairie, le fichier IRtrucmuch.cpp :
ainsi la librairie peut être utilisée sans modifications avec l'IDE 1, ou une plus ancienne ;
au début de IRtrucmuch.cpp , modifier pour avoir :
Code: Tout sélectionner
#if (ARDUINO >=100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif
Dernière édition par subreptice le Lun 19 Mar 2012 16:22, édité 1 fois.
subreptice
 
Messages: 58
Inscription: Mar 19 Juil 2011 18:04

Re: Problème avec kit IR

Message non lude SesechXP » Lun 19 Mar 2012 13:39

subreptice a écrit:Il me semble qu'il est possible de modifier, toujours dans la librairie, le fichier IRtrucmuch.cpp :
ainsi la librairie peut être utilisée sans modifications avec l'IDE 1, ou une plus ancienne ;
au début de IRtrucmuch.cpp , modifier pour avoir :
Code: Tout sélectionner
#if (ARDUINO >=100)
#include <Arduino.h>
#else
#include <WProgram.h>
#endif


Autant oublier totalement le silex :lol: Surtout que Thomas n'utilise pas de version antérieure à la v1.0...
Dernière édition par SesechXP le Mer 21 Mar 2012 13:40, édité 1 fois.
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: Problème avec kit IR

Message non lude thomas » Lun 19 Mar 2012 13:45

J'ai modifier la librairie (trés facilement avec vos infos) et ça fonction très bien merci!
thomas
 
Messages: 14
Inscription: Ven 16 Mar 2012 19:11

Re: Problème avec kit IR

Message non lude thomas » Lun 19 Mar 2012 18:20

Je me suis attaqué a l'émission IR, mais ... rien ne fonctionne.
mon teste:
j'ai mis face a face l'émeteur et le récepteur.
J'envois une info à interval régulier(5s) et je lis l'info.
Cela fonction quand j'utilise une télécommande mais je ne reçois pas l'info que j'envoie.
thomas
 
Messages: 14
Inscription: Ven 16 Mar 2012 19:11

Re: Problème avec kit IR

Message non lude Lionel » Mar 20 Mar 2012 10:49

Bonjour,

pourrait on avoir le code de l'émetteur, celui du récepteur, ainsi qu'une photo ou un plan du câblage ?
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Problème avec kit IR

Message non lude thomas » Mer 21 Mar 2012 11:44

J'ai simplifier la chose:

j'ai programmé pour lire le code de la télécommande de mon macbook -> 77E1D069 (HEX) (monter le volume)

Puis j'ai essayer de l'envoyer avec se programme: (que j'ai copié)

#include <IRremote.h>
IRsend irsend;

void setup()
{
Serial.begin(9600);
}

void loop() {
if (Serial.read() != -1) {
for (int i = 0; i < 3; i++) {
IRsend.send(77E1D069,HEX);
delay(100);
}
}
}
Fichiers joints
photo.JPG
photo du montage
photo.JPG (134.19 Kio) Vu 5473 fois
thomas
 
Messages: 14
Inscription: Ven 16 Mar 2012 19:11

Re: Problème avec kit IR

Message non lude subreptice » Mer 21 Mar 2012 13:34

Salut.

Ce code compile un peu mieux (Arduino 0.23).

Code: Tout sélectionner
#include <IRremote.h>

IRsend irsend;

void setup()
{
Serial.begin(9600);
}

void loop()
{if (Serial.read() != -1) {
for (int i = 0 ; i < 3; i++)
IRsend send(77E1D069,HEX);
}
delay(100);
}


Il reste l'erreur :
Code: Tout sélectionner
invalid suffix "D069" on floating constant

mais je ne sais si c'est le nombre en lui-même qui cloche, ou la syntaxe utilisée pour l'insérer dans le programme.

Je n'ai absolument pas calculé ce que faisait ton code, pas le temps.
Tu utilises deux broches de l'Arduino, mais elles ne sont pas déclarées dans le programme ? Je me rappelle pas si la Librairie octroie des broches et leur fonctions par défaut, mais ça m'étonnerai.

j'ai mis face a face l'émeteur et le récepteur.

Bof ;) pour moi l'émetteur vise le ciel, et le récepteur regarde les pattes de l'émetteur.
A vérifier en regardant leurs angles respectifs d'actions dans leur datasheets.
Il me semble aussi,
que dans le cadre d'un montage sans intervention de télécommande extérieure,
il faut dédier un micro-contrôleur à la réception et un autre à l'émission.

Allez, courage.
subreptice
 
Messages: 58
Inscription: Mar 19 Juil 2011 18:04

Re: Problème avec kit IR

Message non lude SesechXP » Mer 21 Mar 2012 13:57

Bonjour,

thomas a écrit:
Code: Tout sélectionner
IRsend.send(77E1D069,HEX);


Cette ligne pose problème pour plusieurs raisons :
- il faut utiliser l'instance de la classe ;
- indiquer que 77E1D069 est une valeur hexadécimale ;
- utiliser une méthode qui existe.

Avec les deux premiers points corrigés, ça donne :
irsend.send(0x77E1D069,HEX);

Ensuite la classe IRsend ne propose pas de méthode send mais :
Code: Tout sélectionner
 
void sendNEC(unsigned long data, int nbits);
void sendSony(unsigned long data, int nbits);
void sendRaw(unsigned int buf[], int len, int hz);
void sendRC5(unsigned long data, int nbits);
void sendRC6(unsigned long data, int nbits);


Il faut donc choisir la méthode appropriée à ton utilisation.

Au final ton code devrait ressembler à l'exemple livré avec la bibliothèque IRremote :
Code: Tout sélectionner
/*
 * IRremote: IRsendDemo - demonstrates sending IR codes with IRsend
 * An IR LED must be connected to Arduino PWM pin 3.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 */

#include <IRremote.h>

IRsend irsend;

void setup()
{
  Serial.begin(9600);
}

void loop() {
  if (Serial.read() != -1) {
    for (int i = 0; i < 3; i++) {
      irsend.sendSony(0xa90, 12); // Sony TV power code
      delay(100);
    }
  }
}
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: Problème avec kit IR

Message non lude subreptice » Mer 21 Mar 2012 20:09

Merci SesechXP d'avoir pris le temps d'expliquer tout ça. :)

Ensuite, je me réponds partielement :
Tu utilises deux broches de l'Arduino, mais elles ne sont pas déclarées dans le programme ? Je me rappelle pas si la Librairie octroie des broches et leur fonctions par défaut, mais ça m'étonnerai.

He bé si, perdu : il suffit de remonter un peu le code de l'exemple pour voir dans les commentaires :
* An IR LED must be connected to Arduino PWM pin 3.

Ce qui est le cas sur le montage en photo.

Pour finir, contrairement à ce que j'avais pu lire, il doit être possible de recevoir et d'envoyer basé sur la même carte, même si je vois pas d'autre intérêts que le test ou la fabrication d'un répétiteur.
subreptice
 
Messages: 58
Inscription: Mar 19 Juil 2011 18:04

Re: Problème avec kit IR

Message non lude Bemolu » Mar 3 Avr 2012 20:25

Bonsoir

subreptice a écrit:Pour finir, contrairement à ce que j'avais pu lire, il doit être possible de recevoir et d'envoyer basé sur la même carte, même si je vois pas d'autre intérêts que le test ou la fabrication d'un répétiteur.


J'ai trouvé sur le site du développeur de la librairie IRremote (http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html) la note suivante:
The library does not support simultaneous sending and receiving of codes; transmitting will disable receiving. (voir info additionelle en fin de message)
Ce qui en bon français veut dire que la librairie IRremote ne permet pas de faire de faire ça. A mon avis c'est faisable avec une Arduino, mais pas avec cette librairie: le programme de Thomas ne peut pas marcher.

Info additionelle: confirmation dans le code de la librairie, dont voici l'extrait:
Code: Tout sélectionner
IRsend::enableIROut(int khz) {
[...]
  // Enables IR output. [...]
  // Disable the Timer2 Interrupt (which is used for receiving IR)
  TIMSK2 &= ~_BV(TOIE2); //Timer2 Overflow Interrupt
[...] }
Bemolu
 
Messages: 63
Inscription: Mer 8 Fév 2012 21:19

Re: Problème avec kit IR

Message non lude subreptice » Mer 4 Avr 2012 02:31

Bonsoir Bemolu.

Merci beaucoup pour cet éclairage : je peut enfin répondre à cette question sans ambiguité,
et surtout comprendre pourquoi, et c'est encore plus important !
(Cette page de Ken Shirriff , je l'avait déjà lu quelques fois pourtant, ...)

Une argumentation succinte, sans failles, sourcée :
au plaisir de vous lire !
subreptice
 
Messages: 58
Inscription: Mar 19 Juil 2011 18:04


Retourner vers Kit Communication IR

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité