Decodifica qualsiasi telecomando IR usando il ricevitore IR e Arduino Uno

Decodifica qualsiasi telecomando IR usando il ricevitore IR e Arduino Uno
Arduino Uno con il ricevitore IR è una combinazione popolare per la costruzione di progetti di controllo remoto IR. Il ricevitore IR è un dispositivo in grado di rilevare e ricevere segnali a infrarossi, insieme, il ricevitore Arduino Uno e IR può essere utilizzato per realizzare progetti che possono essere controllati da un telecomando IR portatile o un altro trasmettitore IR.

Questo articolo copre:

  • 1: Introduzione al sensore IR
  • 2: pinout del sensore IR
  • 3: Sensore IR interfacciante con Arduino
  • 3.1: schema
  • 3.2: installazione della libreria richiesta
  • 4: decodifica di un pulsante remoto IR
  • 4.1: codice
  • 4.2: output
  • 5: controllo del LED usando IR Remote
  • 5.1: schema
  • 5.2: codice
  • 5.3: output
  • 6: decodifica un telecomando IR basato su smartphone usando Arduino
  • Conclusione

1: Introduzione al sensore IR

Un ricevitore IR è un dispositivo in grado di rilevare e ricevere segnali a infrarossi (IR). Viene in genere utilizzato nei sistemi di controllo remoto IR per ricevere comandi da un telecomando portatile o altro trasmettitore IR. Il ricevitore IR è costituito da un fotodiodo o altro componente sensibile IR che rileva i segnali IR e un circuito demodulatore che decodifica i segnali.

L'uscita dal ricevitore IR è generalmente un segnale digitale che può essere elaborato da un microcontrollore o altro dispositivo elettronico.

2: pinout del sensore IR

Il sensore del ricevitore IR è un piccolo modulo che in genere ha tre pin:

  • VCC
  • GND
  • FUORI

IL VCC Il pin è collegato a un alimentatore, come il pin 5v sull'arduino, per fornire energia al sensore. IL GND Il pin è collegato al perno di terra sull'Arduino e sul FUORI Il pin è collegato a un perno di ingresso digitale su Arduino.

3: Sensore IR interfacciante con Arduino

Per utilizzare il sensore del ricevitore IR con un Arduino, una libreria chiamata Irrilevante è obbligatorio. Questa libreria può essere scaricata dal sito Web Arduino e consente all'Arduino di decodificare i segnali IR ricevuti dal sensore. Una volta installata la libreria, può essere incluso nello sketch (programma) che viene caricato su Arduino.

Una volta collegato il sensore del ricevitore IR e lo schizzo viene caricato, l'Arduino può iniziare a ricevere e interpretare i segnali da un telecomando IR. I segnali IR possono essere decodificati utilizzando una funzione fornita dalla libreria Irremote e i segnali decodificati possono quindi essere utilizzati per controllare vari dispositivi.

Ad esempio, è possibile utilizzare un segnale IR specifico per accendere o disattivare un dispositivo o per controllare la luminosità o la temperatura.

1: schema

Ecco uno schema di base per collegare un sensore IR a un Arduino:

Sensore IR Arduino
VCC (potenza) 5v
GND (terra) GND
Out (output) D8

È importante notare che diversi sensori IR possono avere diversi pinut e tensioni, quindi è importante controllare la scheda tecnica per il sensore specifico che stai utilizzando.

2: installazione della libreria richiesta

Ci sono diverse librerie remote IR disponibili per Arduino. Puoi utilizzare una di queste librerie secondo le tue esigenze e il protocollo remoto IR che stai utilizzando.

Installeremo il Irrilevante Biblioteca di Arminjo.

4: decodifica di un pulsante remoto IR

Sono disponibili più telecomandi IR come per televisori, condizionatori d'aria e sistemi di automazione domestica. Decodificando un telecomando IR possiamo progettare un telecomando universale per tutti questi apparecchi.

Per decodificare un telecomando IR, caricare il codice indicato di seguito e premere i pulsanti sul telecomando IR, quindi osservare il monitor seriale dell'IDE Arduino. Lo schizzo di esempio stamperà il segnale IR in formato esadecimale e il protocollo utilizzato.

Estrai i codici chiave dei pulsanti remoti IR che si desidera utilizzare nel progetto. Utilizzando questi codici chiave e le funzioni della libreria Irremote possiamo controllare le azioni desiderate quando i pulsanti corrispondenti vengono premuti sul telecomando IR.

1: codice

La scheda Arduino UNO può essere programmata caricando il codice tramite l'IDE Arduino.

#include /*biblioteca remota IR inclusa* /
Irrecv IR (8); /*D8 Arduino Pin definito*/
void setup ()
Ir.abilitarin (); /*Comunicazione IR abilitata*/
Seriale.Inizia (9600); /*Tasso di baud seriale definito*/

void loop ()
Se (ir.decode ()) / *IR Funzione libreria remota per decodificare remoto * /
Seriale.println (ir.DecodeDirdata.decodedrawdata, esagono); /*Stampa valore esagonale*/
ritardo (1000);
Ir.riprendere (); /*Attendi l'ingresso successivo* /

Codice avviato includendo una libreria remota IR. Dopodiché abbiamo definito il perno digitale Arduino in cui verrà letto il segnale IR. Successivamente nel impostare() Parte inizializziamo la comunicazione IR e il tasso di baud è definito.

In ciclo continuo() Parte del codice decodifichiamo il segnale IR ricevuto in formato esadecimale che viene quindi stampato su monitor seriale.

2: output

Dopo aver caricato il codice, abbiamo premuto tre pulsanti rosso, verde e blu sul telecomando IR.

Seguire il codice esadecimale è ottenuto per il pulsante rosso, verde e blu sul monitor seriale IDE.

Pulsante remoto IR Codice esagonale
Pulsante rosso 0xfb04ef00
Pulsante verde 0xFA05EF00
Pulsante blu 0xf906ef00

Utilizzando lo stesso codice, uno qualsiasi del telecomando IR può essere decodificato.

5: controllo del LED usando IR Remote

Per controllare un dispositivo con il telecomando IR, dovrai utilizzare il decodificato ESADECIMALE Segnali nel tuo schizzo. Ad esempio, puoi usare un se altro istruzione per controllare il segnale decodificato e accendere o disattivare un dispositivo specifico. Puoi anche usare i segnali decodificati per controllare la luminosità o la temperatura di un dispositivo.

1: schema

L'immagine data spiega la connessione dei LED con ricevitore Arduino e IR.

Sensore LED e IR Arduino Pin
LED rosso D5
Sensore IR fuori D8

2: codice

Di seguito è riportato il codice Arduino per i LED di controllo telecomandata IR. Il codice può essere caricato nella scheda Arduino Uno aprendo l'IDE Arduino.

#include /*include la libreria remota IR* /
Irrecv IR (8); /*Pin Ir definito*/
int rosso = 5; /*LED rosso al pin d5*/
bool red_state = 1; /*Stato a led rosso*/
void setup ()
Ir.abilitarin (); /*La comunicazione Ir abilita*/
pinMode (rosso, output); /*Pin LED rosso set come output*/
Seriale.Inizia (9600);

void loop ()
Se (ir.decode ()) /*decode Ir segnale in formato esadecimale* /
Seriale.println (ir.DecodeDirdata.decodedrawdata, esagono);
/*Controlla l'ingresso IR*/
/*Codice LED rosso*/
Se (ir.DecodeDirdata.DecodeDrawData == 0xfb04ef00 && red_state == 1)
DigitalWrite (rosso, alto);
Seriale.println ("led rosso");
Red_state = 0;

altro se (ir.DecodeDirdata.DecodeDrawData == 0xfb04ef00 && red_state == 0)

DigitalWrite (rosso, basso);
Seriale.println ("led Off rosso");
Red_state = 1;

Ir.riprendere ();

Codice avviato includendo una libreria remota IR. Dopodiché abbiamo definito il perno digitale Arduino in cui verrà letto il segnale IR. Successivamente viene definito un LED rosso.

Nel impostare() Parte inizializziamo la comunicazione IR e il tasso di baud è definito. Insieme a quel pin LED è impostato come output utilizzando pinMode () funzione.

In ciclo continuo() parte del codice se altro La condizione viene utilizzata per il LED rosso. È possibile impostare uno qualsiasi dei pulsanti remoti IR descrivendo il valore esagonale all'interno del codice.

Pulsante remoto IR Codice esagonale
Pulsante rosso 0xfb04ef00
Pulsante verde 0xFA05EF00
Pulsante blu 0xf906ef00

Nota: Ricorda che questi sono il codice esagonale per quello remoto che stiamo usando. Il tuo telecomando può avere un codice esadecimale diverso. Quindi, sostituire il codice con il codice esadecimale che hai ottenuto nel monitor seriale.

3: output

Dopo aver caricato il codice sulla scheda Arduino premere il pulsante rosso e il LED brillerà.

Per disattivare il LED, basta premere nuovamente il pulsante poiché abbiamo utilizzato la condizione di interruttore nel codice Arduino.

Usando lo stesso metodo, possiamo controllare gli apparecchi AC sostituendo il LED con un interruttore di relè.

6: decodifica un telecomando IR basato su smartphone usando Arduino

Se il tuo smartphone ha un sensore IR puoi progettare un telecomando personalizzato per controllare dispositivi e apparecchi. Innanzitutto, dobbiamo decodificare il telecomando IR basato su smartphone usando Arduino, avrai bisogno di un modulo ricevitore IR, una scheda Arduino.

Usando il codice sopra indicato possiamo facilmente decodificare qualsiasi remoto IR presente negli smartphone e possiamo anche progettarne uno personalizzato.

Di seguito sono riportate alcune immagini di esempio di IR remoto presenti negli smartphone.

Conclusione

In sintesi, la decodifica di un telecomando IR con un microcontrollore Arduino è un modo semplice ed economico per controllare vari dispositivi. Collegando un ricevitore IR all'Arduino, caricando uno schizzo e decodificando i segnali IR, è possibile controllare facilmente dispositivi come televisori, condizionatori d'aria e sistemi di automazione domestica.