Problemi libreria IRremote

Ciao :slight_smile: :slight_smile:
Sono nuovo di arduino e ho trovato questo codice per controllare un led con il telecomando:

/*
Ricevitore IR per telecomandi TV
*/

#include <IRremote.h>

const int RECV_PIN = 2;
int redpin=13;
IRrecv irrecv(RECV_PIN);

decode_results results;// simile al discorso che facevamo per la variabile “motore” nel progetto 8

void setup()
{
Serial.begin(9600);// attiviamo il display
irrecv.enableIRIn(); //Avvia ricezione
pinMode(redpin,OUTPUT); //imposta il pin in modalità OUTPUT
}

void loop() {
if (irrecv.decode(&results)) // se il sensore infrarosso riceve un’informazione ARDUINO fa quello che c’è in queste parentesi graffe
{
Serial.println(results.value); // scrive sul monitor seriale il valore in un codice numerico numerico del tasto del telecomando che è stato premuto: ogni tasto di ogni telecomando ha un codice

if (results.value==1168){ // equivale al tasto + per il volume del mio lettore DVD SONY, in caso abbiate telecomandi diversi fate delle prove: vi fate stampare il codice, del pulsante premuto, sul monitor con questo comando "Serial.println(results.value); poi negli if del listato mettete il numero che vi esce quando premete il pulsante del vostro telecomando , a quel punto è fatta!!

digitalWrite(redpin,HIGH); //quando premete quel pulsante arduino deve fare questa azione ossia accendere il led

} if(results.value==3216){
digitalWrite(redpin,LOW); //quando ne premete un altro (con un codice diverso) arduino deve fare quest’altra azione ossia spegnere il led

}
irrecv.resume(); //Attesa ricezione prossimo valore

}
}

Mi restituisce questo errore: Arduino:1.6.5 (Windows 8.1), Scheda:“Arduino/Genuino Uno”

C:\Program Files (x86)\Arduino\libraries\RobotIRremote\src\IRremoteTools.cpp:5:16: error: ‘TKD2’ was not declared in this scope
int RECV_PIN = TKD2; // the pin the IR receiver is connected to
^
Multiple libraries were found for “IRremote.h”

Used: C:\Program Files (x86)\Arduino\libraries\RobotIRremote

Not used: C:\Users\Lorenzo\Documents\Arduino\libraries\Arduino-IRremote-master

Errore durante la compilazione

Cosa posso fare?

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:

Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare ( pulsante </> ).
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.

Hai installato la libreria IRRemote ma viene già fornita nell'IDE, infatti tra i messaggi:
"Multiple libraries were found for "IRremote.h" ovvero hai 2 versioni della libreria.
Tieni quella che hai aggiunto e togli quella fornita con l'IDE.

Used: C:\Program Files (x86)\Arduino\libraries\RobotIRremote
Not used: C:\Users\Lorenzo\Documents\Arduino\libraries\Arduino-IRremote-master

ti dice che ha usato quella standard e non la tua. Togli quella indicata come Use (elimina la cartella)

Adesso funziona
Grazie mille per la risposta così veloce.

Vi informo che c'è una seconda libreria IR più leggera della classica.
--> GitHub - NicoHood/IRLremote: Lightweight Infrared library for Arduino
e non soffre del problema del nome identico.

Grazie. Idea brillante, invece di aspettare il cambio di nome di quella nell'IDE...

Ho aperto una issue chiedendo la rimozione della RobotIRremote; che sarebbe sempre possibile scaricare da parte delle poche persone che hanno comprato il Robot Arduino.

Per il momento è intervenuto Federico Fissore. Vediamo come evolve la cosa.
-> Remove RobotIRremote library · Issue #4040 · arduino/Arduino · GitHub
Scusate il mio inglese maccheronico.

Per vostra informazione, a prescindere dal fatto che si rimuova robotirremote o no: seguendo le istruzioni di z3t0 tutto funziona come previsto

delfo1 hai scaricato la versione di sviluppo, il cui zip ha un nome che non aiuta l'IDE a capire che "Arduino-IRremote-master" è in realtà la libraria "IRremote"

@Federico, al link che hai messo leggo:
"Make sure to delete Arduino_Root/libraries/RobotIRremote. Where Arduino_Root refers to the install directory of Arduino. The library RobotIRremote has similar definitions to IRremote and causes errors."
Ovvero eliminate la RobotIRremote. Ho capito male ?

ciao, igor