Questo articolo copre:
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:
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.