Erreur de compilation IRrec
Bonjour,
Après 2 ans où j'ai laissé tomber l'électronique pour cause de pbs familiaux (décès avec un "s") et un changement de PC nécessitant de redownloader certaines bibliothèques, je me remets péniblement à mes projets, et je suis plus que rouillé !
Donc excusez mes questions...
J'utilisais souvent une UNO où j'avais uploadé un programme me permettant de lire les codes des télécommandes infra-rouges, donc et cette carte a toujours fonctionné et avec plusieurs télécommandes.
Aujourd'hui j'ai tenté de recompiler le programme depuis l'IDE Arduino, j'obtiens l'erreur:
Code:
1 2
| exit status 1
'class IRrecv' has no member named 'blink13' |
Voici le programme basique de lecture des codes qui est intégré à la carte (que j'avais trouvé sur le Web à l'époque), mais qui ne passe plus à la compilation:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| // Filename: "Code tuto 10.3.ino"
/* Ceci est le code correspondant au Tuto 10.2 (càd complété avec la 2ème partie permettant l'allumage des LEDs)
sur la Réception IR sur Arduino, MAIS adapté à la télécommande de HiFiCollective envisagée pour le PERREAUX
et qui utilise les mêmes codes que ma Philips de BANDOL.
disponible sur Arduino TV, ici: http://arduinotvfr.livehost.fr/tutoriels/tutoriel-n102--interpretati.html
*/
#include <IRremote.h> // librairy permettant d'utiliser l'IR
const int RECV_PIN = 12; // car on relie la sortie du récepteur IR à la pin 12 de l'Arduino
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600); // Démarre le transmetteur série pour voir les résultats sur PC
irrecv.enableIRIn(); //
irrecv.blink13(true);
pinMode(3,OUTPUT); // c'est à cette Pin 3 qu'est reliée la 1ère LED de sortie
pinMode(4,OUTPUT); // c'est à cette Pin 4 qu'est reliée la 2ème LED de sortie
pinMode(5 ,OUTPUT); // c'est à cette Pin 5 qu'est reliée la 3ème LED de sortie
}
void loop() {
if (irrecv.decode(&results)) {
if (results.decode_type == NEC) {
Serial.print("NEC: "); // comme dans le Tuto 10 précédent, cela affiche la marque de la télécommande
} else if (results.decode_type == SONY) {
Serial.print("SONY: ");
} else if (results.decode_type == RC5) {
Serial.print("RC5: ");
} else if (results.decode_type == RC6) {
Serial.print("RC6: ");
} else if (results.decode_type == UNKNOWN) {
Serial.print("UNKNOWN: ");
}
Serial.println(results.value, HEX); // comme dans le tuto 10 précédent cela affiche en Hexadécimal ce que reçoit le capteur IR
// c'est dans cette section que l'on rajoute les lignes supplémentaires par rapport au Tuto 10 précédent
if(results.value==0xFD08F7){ // "FD08F7" correspond au Bouton 1 de la Télécommande DFRobot DFR0107 utilisée: les codes ont été trouvés au précédent Tuto 10
// au cours duquel il a lu la valeur reçue par le capteur IR quand il appuyait sur le Bouton 1
// ATTENION: bien mettre 0x devant FD087 car sinon l'Arduino ne comprends pas que c'est un code hexadécimal...
digitalWrite(3,HIGH); // si le capteur a reçu "FD08F7" càd si on a appuyé sur le Bouton 1, alors on allume la 1ère LED et on éteint les 2 autres LED.
digitalWrite(4,LOW);
digitalWrite(5,LOW);
delay(100); // on introduit ici un délai de 100millisecondes pour que le code de la télécommande ne se répète pas plusieurs fois
}
if(results.value==0xFD8877){ // on répète le raisonnement avec la valeur "FD8877" correspondant au Bouton 2 de la Télécommande
// sans oublier le 0x devant le code pour que l'Arduino comprenne que c'est de l'hexadécimal...
digitalWrite(3,LOW); // et ici on décide d'allumer la LED 2 et d'éteindre les LED 1 et 3.
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
delay(100); // on introduit ici un délai de 100millisecondes pour que le code de la télécommande ne se répète pas plusieurs fois
}
if(results.value==0xFD48B7){ // idem avec la valeur "FD48B7" correspondant au Bouton 3 de la Télécommande
digitalWrite(3,LOW); // on éteint LED 1
digitalWrite(4,LOW); // on éteint LED 2
digitalWrite(5,HIGH); // où on allume la LED 3
delay(100); // on introduit ici un délai de 100millisecondes pour que le code de la télécommande ne se répète pas plusieurs fois
}
irrecv.resume();
}} |
Cette erreur de compilation me surprend car le membre "blink13();" semble exister d'après cette page:
https://arduino-irremote.github.io/A...ions_func.html
Donc vos suggestions pour faire fonctionner ce bête programme et pour lire mes codes de télécommande sont les bienvenues !
Merci