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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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