Okruh dálkového ovládání Arduino IR

Okruh dálkového ovládání Arduino IR

V tomto příspěvku budeme konstruovat přizpůsobitelný bezdrátový dálkový ovladač na bázi Arduina založený na IR (infračerveném), který se skládá z IR dálkového ovladače a přijímače, který můžete upravit podle svých potřeb. V pozdější části článku se dozvídáme o upgradované spolehlivé verzi IR dálkového ovládání, které bude reagovat pouze na jednoznačně přiřazenou frekvenci.

Pokud jste na vyšší úrovni pro začátečníky, můžete toho dosáhnout snadno. Zde navrhovaný obvod, který je zde znázorněn, má pouze tři ovládací prvky na dálkovém ovládání a 3 relé na konci přijímače. Můžete upravit kód a schéma zapojení podle svých potřeb.



Budete potřebovat dvě desky Arduino, které fungují jako vzdálené a další jako přijímač. Doporučil bych Arduino pro mini pro tento projekt, protože jejich velikosti jsou docela malé a celková velikost dálkového ovladače by se mohla vyhnout.



Můžete použít 3,3 V na bázi Arduino pro mini pro dálkové ovládání, takže můžete být napájeni dvěma knoflíkovými články nebo dvěma bateriemi velikosti AA podle vašich potřeb.

Okruh IR vysílače má 3 tlačítka pro zapnutí a IR LED pro odesílání příkazů do přijímače. Každé tlačítko má naprogramovaný jedinečný hexadecimální kód, stejný hexadecimální kód je naprogramován také na straně přijímače.



Když je tlačítko stisknuto, IR LED vyšle hexadecimální kód do přijímače, přijímač rozpozná, které z tlačítek je stisknuto a zapne / vypne příslušné relé.

Navrhovaný dálkový ovladač používá pro komunikaci s přijímačem protokol RC5, vše můžete změnit úpravou kódu.

Pokud jste v Arduinu pouze začátečník, můžete toho dosáhnout, stačí postupovat podle diagramu a nahrát kód bez úprav.



Okruh a program:

Dálkový vysílač Arduino:

Spolehlivý infračervený dálkový ovladač

Výše uvedený obvod ilustruje, jak sestavit IR dálkový vysílač Arduino.

Tři 10K rezistory jsou stahovací rezistory, které zabraňují náhodnému spuštění dálkového ovladače v důsledku statického náboje a pro IR LED je použit rezistor omezující proud 220ohm.

Program pro dálkový vysílač:

//---------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--------//

Přijímač Arduino:

Obvod přijímače IR Arduino, jak je znázorněno výše, se skládá z Senzor TSOP1738 několik tranzistorů, rezistory omezující proud pro tranzistor, relé a diody pro absorpci vysokonapěťových špiček z cívek relé.

Schéma zapojení je samozřejmé.

Program pro přijímač 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-----------//

Podle výše uvedených vysvětlení můžete dosáhnout tří ovládacích prvků, pokud chcete přidat další ovládací prvky a relé, musíte upravit kód a schéma zapojení.

Můžete přiřadit výstup a vstup pro nepoužité piny v přijímači a dálkovém ovládání v programu a připojit počet tranzistorů a relé pro příslušné piny v přijímači a podobně připojit počet spínačů a stáhnout odpor v dálkovém ovládání.

Pro přiřazení většího počtu tlačítek můžete použít náhodný hexadecimální kód.

Například: 0xA235, 0xFFFF, 0xBA556 a tak dále. A také přidejte stejnou šestnáctkovou hodnotu do kódu přijímače. Například: #define output4 0xA235, #define outout5 0xFFFF a tak dále.

Výroba IR dálkového ovládání s jedinečnou frekvencí

V předchozích částech jsme se dozvěděli o jednoduchém IR dálkovém ovládání, které bude fungovat s jakýmkoli IR dálkovým vysílačem.
V následujícím článku se naučíme, jak vytvořit upgradovanou verzi výše uvedeného konceptu pro spolehlivé ovládání domácích spotřebičů pomocí mikrokontroléru arduino, který bude pracovat s jedinečnou frekvencí a nikdy nebude fungovat s běžným infračerveným sluchátkem.

Bezpečné IR dálkové ovládání

Tento obvod může zapnout / vypnout vaše gadgety pomocí nepoužívaných tlačítek dálkového ovladače televizoru nebo jakéhokoli jiného nepoužívaného dálkového ovladače, který může ležet ve vaší nevyžádané schránce po celé věky.

Mottem tohoto projektu je pomoci fyzicky postiženým osobám a pomoci jim samostatně přistupovat k zapnutí / vypnutí základních domácích spotřebičů, jako jsou ventilátory nebo světla.

Druhým cílem je umožnit uživateli ovládat gadgety „Jako šéf“, aniž by se musel pohybovat ze své stávající pozice.

Obvod využívá tradiční IR komunikaci mezi vysílačem a přijímačem.

Tento obvod je stoprocentně spolehlivý vůči jiným infračerveným dálkovým ovladačům a dalším zdrojům infračerveného záření a méně náchylný k chybám.

Hlavní problém založený na mikrokontroléru Obvod infračerveného dálkového ovládání , který se nachází na internetu, spočívá v tom, že by se mohl zapnout / vypnout jakýmkoli dálkovým ovladačem založeným na infračerveném záření a může ovládat pouze jedno zařízení v okamžiku a také náchylnější k chybám.

Tento okruh překonává výše uvedené problémy a my můžeme ovládat několik gadgetů na jednom dálkovém ovladači a přiřadit klíče pro konkrétní gadgety.

Než budete pokračovat v tomto projektu, musíte si z tohoto odkazu stáhnout soubory knihovny pro arduino a postupujte podle pokynů uvedených níže: github.com/z3t0/Arduino-IRremote

Instrukce:

1) Klikněte na tlačítko „naklonovat nebo stáhnout“ z daného odkazu a stiskněte „Stáhnout ZIP“.

2) Rozbalte soubor a přesuňte složku „IRremote“ do složky knihovny Arduino.

3) Odstraňte složku „RobotIRremote“ ze své knihovny arduino. „RobotIRremote“ má podobnou definici knihovny „IRremote“, která se střetává a není schopna nahrát kód do Arduina, takže smazání / odstranění je povinné.

Duplikováním výše uvedené instrukce je váš software Arduino IDE připraven na jakýkoli / většinu projektů založených na IR.

Přiřadit klíče pro dálkové ovládání:

V našem TV dálkovém ovládání má každá klávesa jedinečný hexadecimální kód, který slouží k rozpoznání, která klávesa je stisknuta pro operaci. Před nahráním konečného kódu do Arduina musíte zjistit, jaké jsou šestnáctkové kódy pro vaše klíče.

Chcete-li to provést, postavte následující obvod v prkénku a postupujte podle pokynů.

1) Otevřete Arduino IDE a nahrajte ukázkový kód „IRrecv Demo“

2) Otevřete sériový monitor a stiskněte tlačítko na dálkovém ovládání, které chcete použít.

Jakmile stisknete klávesu, zobrazí se šestnáctkový kód. To je hexadecimální kód pro daný klíč.

3) Udělejte to samé s dalšími dvěma klávesami (v tomto projektu jsou uvedeny 3 klávesy pro ovládání 3 zařízení)

· Tyto šestnáctkové kódy použijeme v hlavním programu a nahrajeme na arduino.

Program:
//-----------------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-----------//

POZNÁMKA:

V programu:

#define output1 0x111 // vložte svůj kód přijatý z tlačítka A

#define output2 0x111 // vložte svůj kód přijatý z tlačítka B

#define output3 0x111 // vložte svůj kód přijatý z tlačítka C.

· Umístěte 3 jedinečné kódy ze svého dálkového ovladače na toto místo 111, 112 a 113 a nahrajte kód. Šestnáctkové kódy budou od 0 do 9 a od A do F, například: 20156, 26FE789, FFFFFF.

· Vložte svůj kód s „0x“ (nula x).

Kruhový diagram:

· Stisknutím tlačítka se relé sepne a dalším stisknutím se relé vypne.




Dvojice: Přírodní repelent proti komárům využívající vysoce wattový rezistor Další: Obvod detektoru kovů s hlubokou půdou - zemní skener