- Componenti richiesti
- Come funziona la comunicazione IR?
- Schema elettrico
- Programmazione per Arduino IR Remote Decoder
- Salvataggio dei dati del decodificatore remoto IR in un foglio Excel
La comunicazione IR (infrarossi) è una tecnologia di comunicazione wireless semplice, a basso costo e ampiamente utilizzata. La luce IR è in qualche modo simile alla luce visibile, tranne per il fatto che la lunghezza d'onda è leggermente più lunga. Questa proprietà dell'IR lo rende non rilevabile dall'occhio umano e perfetto per la comunicazione wireless.
Esistono molte applicazioni in cui è necessario decodificare i segnali IR per azionare alcuni dispositivi con telecomando IR. Quindi, in questo tutorial, utilizzeremo il ricevitore IR TSOP1838 per costruire un decodificatore remoto IR utilizzando Arduino. Il codice esadecimale per ogni pulsante verrà registrato nel foglio Microsoft Excel. Questo semplice decodificatore per telecomando IR può essere utilizzato in progetti come robot per controllo remoto IR, automazione domestica e altri progetti con controllo IR.
In precedenza abbiamo utilizzato il telecomando IR e il ricevitore TSOP per creare molte applicazioni utili come:
- Circuito dimmer TRIAC telecomandato IR
- Automazione domestica telecomandata IR utilizzando Arduino
- Automazione domestica telecomandata IR tramite microcontrollore PIC
- AC controllato da telefono cellulare tramite Arduino e Bluetooth
Componenti richiesti
- Arduino Uno / Arduino Nano
- Ricevitore IR (TSOP1838)
- Cavi per ponticelli
- Breadboard
Come funziona la comunicazione IR?
Come altri sistemi di comunicazione, anche la comunicazione a infrarossi ha un trasmettitore e un ricevitore. Il trasmettitore sembra proprio un LED, ma produce luce nello spettro IR invece che nello spettro visibile. Mentre il ricevitore IR è un fotodiodo incorporato con un preamplificatore che trasforma la luce IR in un segnale elettrico. Per la comunicazione IR, sia il trasmettitore che il ricevitore devono essere puntati l'uno verso l'altro. Per ulteriori informazioni sul circuito del trasmettitore e del ricevitore IR, seguire il collegamento.
Quando si preme un pulsante del telecomando, il LED IR (trasmettitore) emette luce a infrarossi. Questa luce viene ricevuta dal ricevitore che è tipicamente un fotodiodo o un fototransistor. Ma la luce IR viene emessa anche dal sole, dalle lampadine e da qualsiasi altra cosa che produca calore. Questo può interferire con il segnale del trasmettitore, quindi per evitare che il segnale del trasmettitore venga modulato utilizzando una frequenza portante compresa tra 36 kHz e 46 kHz. Dopo aver ricevuto il segnale, il ricevitore IR demodula il segnale e lo converte in binario prima di inviarlo al microcontrollore.
Qui stiamo usando un telecomando TV per inviare il segnale IR e TSOP1838 con Arduino per riceverli.
Inoltre, controlla qui varie applicazioni basate su IR, incluso il circuito jammer del telecomando TV e il circuito del tester IR.
Schema elettrico
Di seguito è riportato lo schema del circuito per il decodificatore remoto IR utilizzando Arduino:
I collegamenti sono molto semplici poiché il sensore del ricevitore IR ha solo tre pin, Vs, GND e Data. Collega il pin Vs e GND del ricevitore IR al pin GND 3.3V di Arduino e il pin Data al pin digitale 2 di Arduino.
Programmazione per Arduino IR Remote Decoder
Il codice completo per il decodificatore IR di Arduino è fornito alla fine della pagina.
Per decodificare il telecomando IR, prima dobbiamo scaricare e aggiungere una libreria IR all'IDE di Arduino. Puoi scaricare la libreria IR Remote da qui. Dopo aver scaricato il file, apri il tuo IDE Arduino e vai su Schizzo> Includi libreria> Aggiungi libreria ZIP . Seleziona il file della libreria e fai clic su "Apri".
Inizia il tuo codice includendo il file della libreria IR Remote.
#includere
Dopodiché, definisci il pin Arduino in cui hai collegato il pin dati del ricevitore IR. Nel mio caso, è collegato al pin D2 di Arduino.
int IRPIN = 2;
Successivamente, crea un'istanza per il pin del ricevitore IR.
IRrecv irrecv (IRPIN);
Nella riga successiva, definire un oggetto per la classe decode_results , verrà utilizzato dal ricevitore IR per inviare le informazioni decodificate.
risultato di decode_results;
All'interno del setup () la funzione, avviare la comunicazione seriale, e avviare il ricevitore IR chiamando l'IRrecv funzione di enableIRIn ().
void setup () {Serial.begin (9600); Serial.println ("Abilitazione di IRin"); irrecv.enableIRIn (); Serial.println ("Enabled IRin"); Initialize_streamer (); }
Nella funzione loop () , irrecv.decode controlla costantemente la presenza di un nuovo segnale e se viene ricevuto un nuovo segnale, il codice del segnale ricevuto verrà memorizzato in una funzione result.value .
void loop () {if (irrecv.decode (& result)) {Serial.print ("Value:"); Serial.println (result.value, HEX); Write_streamer (); irrecv.resume (); } ritardo (500); }
Per inviare dati a un foglio Excel da Arduino, utilizziamo PLX-DAQ. Usando la funzione Write_streamer () , stiamo inviando i dati in modo seriale in uno schema specifico proprio come la visualizzazione del valore sul monitor seriale. Le linee chiave sono spiegate di seguito:
void Write_streamer () {Serial.print ("DATA"); // scrivi sempre "DATA" per indicare quanto segue come Data Serial.print (","); // Passa alla colonna successiva utilizzando un "," Serial.print (result.value, HEX); // Memorizza la data su Excel Serial.print (","); // Passa alla colonna successiva utilizzando "," Serial.println (); // Fine riga passa alla riga successiva}
Una volta che l'hardware e il programma sono pronti, è il momento di caricare il programma nella tua scheda Arduino Nano. Dopo aver caricato il codice, puntare il telecomando verso il ricevitore IR e premere i pulsanti del telecomando. Il codice esadecimale di ogni pulsante verrà stampato sul monitor seriale.
Salvataggio dei dati del decodificatore remoto IR in un foglio Excel
Ora, per inviare i dati a un foglio Excel, utilizzeremo PLX-DAQ. È un software Excel Plug-in che ti aiuta a scrivere valori da Arduino direttamente in un foglio Excel sul tuo laptop o PC. Usa il link per scaricare il file. Dopo il download, estrai il file e fai clic sul file.exe per installarlo. Creerà una cartella denominata PLX-DAQ sul desktop.
Ora apri il file " PLX-DAQ spreadsheet" dalla cartella del desktop. Se le macro sono disabilitate su Excel, vedrai un blocco di sicurezza come mostrato nell'immagine sottostante:
Fare clic su Opzioni-> Abilita il contenuto -> Fine -> OK per abilitare le macro. Successivamente, otterrai la seguente schermata:
Ora seleziona il baud rate come “9600” e la porta a cui è connesso il tuo Arduino e poi clicca su Connetti per avviare lo streaming dei dati. I tuoi valori dovrebbero iniziare a essere registrati come mostrato nell'immagine qui sotto.
In questo modo è possibile costruire facilmente un decodificatore remoto IR Arduino per convertire i segnali del telecomando IR in codice HEX equivalente.
Di seguito è riportato il codice Arduino completo con un video dimostrativo.