bonjour tous le monde Bonne fête !!!!
je suis entrain de faire un robot sumo ( sa avance bien ) et a ce stade je voudrai commandé mon robot avec une télécommande, je me suis alors penché sur :http://arduino.cc/forum/index.php/topic,73204.0.html
Mais lorsque je vérifie le code sur mon ordi le :" IRrecv irrecv(RECV_PIN); " pose problème et cela avec plusieur code trouvé sur internet ....
Merci d'avance
Bonjour,
Pouvez-vous poster plus d'informations, tels que votre code, et les références du matériel que vous avez acheté ?
Bonne journée
Stéphane.
Bonjour,
baptiste974:
Mais lorsque je vérifie le code sur mon ordi le :" IRrecv irrecv(RECV_PIN); " pose problème et cela avec plusieur code trouvé sur internet....
Faudrait être plus précis, je suppose que la librairie utilisé est IRREMOTE ?
Avec le code + le message d'erreur complet + le câblage hardware se serait nettement plus simple de voir d'où viens le probléme, surement un include oublié ou un define manquant.
Lorsque je compile mon code ( avec arduino 0022 ou 1.0) :
#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);
}
}
}
Sa m'afiche: "IRsend" does not name a type
alors que le code semble etre bon et est donné comme code pour un kit télécommande .
Bonjour,
SI tu as pris exemple sur le lien que tu as nommé dans ton premier post, et que tu essaye de compiler le code que tu as copié dans ton deuxième post, c'est normal que ça ne marche pas.
Je pense à mon avis que tu n'as pas bien compris comment fonctionnait IRsend et son rôle exact.
Relis le post que tu as pris pour exemple, le code et ses commentaires, et compare le au tien, tu verras, il manque quelque chose
Bonne journée
Stéphane
en gros je veux commander mon arduino par télécommande et en utilisant ce code ci ( le précédent est pour envoyer pardon ):
/*
- 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
}
}
& en compilant sa me dit: " IRrecv " does not name a type
Salut, euh par le plus grand des hasard, tu as bien mis la librairie IRremote dans le dossier Librairies de ton IDE arduino?
Oupss
non je n‘est rien fais de tout cela...
j‘ais besoin d‘explication!! Merci d‘avance
^^
Va jeter un oeil ICI pour l'explication des Lib.
Je cite le site :
Pour utiliser les librairies "hors référence" fournies par la communauté, il faut télécharger un fichier zip, le décompresser et copier le répertoire obtenu dans le répertoire /arduino-00xx/libraries/. La nouvelle librairie ainsi installée sera insérée dans un programme à l'aide de l'instruction #include.
Dans ton cas tu DL cette LIB
tu la décompresse et tu la met dans le dossier librairies de ton dossier Arduino....
Tiens voila un lien vers un tuto en Anglais mais trés bien fait pour comprendre la lib : LA
je met mon dossier décompressé dans la librairies mais aprés imposible de la voir depuis arduino et du coup le programme marche tjs pas ( normal ). Depuis arduino je vois les autres librairies mais pas IRremote alors que je vois le dossier bien ou il faut ... ????
Bonsoir,
le répertoire doit s'appeler libraries pas librairies (pas de i après le "a")
c'est un sous répertoire de l'emplacement des sketches arduino,
il faut relancer l'ide arduino pour le voir apparaître,
Lionel
En suivant tte vos étapes sa marche je n'ai plus le probleme précédant mais j'ais Error compilig.
Je ne sais pas d'ou sa vien peu etre de le librairie elle meme car c'est avec tts et uniquement les exemples IRremote que sa fais erreur !!
Pourquoi ai-je ce probleme ? g re installé arduino 1.0 et sa persiste!
???? ????
Bonjour,
cette librairie tourne par défaut avec la génération précédente de logiciels arduino (0022 & 0023 par exemple)
Si tu veux pouvoir compiler avec Arduino 1.0
tu édites le fichier IRremoteInt.h (situé dans le répertoire ...\Arduino\Libraries\IRremote)
et ligne 15 il y a :
#include <WProgram.h>
tu remplaces par :
#include <Arduino.h>
tu relances l'environnement arduino 1.0,
tu ouvres l'exemple IRrecvDemo situé dans Files\examples\IRremote
ça va compiler
Lionel
Super sa marche pour sa
mon robot ne serra plus seulement autonome mais bientôt contrôlé pas une télécommande !!
Avec ma télécommande je li des codes tel que " FFA25D " pour une certaine touche, comment puis-je utilisé cela pour faire une action comme allumer une DEl ??
baptiste974:
Super sa marche pour sa![]()
![]()
mon robot ne serra plus seulement autonome mais bientôt contrôlé pas une télécommande !!
Avec ma télécommande je li des codes tel que " FFA25D " pour une certaine touche, comment puis-je utilisé cela pour faire une action comme allumer une DEl ??
Plusieurs méthodes :
Avec un if :
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(13, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
if(results.value == 0xFFA25D) {
digitalWrite(13, HIGH);
}
irrecv.resume(); // Receive the next value
}
}
Avec cette méthode pour ajouter une commande tu dois ajouter des if en suivant ce principe :
if(results.value == valeur_du_code_ir_en_hexa) { // -> hexa 0xquelquechose
action_à_réaliser();
}
Avec un switch:
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(13, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
switch(results.value) {
case 0xFFA25D:
digitalWrite(13, HIGH);
break;
}
irrecv.resume(); // Receive the next value
}
}
Pour ajouter une nouvelle commande il suffit d'ajouter un "case" au switch :
case valeur_du_code_ir_en_hexa:
action_à_réaliser(); // entre { } si plusieurs actions à réaliser
break;