Chiarimento libreria IRremote

Ciao a tutti … volevo decodificare il telecomando della mia TV Panasonic e per fare questo sto utilizzando questo codice che ho trovato in rete :

#include <LiquidCrystal.h>
#include <IRremote.h>
#include <IRremoteInt.h>
 
 
 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int RECV_PIN = 8;
 
IRrecv irrecv(RECV_PIN);
decode_results results;
 
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn();
  lcd.begin(16, 2);
  lcd.print("Inizio Ricezione");
}
 
void loop() {
 
  if (irrecv.decode(&results)) {
    if(results.bits!=0){
 
    lcd.clear();
    if (results.decode_type == UNKNOWN) {
      lcd.print("Tipo di Codifica");
      lcd.setCursor(0,1);
      lcd.print("non supportata");
    }
  else{
    if (results.decode_type == NEC)
    {
      lcd.print("NEC ");
    }
    else if (results.decode_type == SONY)
    {
      lcd.print("SON ");
    }
    else if (results.decode_type == RC5)
    {
      lcd.print("RC5 ");
    }
    else if (results.decode_type == PANASONIC)
    {
      lcd.print("RC5 ");
    }
    else if (results.decode_type == RC6)
    {
      lcd.print("RC6 ");
    }
  lcd.print(results.value, HEX);
  lcd.print(" ");
  lcd.print(results.bits);
  delay(300);
  }
  
     
 }
 irrecv.resume();}
}

Per fare questo ho dovuto caricare nell’IDE la libreria IRremote da questo link https://github.com/shirriff/Arduino-IRremote

Nello stesso tempo ho visto che già esiste nella libreria RobotIRremote i files IRremote.h ed IRremote.cpp che sono tra l’altro diversi da quelli scaricati … mi domando cosa faccia l’IDE dal momento in cui ci sono due files IRremote.h, uno nella libreria precaricata RobotIRremote ed un’altro nella libreria da me caricata IRremote, userà la prima o la seconda libreria ?

Inoltre, non capisco perchè non mi riconosca il telecomando PANASONIC …

… grazie…

PS: Scusate … ho dimenticato di aggiungere che sto usando una scheda Arduino UNO R3 e la versione dell’IDE è la 1.0.6

Se usi la libreria dal sito di Shirriff, devi eliminare quella sotto l'IDE. Quella dell'IDE è li per il Roboto Arduino. Vanno in conflitto.

Grazia per la risposta .. nel frattempo immaginando qualche possibile "conflitto", ho caricato la libreria di Shirriff cambiandogli il nome in IRremote2, così anche i nomi dei files in IRremote2.h, IRremote2.cpp ed IRremoteint2.h e tutti i riferimenti nei files ad IRremote in IRremote2.

Pensi che sia sufficiente per evitare "conflitti" ?

Invece rimane ancora per me un mistero come far riconoscere il telecomando PANASONIC del mio TV Viera VT20 ... non me lo riconosce come PANASONIC restituendomi UNKNOWN ...

lucky74:
Grazia per la risposta … nel frattempo immaginando qualche possibile “conflitto”, ho caricato la libreria di Shirriff cambiandogli il nome in IRremote2, così anche i nomi dei files in IRremote2.h, IRremote2.cpp ed IRremoteint2.h e tutti i riferimenti nei files ad IRremote in IRremote2.

Pensi che sia sufficiente per evitare “conflitti” ?

Invece rimane ancora per me un mistero come far riconoscere il telecomando PANASONIC del mio TV Viera VT20 … non me lo riconosce come PANASONIC restituendomi UNKNOWN …

Se utilizza il protocollo panasonic deve riconoscertelo per forza.
Altrimenti puoi mapparlo usando il raw. Quanti bit invia???
Per reinviare il raw devi eliminare il primo numero e i meno. I numeri anticipati dal meno indicano i bit, ne troverai di due tipi. Il numero più basso indicherà lo 0, il più alto l’1.
Spero nel mio piccolo di averti aiutato.
Ciao!!! :slight_smile:

P.s. un'ultima cosa. Tienine solo una di libreria. Io ho tagliato Robotirremote e la ho incollata sul desktop, così non la cancello. E quella che hai scaricato ripristinala come era. Buon proseguimento!!!