codifica telecomando

ciao a tutti, sono nuovo nel mondo arduino.
dopo aver studiato le basi del linguaggio c ho deciso di prendere arduino mega per tentare di automatizzare il mio acquario.
ho gia fatto alcuni test semplici, quali funzionamento led, stepper, buzzer e altro, ma ora volavo cimentarmi nel gestire alcuni comandi tramite telecomando.
ho provato a scaricare alcuni programmi da internet riguardanti il ricevitore vs1838b, ma al momento dell’avvio o non viene scritto nulla nel monitor seriale, oppure mi viene indicato un messaggio di errore: IRremote.h no such file or directory
come posso risolvere? vi posto il programma che da l’errore:

#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv (RECV_PIN);
decode_results risultati;

void setup ()
{
Serial.begin (9600);
irrecv.enableIRIn (); // Avvia il ricevitore
}

void loop () {
if (irrecv.decode (e risultati)) {
Serial.println (results.value, HEX);
irrecv.resume (); // Ricevere il valore successivo
}
}

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento

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

Prova a scrivere #include <IRRemote.h>
Arduino si scrive in C/C++ ed è sensibile alle maiuscole/minuscole

ho provato. mi da ancora lo stesso errore.

salvo1993:
ho provato. mi da ancora lo stesso errore.

salvo1993:
ho provato. mi da ancora lo stesso errore.

La hai scaricata nella directory giusta e hai eliminato (o meglio spostato) la sua omonima Robot irremote???

scusate il ritardo… ho fatto come avete detto, infatti quel problema si è risolto, ma ora ce ne è un altro: una volta caricato il programma su arduino nel monitor seriale non compare nulla… ho provato più volte con diversi telecomandi… come procedo?

salvo1993:
scusate il ritardo.. ho fatto come avete detto, infatti quel problema si è risolto, ma ora ce ne è un altro: una volta caricato il programma su arduino nel monitor seriale non compare nulla.. ho provato più volte con diversi telecomandi.. come procedo?

Dato che ora lo sketch te lo ha caricato. Direi che il problema sta nel ricevitore. O non funzionante o collegato male. O se è su breadboard magari è solo un contatto.
Il ricevitore lo hai alimentato vero??? Il ricevitore lavora sulla banda di frequenza dei telecomandi???

il ricevitore è un vs1838b. era già nel kit con il suo telecomando, quindi dovrebbe andare bene; la batteria del telecomando l'ho anche testata con il multimetro e risulta carica. ho provato a cambiare posizione sulla board ma sul seriale non c'è segno di vita

salvo1993:
il ricevitore è un vs1838b. era già nel kit con il suo telecomando, quindi dovrebbe andare bene; la batteria del telecomando l'ho anche testata con il multimetro e risulta carica. ho provato a cambiare posizione sulla board ma sul seriale non c'è segno di vita

Lo hai collegato giusto??? Non è che hai invertito i due a lato???

Salvo. A scanso di equivoci carica questo sketch che siam sicuri essere funzionante.

/*
 * IRremote: IRrecvDump - dump details of IR codes with IRrecv
 * An IR detector/demodulator must be connected to the input RECV_PIN.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 * JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post)
 * LG added by Darryl Smith (based on the JVC protocol)
 */

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

// Dumps out the decode_results structure.
// Call this after IRrecv::decode()
// void * to work around compiler issue
//void dump(void *v) {
//  decode_results *results = (decode_results *)v
void dump(decode_results *results) {
  int count = results->rawlen;
  if (results->decode_type == UNKNOWN) {
    Serial.print("Unknown encoding: ");
  } 
  else if (results->decode_type == NEC) {
    Serial.print("Decoded NEC: ");
  } 
  else if (results->decode_type == SONY) {
    Serial.print("Decoded SONY: ");
  } 
  else if (results->decode_type == RC5) {
    Serial.print("Decoded RC5: ");
  } 
  else if (results->decode_type == RC6) {
    Serial.print("Decoded RC6: ");
  }
  else if (results->decode_type == PANASONIC) {	
    Serial.print("Decoded PANASONIC - Address: ");
    Serial.print(results->panasonicAddress,HEX);
    Serial.print(" Value: ");
  }
  else if (results->decode_type == LG) {
     Serial.print("Decoded LG: ");
  }
  else if (results->decode_type == JVC) {
     Serial.print("Decoded JVC: ");
  
  }
  else if (results->decode_type == AIWA_RC_T501) {
    Serial.print("Decoded AIWA RC T501: ");
  }
  else if (results->decode_type == WHYNTER) {
     Serial.print("Decoded Whynter: ");
  }
  Serial.print(results->value, HEX);
  Serial.print(" (");
  Serial.print(results->bits, DEC);
  Serial.println(" bits)");
  Serial.print("Raw (");
  Serial.print(count, DEC);
  Serial.print("): ");

  for (int i = 0; i < count; i++) {
    if ((i % 2) == 1) {
      Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
    } 
    else {
      Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC);
    }
    Serial.print(" ");
  }
  Serial.println("");
}


void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    dump(&results);
    irrecv.resume(); // Receive the next value
  }
}

Che altri non è che IRrecvDump incluso nella libreria IRremote. Questo sketch funziona sicuro perchè ne ho avuto bisogno e lo ho usato. Se non va riguarda i collegamenti e accertati del funzionamento del tsop.

mi esce questo messaggio di errore:

Arduino:1.6.4 (Windows 7), Scheda:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Il nome dello sketch deve essere modificato. Il nome dello sketch può
contenere solo caratteri ASCII e numeri (ma non può iniziare con un numero).
Inoltre la sua lunghezza deve essere inferiore a 64 caratteri.

decod_def.ino: In function 'void dump(decode_results*)':
decod_def:59: error: 'AIWA_RC_T501' was not declared in this scope
'AIWA_RC_T501' was not declared in this scope

Questo report potrebbe essere più ricco
di informazioni con
"Mostra un output dettagliato durante la compilazione"
abilitato in "File > Impostazioni"

ho cancellato questa riga e il programma è corretto... carico su arduino, ma sul seriale non compare nulla.

salvo1993:
mi esce questo messaggio di errore:

Arduino:1.6.4 (Windows 7), Scheda:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Il nome dello sketch deve essere modificato. Il nome dello sketch può
contenere solo caratteri ASCII e numeri (ma non può iniziare con un numero).
Inoltre la sua lunghezza deve essere inferiore a 64 caratteri.

decod_def.ino: In function 'void dump(decode_results*)':
decod_def:59: error: 'AIWA_RC_T501' was not declared in this scope
'AIWA_RC_T501' was not declared in this scope

Questo report potrebbe essere più ricco
di informazioni con
"Mostra un output dettagliato durante la compilazione"
abilitato in "File > Impostazioni"

ho cancellato questa riga e il programma è corretto... carico su arduino, ma sul seriale non compare nulla.

Se lo carica e non vedi nulla il prpblema è il tsop.

Riesci a mettere uno schema di come hai collegato tutto???