Je voudrais pouvoir envoyer des intructions à l'Arduino via mon Kit Infrarouge.
J'ai donc acheté un kit qui comprend une télécommande, un récepteur et un émetteur.
J'ai téléchargé la librairie pour l'infrarouge et j'ai testé la démo d'exemple la plus banale, celle qui est censé juste afficher les codes correspondants aux touches de la télécommande.
Et de temps à temps, en appuyant sur les touches, ça fonctionne, mais vraiment aléatoirement, j'ai une valeur différente de 0 qui s'affiche, du même style que sur l'image.
Je précise que chaque fois que j'appuis sur une touche, à tous les coups le capteur le reçois, ça fonctionne bien. Mais il affiche 0 au lieu de retourner une valeur héxa...
J'ai pas réussi à trouver d'explications sur internet :~
Voici mon code :
/*
* 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 = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
}
Si vous avez une idée du problème, et de la solution, merci
arduimat:
Et de temps à temps, en appuyant sur les touches, ça fonctionne, mais vraiment aléatoirement, j'ai une valeur différente de 0 qui s'affiche, du même style que sur l'image.
...
Si vous avez une idée du problème, et de la solution, merci
bonjour
c'est quoi comme capteur ?
ça ressemble un TSOP38xx ?
si oui voir
déjà à mettre au plus prés du tsop (sur la breadboard) une capa (un condensateur) un petit chimique 10µF 10V ne peut pas faire de mal.
Je ne connais pas le modèle exact, pas précisé avec la description du kit que j'acheté. Juste KIT Infrarouge... :~
déjà à mettre au plus prés du tsop (sur la breadboard) une capa (un condensateur) un petit chimique 10µF 10V ne peut pas faire de mal.
Et cette phrase beaucoup mal à comprendre moi
Et pourquoi parfois ça fonctionne ?
En gros me faut rajouter un condensateur à mon montage, entre le 5V et le GND et au plus près du TSOP ? J'arrive pas trop à comprendre le schéma, et surtout la position du condensateur ? Un exemple de condensateur à acheter ?
J'obtiens des FFFFFFFF par un phénomène de redondance ou appui trop long. J'ai eu également un ou deux 0 ici et là. Mais dans l'ensemble c'est correct, d'autant plus à une distance d'un mètre ou plus.
Ton problème est peut être lié à la pile de la télécommande déchargée ? Une mauvaise connectique ?? Ton arduino est bien une Duemilanove ???
Oui j'ai aussi écrit LFN dessus, j'ai bien téléchargé le même truc et les mêmes codes...
La télécommande et la pile sont neuves.
Par contre c'est un Arduino UNO que j'ai.
L'Arduino capte bien le signal à tous les coups, c'est juste que c'est tout a fait le contraire de toi, des 0 partout et de temps en temps la bonne valeur... J'ai essayé de tout proche, de plus loin... même résultat.
Oui les FFFFFFFF, c'est pour dire que c'est la même valeur que la précédente je crois...
Peut être mon IR Receiver est defectueux ?
C'est tout con et tout simple, je sais plus comment faire
Il faudrait regarder les datasheets de la duemilanove et de l'UNO, il y a peu être une gestion différente, particulière du port PWM 11, relatif au timer. J'ai cru comprendre que c'est le cas sur les mega par exemple.
L'UNO est un Atmel 328 ???
Essayes de modifier le port PWM pour le 9 ou tout autre port.
arduimat:
Non ça marche toujours pas, enfin une fois sur 25 et avec n'importe quelle télécommande, celle du kit ou une autre...
C'est con ^^
Peut être que mon récepteur fonctionne mal, je vois pas d'autres explications, vu que ça fonctionner une fois sur 15...
Merci pour ton aide
bonjour
Vous n'avez pas essayé de mettre un petit condensateur chimique sur la breadboard entre le + et le - du épateur ?
quand vous dites ça marche une fois sur ~ 25.
ça marche "mieux" après un temps de repos (pas d'action sur la télécommande) ou ça marche mieux n'importe quand sans relâcher l'appui d'une touche sur la télécommande ?
Voilà, comme j'ai pu récupérer quelques codes hexédécimaux, j'aimerai pouvoir les renvoyer grace à la LED IR mais comme vous l'imaginez, ça ne marche pas.
Voici le code :
#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);
}
}
}
IRsend uses an infrared LED connected to output pin 3.
Je branche donc la plus longue pate sur la pin 3, et l'autre sur la terre.
J'upload le code et je pointe ensuite mon téléphone vers la LED IR pour voir si elle envoie quelquechose et rien, pas de violet...
Je me dis qu'elle est peut être HS.
Donc pour tester si la LED marche je la met sur la pin 13 avec le basique exemple Blink et là elle s'allume !
Pourquoi ce code ne fonctionne pas, pourquoi la LED IR n'emet rien ?
PS : J'ai pas de resistance 100 ohm comme conseillé sur un tuto, mais seulement 200 ohm ou 1K, c'est la cause de mon problème ? Si oui pourquoi ça marche sur la PIN 13 alors ?
Oubliez mes deux derniers message, l'émission IR fonctionne
En fait je suis toujours à mon même point d'une très mauvaise réception, c'est domage, car je peux pas controler l'Arduino avec fiabilité, vu que ça marche une fois sur 20.
Je testerai de rajouter le condensateur dès que je pourrais me le procurer. Pourtant sur internet, tout le monde semble le faire sans trop de difficultés...
arduimat:
Oubliez mes deux derniers message, l'émission IR fonctionne
En fait je suis toujours à mon même point d'une très mauvaise réception, c'est domage, car je peux pas controler l'Arduino avec fiabilité, vu que ça marche une fois sur 20.
Je testerai de rajouter le condensateur dès que je pourrais me le procurer. Pourtant sur internet, tout le monde semble le faire sans trop de difficultés...
bonsoir
en attendant
refaite le câblage ailleurs sur le breadboard avec d'autres "fils"
ne cablez pas la diode, juste le capteur.
le + du capteur est alimenté par le 5V de l'arduino ?
si le probleme persiste après recablage, faites un test en l'alimentant avec le 3.3V de l'arduino.
J'ai essayé de tout changer, recommencer, le 3.3V mais sans succès.
Cependant, je crois avoir la réponse !
Même si parfois ça fonctionne il semblerait que soit cette librairie IRremote.h qui pose problème. En effet, elle est a du mal à interpreter les résultats en fonction du matériel qu'on utilise (les télécommandes par exemple).
Je dis ça car j'ai trouvé une solution qui fonctionne à tous les coups, c'est plus compliqué, il y a un certain temps de latence mais ça fonctionne, j'arrive à décrypter n'importe quel signal infrarouge et à le rebalancer également !
Alors c'est bien plus compliqué qu'avec la librairie IRremote.h mais ça fonctionne à tous les coups, en fait ce sont les données brutes du PWM. En gros, on récupère le signal exact en microsecondes. Et on peut faire de même pour émettre avec la LED IR.
Je posterai un exemple en bon français
Merci à tous pour vos contributions, j'ai pu arriver à mes fins