Problemi con il modulo IR arduino

Ciao, sto avendo dei problemi con il IR module, sto eseguendo il tutorial, ma anche se ho messo il codice giusto (non mi dà neanche errore) e l'assestamento giusto non funziona.
Ho il "Super Starter Kit di Arduino Elegoo" ed il mio modello è Arduino uno.
Spero davvero che non sia rotto.

#include "IRremote.h"

int receiver = 11; // Signal Pin of IR receiver to Arduino Digital Pin 11

/*-----( Declare objects )-----*/
IRrecv irrecv(receiver);     // create instance of 'irrecv'
decode_results results;      // create instance of 'decode_results'

/*-----( Function )-----*/
void translateIR() // takes action based on IR code received

// describing Remote IR codes 

{

  switch(results.value)

  {
  case 0xFFA25D: Serial.println("POWER"); break;
  case 0xFFE21D: Serial.println("FUNC/STOP"); break;
  case 0xFF629D: Serial.println("VOL+"); break;
  case 0xFF22DD: Serial.println("FAST BACK");    break;
  case 0xFF02FD: Serial.println("PAUSE");    break;
  case 0xFFC23D: Serial.println("FAST FORWARD");   break;
  case 0xFFE01F: Serial.println("DOWN");    break;
  case 0xFFA857: Serial.println("VOL-");    break;
  case 0xFF906F: Serial.println("UP");    break;
  case 0xFF9867: Serial.println("EQ");    break;
  case 0xFFB04F: Serial.println("ST/REPT");    break;
  case 0xFF6897: Serial.println("0");    break;
  case 0xFF30CF: Serial.println("1");    break;
  case 0xFF18E7: Serial.println("2");    break;
  case 0xFF7A85: Serial.println("3");    break;
  case 0xFF10EF: Serial.println("4");    break;
  case 0xFF38C7: Serial.println("5");    break;
  case 0xFF5AA5: Serial.println("6");    break;
  case 0xFF42BD: Serial.println("7");    break;
  case 0xFF4AB5: Serial.println("8");    break;
  case 0xFF52AD: Serial.println("9");    break;
  case 0xFFFFFFFF: Serial.println(" REPEAT");break;  

  default: 
    Serial.println(" other button   ");

  }// End Case

  delay(500); // Do not get immediate repeat


} //END translateIR
void setup()   /*----( SETUP: RUNS ONCE )----*/
{
  Serial.begin(9600);
  Serial.println("IR Receiver Button Decode"); 
  irrecv.enableIRIn(); // Start the receiver

}/*--(end setup )---*/


void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/
{
  if (irrecv.decode(&results)) // have we received an IR signal?

  {
    translateIR(); 
    irrecv.resume(); // receive the next value
  }  
}/* --(end main loop )-- */

Puoi mettere uno schema dei collegamenti?

ho collegato R con 5v, Y con ∼11 G con GND

... magari se specificassi anche cosa sono quelle sigle e che componente stai usando, includendo una foto ... aiuteresti chi ti vuole aiutare :roll_eyes:

Guglielmo

Ecco, vedi? Dovevi collegare R con ~32 M + 3 col riporto di 2 che fa 5.

PS: devi spiegare meglio cosa hai collegato, e come, magari con uno schemino (anche fatto a penna e poi fotografato)...

MI pare il modulo sia questo:
image
Fai una foto del sotto e postala. Non sappiamo cosa siano quei R e Y

Da qui pare hai collegato giusto:
"Controllo di un LED Mediante Telecomando ELEGOO – Arduino Facile"

Prima di translateIR(); metti una riga con:
Serial.println(results.value);
I codici dei tasti potrebbero non essere gli stessi del esempio che hai trovato

void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/
{
  if (irrecv.decode(&results)) // have we received an IR signal?
  {
    Serial.println(results.value, HEX);
    translateIR(); 
    irrecv.resume(); // receive the next value
    delay(500); // Do not get immediate repeat
  }  
}

Cosi puoi vedere il codice del tasto che hai premuto.
P.S. il delay(500); toglilo dalla translateIR

nid69ita Comunque il modulo è quello, grazie, ma anche se ho cambiato il codice come ha detto non funziona, ho guardato con il cellulare ed effettivamente il telecomando accende la lucina, ma nel serial monitor non compare niente.
Spero che non sia rotto il componente.

Mi sembra sia indicato ..

Quindi R è il +Vcc, G è il GND ed Y è il segnale in uscita.

Guglielmo

Prova con altri telecomandi IR (non sky o condizionatori) se ne hai.
La libreria irremote ha anche un esempio mi pare si chiama receiverdump, prova con quello.

P. S. Leggo ora che la lib irremote suggerita dal sito Arduino è una versione nuova (4)
"GitHub - Arduino-IRremote/Arduino-IRremote: Infrared remote library for Arduino: send and receive infrared signals with multiple protocols"
Non ho ancora provato questa versione e penso che i codici che trovi in giro si riferiscano alla versione 3

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.