Questo articolo copre:
1: Introduzione al sensore IR
Un LED ricevitore IR o un diodo a emissione di luce a infrarossi, è un dispositivo utilizzato per rilevare e ricevere segnali a infrarossi. È comunemente usato nei sistemi di controllo remoto, in cui riceve segnali da un telecomando e li invia a un microcontrollore o altro dispositivo per l'elaborazione.
Utilizzando un sensore IR e Arduino, è possibile creare un modo personalizzato e conveniente per controllare gli apparecchi AC senza la necessità di switch manuali o pulsanti fisici, può anche essere integrato con altri dispositivi domestici intelligenti per l'automazione.
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: Introduzione al relè
Un relè è un interruttore azionario elettricamente che consente il controllo di circuiti ad alta tensione o ad alta corrente utilizzando un segnale a bassa tensione. Se utilizzato in combinazione con un microcontrollore Arduino, fornisce un modo semplice ed efficace per controllare una vasta gamma di dispositivi ed elettrodomestici.
Arduino invia un segnale al relè, facendolo aprire o chiudere un circuito, che a sua volta controlla l'alimentazione al dispositivo collegato. Per maggiori dettagli sull'integrazione del relè con Arduino, leggi l'articolo interfacciante di Relay con Arduino ed ESP32.
Un relè contiene i seguenti pin di controllo:
Normalmente chiuso: I relè in questa configurazione sono chiusi per impostazione predefinita. I flussi di corrente tra comune e NC in una configurazione normale, a meno che un segnale di trigger non interrompa il flusso di corrente.
Comune: Controlla la corrente principale (tensione di alimentazione del dispositivo esterno)
Normalmente aperto: La configurazione normalmente aperta è opposta a NC poiché in questa modalità corrente non scorre per impostazione predefinita, scorre solo dopo che un segnale di trigger è stato ricevuto da Arduino.
4: pinout di relè
Un pinout a doppio canale è:
Codice PIN | Nome PIN | Specifiche |
---|---|---|
1 | VCC | Fornitura di bobine di relè |
2 | IN 2 | Ingresso per il canale 2 |
3 | IN 1 | Ingresso per il canale 1 |
4 | GND | GND |
5 | NO | Normalmente aperto |
6 | Comune | Terminale com |
7 | Nc | Normalmente chiuso |
Nota: Se stai usando un relè con più di un canale, ricordatelo Short the JD VCC e VCC Pin con un connettore (giallo) come mostrato nell'immagine sopra.
5: 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 |
2: installazione della libreria richiesta
Esistono diverse librerie remote IR per Arduino, è possibile utilizzare una di queste librerie secondo il tuo requisito e il protocollo remoto IR che stai utilizzando.
Installeremo il Irrilevante Biblioteca di Arminjo:
6: Decodifica di un pulsante remoto IR
Prima di poter controllare un'appliance AC, dobbiamo decodificare il telecomando IR in modo da poter definire quel valore esagonale specifico all'interno del codice Arduino. Quel valore esadecimale corrisponde a un pulsante remoto IR usando il quale possiamo attivare o disattivare l'appliance.
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 ESADECIMALE formato e il protocollo utilizzato.
1: codice
La scheda Arduino UNO può essere programmata caricando il codice tramite Arduino IDE:
#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 DECODIAMO Il segnale IR ricevuto in formato esadecimale che viene quindi stampato sul monitor seriale:
2: output
Dopo aver caricato il codice, abbiamo premuto tre pulsanti rosso, verde e blu sul telecomando IR:
Seguente ESADECIMALE Il codice è 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 |
Definendo questi codici esadecimali all'interno del programma Arduino, possiamo impostare uno qualsiasi dei pulsanti remoti IR come controllo per elettrodomestici AC e lampadine. Qui continueremo con il codice esadecimale del pulsante rosso.
7: Controllo di una lampadina CA mediante IR Remote e Arduino Uno
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.
1: schema
L'immagine data spiega la connessione del bulbo CA con ricevitore Arduino e IR:
Bulbo CA e sensore IR | Arduino Pin |
---|---|
Lampadina | D5 |
Sensore IR fuori | D8 |
Pin di relè | Arduino Pin |
---|---|
IN 2 | D5 |
VCC | Vin |
GND | GND |
Com | AC (+ive) |
NC2 | AC (-ive) |
2: codice
Di seguito è riportato il codice Arduino per la lampadina del telecomando IR, il seguente codice può essere caricato nella scheda Arduino UNO tramite l'IDE Arduino:
#include /*include la libreria remota IR* /
Irrecv IR (8); /*Pin Ir definito*/
RELLAGGIO int = 5; /*Pin di relè su Arduino per relè CA (pin D5)*/
bool relay_state = 1; /*State di relè*/
void setup ()
Ir.abilitarin (); /*La comunicazione Ir abilita*/
pinMode (relè, output); /*Pin di relè impostata 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 relè per lampadina AC*/
Se (ir.DecodeDirdata.DecodeDrawData == 0xfb04ef00 && relay_state == 1)
DigitalWrite (relè, alto);
Seriale.println ("bulb on");
Relay_state = 0;
altro se (ir.DecodeDirdata.DecodeDrawData == 0xfb04ef00 && relay_state == 0)
DigitalWrite (relè, basso);
Seriale.println ("bulb off");
Relay_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 un perno per un bulbo CA è definito in D5.
Nel impostare() Parte inizializziamo la comunicazione IR e il tasso di baud è definito. Insieme a quello un perno bulbo CA è impostato come output utilizzando pinMode () funzione.
In ciclo continuo() parte del codice se altro La condizione viene utilizzata per il bulbo CA. È 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, premendo il pulsante rosso sulla lampadina AC remota IR si illuminerà dopo aver ricevuto un segnale dal relè:
Per disattivare la lampadina CA, basta premere nuovamente il pulsante poiché abbiamo usato la condizione di attivazione del codice Arduino:
Di seguito è riportato l'output del terminale seriale:
Utilizzando lo stesso metodo che uno qualsiasi degli apparecchi CA può essere controllato con un interruttore di relè e un telecomando IR.
8: Progettazione di un telecomando IR basato su smartphone per gli elettrodomestici utilizzando Arduino Uno
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 del ricevitore IR e di 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 del remoto IR 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 elettrodomestici e dispositivi AC come televisori, condizionatori d'aria e sistemi di automazione domestica.