venerdì 18 ottobre 2013

Trasmettere comando infrarossi con funzione sendRaw libreria IrRemote

Dopo numerosi tentativi, sono riuscito a ri-trasmettere il codice del mio telecomando samsung con Arduino e la libreria IrRemote (da copiare - incollare dentro la cartella programmi --> arduino--> libraries.
Sono riuscito grazie all'aiuto del forum di Arduino, potete leggere qui e qui.
Per ottenere i valori RAW basta caricare lo sketch "IRrecvDump" inclusso negli esempi della libreria e vedere i codici dal monitor seriale.
Io ho utilizzato un sensore IR TSOP4838 collegato al PIN 11 di Arduino UNO.
Pin - out sensore TSOP4838


Il codice RAW del mio telecomando (non samsung) è il seguente:
Unknown encoding: E0984BB6 (32 bits)
Raw (24): -8386 1300 -400 1300 -350 450 -1200 1300 -400 1300 -350 450 -1200 450 -1250 450 -1200 1300 -350 450 -1200 500 -1200 450 

Per poter trasmetterlo bisogna seguire questi passaggi:
  1. Eliminare tutti i "-" meno (usate la funzione sostituisci del notepad)
  2. Sostituite tutti gli spazi con delle virgole ","
  3. Eliminate il primo valore
  4. E poi create un array.
Dovrete ottenere qualcosa del genere:
unsigned int Signal[] = {1300,400,1300,350,450,1200,1300,400,1300,350,450,1200,450,1250,450,1200,1300,350,450,1200,500,1200,450,1000};

Lo sketch per trasmettere è il seguente:
  



//sketch creato da Alessandro Riva
//collegare led IR al pin 3
// sito: alessandro-riva-elettronica.blogspot.it
#include <IRremote.h>
unsigned int Signal[] = {1300,400,1300,350,450,1200,1300,400,1300,350,450,1200,450,1250,450,1200,1300,350,450,1200,500,1200,450,1000};
IRsend irsend;

void setup()
{
  Serial.begin(9600);
}

void loop() {

    for (int i = 0; i < 3; i++) {
  irsend.sendRaw(Signal, sizeof(Signal)/sizeof(int), 38);
      delay(400);
    }
  
}

Sostituite i valori RAW con quelli del vostro telecomando.
Il LED IR collegatelo al pin 3 con una resistenza da 220ohm.
Per qualsiasi problema o informazione commentate qui sotto.

2 commenti:

  1. Ciao! e se volessi collegare un transistor NPN per aumentare la portata del LED? come posso effettuare i collegamenti? Grazie in anticipo!

    RispondiElimina
  2. Vorrei ringraziarti per aver pubblicato questo interessante argomento che, finalmente dopo decine di tentativi, mi ha permesso di risolvere un mio problema.
    C'è qualche cosina che andrebbe implementata per rendere il tutto più comprensibile che se interessa ti posso dire(senza voler insegnare nulla a nessuno, io per primo dono una scarpa rotta,) ti allego una mail che leggo più di frequente silvano.g1@alice.it
    Un saluto cordiale
    Silvano.G

    RispondiElimina