Circuito di controllo remoto IR Arduino

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo post costruiremo un interruttore di controllo remoto wireless basato su IR (infrarossi) basato su Arduino personalizzabile, che consiste in un telecomando IR e un ricevitore, che puoi modificare in base alle tue esigenze. Nella parte successiva dell'articolo apprendiamo una versione infallibile aggiornata di un telecomando IR che risponderà solo a una frequenza assegnata in modo univoco.

Se sei al di sopra del livello principiante, puoi farlo con facilità. Il circuito proposto qui illustrato ha solo tre controlli sul telecomando e 3 relè sull'estremità del ricevitore. È possibile modificare il codice e lo schema del circuito per soddisfare le proprie esigenze.



Avrai bisogno di due schede Arduino, che fungono da telecomando e un'altra da ricevitore. Consiglierei Arduino pro mini per questo progetto, poiché le loro dimensioni sono piuttosto piccole e la dimensione complessiva del telecomando potrebbe essere evitata.

È possibile utilizzare Arduino pro mini basato su 3,3 V per il telecomando in modo da poter essere alimentato con due batterie a bottone o due batterie AA, in base alle proprie esigenze.



Il circuito del trasmettitore IR ha 3 pulsanti di accensione e un LED IR per l'invio di comandi al ricevitore. Ogni pulsante è programmato con un codice esadecimale univoco, lo stesso codice esadecimale è programmato anche sul lato del ricevitore.

Quando si preme un pulsante, il LED IR invia il codice esadecimale al ricevitore, il ricevitore riconoscerà quale pulsante è stato premuto e accenderà / spegnerà il relè corrispondente.

Il telecomando proposto utilizza il protocollo RC5 per comunicare con il ricevitore si può cambiare tutto modificando il codice.

Se sei solo un principiante in Arduino, puoi comunque farlo basta seguire il diagramma e caricare il codice senza modificare.

Il circuito e il programma:

Trasmettitore remoto Arduino:

Circuito di controllo remoto IR infallibile

Il circuito sopra illustra come costruire il trasmettitore remoto IR Arduino.

I tre resistori da 10K sono resistori pull down, che impediscono l'attivazione accidentale del telecomando a causa della carica statica e per il LED IR viene utilizzato un resistore limitatore di corrente da 220ohm.

Programma per trasmettitore remoto:

//---------Program developed by R.Girish--------//
#include
IRsend irsend
const int button1 = 4
const int button2 = 5
const int button3 = 6
void setup() {
pinMode(button1, INPUT)
pinMode(button2, INPUT)
pinMode(button3, INPUT)
}
void loop()
{
if (digitalRead(button1) == HIGH)
{
delay(50)
irsend.sendRC5(0x80C, 32)
delay(200)
}
if (digitalRead(button2) == HIGH)
{
delay(50)
irsend.sendRC5(0x821, 32)
delay(200)
}
if (digitalRead(button3) == HIGH)
{
delay(50)
irsend.sendRC5(0x820, 32)
delay(200)
}
}
//---------Program developed by R.Girish--------//

Ricevitore Arduino:

Il circuito del ricevitore IR Arduino come mostrato sopra è costituito da Sensore TSOP1738 pochi transistor, resistori limitatori di corrente per transistor, relè e diodi per assorbire picchi di alta tensione dalle bobine dei relè.

Lo schema del circuito è autoesplicativo.

Programma per ricevitore Arduino:

//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x80C // code received from button A
#define output2 0x821 // code received from button B
#define output3 0x820 // code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

Seguendo le spiegazioni precedenti è possibile eseguire tre controlli, se si desidera aggiungere più controlli e relè, è necessario modificare il codice e lo schema del circuito.

È possibile assegnare l'uscita e l'ingresso per i pin non utilizzati nel ricevitore e nel telecomando nel programma e collegare il numero di transistor e relè per i rispettivi pin nel ricevitore e allo stesso modo collegare il numero di interruttori e tirare giù il resistore nel telecomando.

È possibile utilizzare un codice esadecimale casuale per assegnare un numero maggiore di pulsanti.

Ad esempio: 0xA235, 0xFFFF, 0xBA556 e così via. E aggiungi anche lo stesso valore esadecimale nel codice del ricevitore. Ad esempio: #define output4 0xA235, #define outout5 0xFFFF e così via.

Realizzazione di un telecomando IR con frequenza unica

Nelle sezioni precedenti abbiamo imparato a conoscere un semplice telecomando IR che funzionerà con qualsiasi trasmettitore remoto IR.
Nel seguente articolo impareremo come realizzare una versione aggiornata del concetto di cui sopra per un controllo infallibile degli elettrodomestici utilizzando il microcontrollore arduino, che funzionerà con una frequenza unica e non funzionerà mai con un comune ricevitore IR.

Telecomando IR infallibile

Questo circuito può accendere / spegnere i tuoi gadget utilizzando i pulsanti inutilizzati del telecomando della TV o qualsiasi altro telecomando inutilizzato che potrebbe trovarsi nella tua casella di posta indesiderata per anni.

Il motto di questo progetto è aiutare le persone con disabilità fisica e aiutarle ad accedere all'accensione / spegnimento degli elettrodomestici di base come ventilatori o luci in modo indipendente.

Il secondo obiettivo è consentire all'utente di controllare i gadget 'Come un boss' senza doversi spostare dalla sua posizione attuale.

Il circuito utilizza la tradizionale comunicazione basata su IR tra trasmettitore e ricevitore.

Questo circuito è al cento per cento infallibile con altri telecomandi IR e altre sorgenti IR e meno suscettibile agli errori.

Il problema principale con non basato su microcontrollore Circuito telecomando IR , che si trova su Internet, è che potrebbe accendersi / spegnersi con qualsiasi telecomando basato su IR e può controllare solo un dispositivo alla volta e anche più suscettibile agli errori.

Questo circuito supera i problemi sopra specificati e noi possiamo controllare diversi gadget su un telecomando e assegnare chiavi per gadget specifici.

Prima di procedere con questo progetto è necessario scaricare i file della libreria per arduino da questo link e seguire le istruzioni fornite di seguito: github.com/z3t0/Arduino-IRremote

Istruzioni:

1) Fare clic sul pulsante 'clona o scarica' ​​dal collegamento fornito e premere 'Download ZIP'.

2) Estrai il file e sposta la cartella “IRremote” nella cartella della libreria di Arduino.

3) Elimina la cartella 'RobotIRremote' dalla tua libreria arduino. 'RobotIRremote' ha una definizione simile della libreria 'IRremote' che si scontrano e non sono in grado di caricare il codice su Arduino, quindi la cancellazione / rimozione è obbligatoria.

Duplicando le istruzioni di cui sopra, il tuo software IDE Arduino è pronto per qualsiasi / la maggior parte dei progetti basati su IR.

Assegna tasti per telecomando:

Nel nostro telecomando TV ogni tasto ha un codice esadecimale univoco, che viene utilizzato per riconoscere quale tasto viene premuto per un'operazione. Prima di caricare il codice finale su Arduino, devi trovare quali sono i codici esadecimali per le tue chiavi.

Per fare questo costruisci il seguente circuito nella breadboard e segui le istruzioni.

1) Apri l'IDE di Arduino e carica il codice di esempio 'IRrecv Demo'

2) Aprire il monitor seriale e premere il tasto del telecomando che si desidera utilizzare.

Vedrai apparire un codice esadecimale non appena premi il tasto. Questo è il codice esadecimale per quella particolare chiave.

3) Fare lo stesso per altri due tasti (in questo progetto vengono forniti 3 tasti per il controllo di 3 dispositivi)

· Utilizzeremo questi codici esadecimali nel programma principale e li caricheremo su arduino.

Programma:
//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x111 // place your code received from button A
#define output2 0x112 // place your code received from button B
#define output3 0x113 // place your code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

NOTA:

Nel programma:

#define output1 0x111 // posiziona il codice ricevuto dal pulsante A

#define output2 0x111 // posiziona il codice ricevuto dal pulsante B

#define output3 0x111 // posiziona il codice ricevuto dal pulsante C

· Posiziona i tuoi 3 codici univoci dal telecomando in questa posizione di 111, 112 e 113 e carica il codice. I codici esadecimali saranno da 0 a 9 e da A a F, ad esempio: 20156, 26FE789, FFFFFF.

· Inserisci il tuo codice con '0x' (zero x).

Schema elettrico:

· Premendo il tasto si attiva il relè e premendo nuovamente si disattiva il relè.




Un paio di: Repellente naturale per zanzare con resistore ad alta potenza Avanti: Circuito del rivelatore di metalli per terreni profondi - Scanner a terra