Vai al contenuto

programmare telecomando per arduino


marcogeraldi

Messaggi raccomandati

  • 7 mesi dopo...

L'oscilloscopio non serve basta avere un sensore IR da accoppiare ad arduino poi tramite il terminale com si possono leggere le frequenze di trasmissioni direttamente da arduino, comunque il telecomando non credo che tu lo possa riprogrammare, ma puoi sempre programmare arduino che alla pressione di quel determinato tasto svolga una funzione.

Ho effettuato delle prove con un normale telecomando del mio televisore e questo è il risultato.

Per fortuna ho un sensore IR, TSOP4138 ed ho usato questo schema:

http://dl.dropbox.com/u/27772338/arduinopna4602.gif

poi ho buttato giù lo sketch:

#include <IRremote.h>
int receiver = 2;
IRrecv irrecv(receiver); //
decode_results results;
void setup()
{
 Serial.begin(9600);
 irrecv.enableIRIn();
}
void loop()
{
 if (irrecv.decode(&results))
 {
   Serial.println(results.value, HEX);
   irrecv.resume();
 }
}

La libreria IRremote la trovi a questo indirizzo

Ora basta aprire il terminale e provare i varii tasti del telecomando, ed avrai risultati tipo:

http://dl.dropbox.com/u/27772338/resterir1.jpg

Modificato da RyujiAndy
Link al commento
Condividi su altri siti

  • 3 settimane dopo...

La libreria che hai linkato non funziona negli IDE dall' 1.0 in poi, ottenete una serie di errori di questo tipo

 

error: ‘uint8_t’ does not name a type

 

Secondo quanto scritto qui

http://arduino.cc/forum/index.php?topic=114289.0

"Note for Arduino 1.0

bisogna cambiare

#include <WProgram.h>

in

#include <Arduino.h>

in IRRemoteInt.h.

 

Oppure scaricare la libreria aggiornata da qui

https://github.com/shirriff/Arduino-IRremote

che ho provato poco fa e funziona.

Modificato da zoomx
Link al commento
Condividi su altri siti

  • 4 mesi dopo...

ciao ragazzi, sto utilizzando questa libreria IRremote scaricata dai link qui sopra, ho anche modificato Arduino.h, la metto nella directory libraries di arduino, lo apro e per prima cosa cerco di compilarlo e mi da questi errori

IRsendDemo:11: error: 'IRsend' does not name a type

IRsendDemo.pde: In function 'void loop()':

IRsendDemo:21: error: 'irsend' was not declared in this scope

 

Cosa posso fare? sono 4 giorni che sto cercando di risolvere questo problema, anche perché mi serve per l'università. sapete darmi una mano? vi ringrazio tanto

Alessio

Link al commento
Condividi su altri siti

ciao ragazzi, sto utilizzando questa libreria IRremote scaricata dai link qui sopra, ho anche modificato Arduino.h, la metto nella directory libraries di arduino, lo apro e per prima cosa cerco di compilarlo e mi da questi errori

IRsendDemo:11: error: 'IRsend' does not name a type

IRsendDemo.pde: In function 'void loop()':

IRsendDemo:21: error: 'irsend' was not declared in this scope

 

Cosa posso fare? sono 4 giorni che sto cercando di risolvere questo problema, anche perché mi serve per l'università. sapete darmi una mano? vi ringrazio tanto

Alessio

 

Dall'errore sembrerebbe che non hai inizializzato una variable. Non posso aiutarti di più, in assenza dell'intero codice.

 

Gesendet von meinem GT-I9300 mit Tapatalk 2

Link al commento
Condividi su altri siti

Dall'errore sembrerebbe che non hai inizializzato una variable. Non posso aiutarti di più, in assenza dell'intero codice.

 

Gesendet von meinem GT-I9300 mit Tapatalk 2

 

Ciao RyujiAndy, il codice in questione è quello che trovi qui sopra nella discussione, per far trasmettere e comunicare l'arduino con un telecomando

 

#include <IRremote.h>

int receiver = 2;

IRrecv irrecv(receiver); //

decode_results results;

void setup()

{

Serial.begin(9600);

irrecv.enableIRIn();

}

void loop() {

if (irrecv.decode(&results))

{

Serial.println(results.value, HEX); irrecv.resume();

}

}

 

allora da qui esce l'errore che ti dicevo. Praticamente, girovagando in internet, ho letto che questo errore esce fuori perché la libreria IRremote non è compatibile con la versione di arduino più recente, ossia dalla 1.0 in poi. il problema è che io ho provato a scaricare la libreria aggiornata, ma sempre stesso errore, ho provato a scaricare la versione 0022 di arduino ma mi esce sempre lo stesso errore. Il mio problema è che devo far comunicare due arduino tramite infrarossi, uno che trasmette e uno che fa da ricevitore. iN internet ci sono tutti esempi che usano sempre la stessa libreria IRremote che a me non funziona! C'è qualcuno che può aiutarmi?!?!? perché davvero non so che fare! grazie in anticipo :)

Link al commento
Condividi su altri siti

Ciao RyujiAndy, il codice in questione è quello che trovi qui sopra nella discussione, per far trasmettere e comunicare l'arduino con un telecomando

 
#include <IRremote.h>
int receiver = 2;
IRrecv irrecv(receiver); // 
ecode_results results;
void setup() {  
  Serial.begin(9600);
  irrecv.enableIRIn(); 
}
void loop() {
  if (irrecv.decode(&results)) {    
     Serial.println(results.value, HEX);
     irrecv.resume(); 
  } 
}

allora da qui esce l'errore che ti dicevo. Praticamente, girovagando in internet, ho letto che questo errore esce fuori perché la libreria IRremote non è compatibile con la versione di arduino più recente, ossia dalla 1.0 in poi. il problema è che io ho provato a scaricare la libreria aggiornata, ma sempre stesso errore, ho provato a scaricare la versione 0022 di arduino ma mi esce sempre lo stesso errore. Il mio problema è che devo far comunicare due arduino tramite infrarossi, uno che trasmette e uno che fa da ricevitore. iN internet ci sono tutti esempi che usano sempre la stessa libreria IRremote che a me non funziona! C'è qualcuno che può aiutarmi?!?!? perché davvero non so che fare! grazie in anticipo :)

 

Ora mi trovo fuori casa ma sono di ritorno per questo finesettimana e farò delle prove, al momento il codice sembra ok

 

Gesendet von meinem GT-I9300 mit Tapatalk 2

 

EDIT:

Ho appena scaricato la libreria IRremote da GITHUB come segnalato ta ZoomX e l'ho scompattato nella cartella libraries dell'IDE 1.0.5 di arduino poi l'ho rinominato la cartella "Arduino-IRremote-master" in "IRremote", ho avvato il programma arduino ho inserito il tuo programma:

 
#include <IRremote.h>
int receiver = 2;
IRrecv irrecv(receiver); // 
ecode_results results;
void setup() {  
  Serial.begin(9600);
  irrecv.enableIRIn(); 
}
void loop() {
  if (irrecv.decode(&results)) {    
     Serial.println(results.value, HEX);
     irrecv.resume(); 
  } 
}

ho provato a compilare e non ho trovato nessun errore, infatti la variabile irsend che da errore sulla riga 21 non è presente, quindi io al momento non vedo problemi.

Modificato da RyujiAndy
Link al commento
Condividi su altri siti

ciao! allora scusami ora ti spiego meglio

questo è il codice in questione, ossia quello che hai citato tu

 

#include <IRremote.h>

int receiver = 2;

IRrecv irrecv(receiver); //

ecode_results results;

void setup() {

Serial.begin(9600);

irrecv.enableIRIn();

}

 

void loop() {

if (irrecv.decode(&results)) {

Serial.println(results.value, HEX);

irrecv.resume();

}

}

 

come errore mi da questo qui

 

sketch_jul29a:3: error: 'IRrecv' does not name a type

sketch_jul29a:4: error: 'ecode_results' does not name a type

sketch_jul29a.ino: In function 'void setup()':

sketch_jul29a:7: error: 'irrecv' was not declared in this scope

sketch_jul29a.ino: In function 'void loop()':

sketch_jul29a:11: error: 'irrecv' was not declared in this scope

sketch_jul29a:11: error: 'results' was not declared in this scope

 

Cosa potrebbe essere? Per quanto riguarda IRsend, mi da lo stesso errore quando provo a compilare lo sketch IRsendDemo sulla libreria IRremote.

Non riesco proprio a capire perché ho questo errore che non riesco a risolvere. Ho installato la libreria nella cartella Libraries di arduino 1.0.4 però continua a darmi questo errore. Riesci a darmi una mano? sono disperato!!!

Link al commento
Condividi su altri siti

  • 2 settimane dopo...

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

Giochi in Uscita



  • Community Hive Community Hive

    Community Hive allows you to follow your favorite communities all in one place.

    Follow on Community Hive
  • Utenti

    Non ci sono membri da mostrare

×
×
  • Crea Nuovo...