Okruh diaľkového ovládania Arduino IR

Okruh diaľkového ovládania Arduino IR

V tomto príspevku skonštruujeme prispôsobiteľný bezdrôtový diaľkový ovládač na báze Arduina založený na IR (infračervenom), ktorý sa skladá z IR diaľkového ovládača a prijímača, ktorý si môžete upraviť podľa svojich potrieb. V neskoršej časti článku sa dozvieme o upgradovanej spoľahlivej verzii IR diaľkového ovládača, ktorá bude reagovať iba na jedinečne pridelenú frekvenciu.



Ak ste nad začiatočníckou úrovňou, môžete to ľahko dosiahnuť. Tu navrhnutý obvod, ktorý je tu znázornený, má iba tri ovládače na diaľkovom ovládaní a 3 relé na konci prijímača. Môžete upraviť kód a schému zapojenia tak, aby vyhovovali vašim potrebám.

Budete potrebovať dve dosky Arduino, ktoré fungujú ako vzdialené a ďalšie ako prijímače. Pre tento projekt by som odporučil Arduino pro mini, pretože ich veľkosti sú dosť malé a celková veľkosť diaľkového ovládača by sa mohla vyhnúť.





Môžete použiť 3,3 V založené Arduino pro mini na diaľkové ovládanie, aby ste mohli byť napájaní pomocou dvoch gombíkových článkov alebo dvoch batérií veľkosti AA, podľa vašich potrieb.

Okruh IR vysielača má 3 tlačidlá na zapnutie a IR LED na odosielanie príkazov do prijímača. Každé tlačidlo má naprogramovaný jedinečný hexadecimálny kód, rovnaký hexadecimálny kód je naprogramovaný aj na strane prijímača.



Po stlačení tlačidla IR LED vyšle hexadecimálny kód do prijímača, prijímač rozpozná, ktoré z tlačidiel je stlačené a príslušné relé zapne / vypne.

Navrhovaný diaľkový ovládač používa na komunikáciu s prijímačom protokol RC5, úpravou kódu môžete všetko zmeniť.

Ak ste v Arduine iba začiatočníci, stále to môžete dosiahnuť, postupujte podľa schémy a nahrajte kód bez úpravy.

Okruh a program:

Diaľkový vysielač Arduino:

Spoľahlivý IR diaľkový ovládač

Vyššie uvedený obvod ilustruje, ako sa dá zostaviť diaľkový vysielač Arduino IR.

Tri 10K rezistory sú sťahovacie rezistory, ktoré zabraňujú náhodnému spusteniu diaľkového ovládania v dôsledku statického náboja a pre IR LED je použitý rezistor obmedzujúci prúd na úrovni 220 ohmov.

Program pre diaľkový vysielač:

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

Arduino prijímač:

Okruh prijímača IR Arduino, ako je znázornené vyššie, sa skladá z Senzor TSOP1738 niekoľko tranzistorov, rezistory obmedzujúce prúd pre tranzistor, relé a diódy na absorpciu špičky vysokého napätia z cievok relé.

Schéma zapojenia je samozrejmá.

Program pre prijí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-----------//

Podľa vyššie uvedených vysvetlení môžete dosiahnuť tri ovládacie prvky. Ak chcete pridať ďalšie ovládacie prvky a relé, musíte upraviť kód a schému zapojenia.

V programe môžete priradiť výstup a vstup pre nepoužité piny v prijímači a na diaľkovom ovládači a pripojiť počet tranzistorov a relé pre príslušné piny v prijímači a podobne zapojiť počet spínačov a zatiahnuť rezistor v diaľkovom ovládači.

Na priradenie väčšieho počtu tlačidiel môžete použiť náhodný hexadecimálny kód.

Napríklad: 0xA235, 0xFFFF, 0xBA556 a tak ďalej. A tiež pridajte rovnakú šestnástkovú hodnotu do kódu prijímača. Napríklad: #define output4 0xA235, #define outout5 0xFFFF a tak ďalej.

Výroba IR diaľkového ovládania s jedinečnou frekvenciou

V predchádzajúcich častiach sme sa dozvedeli o jednoduchom IR diaľkovom ovládaní, ktoré bude fungovať s akýmkoľvek IR diaľkovým vysielačom.
V nasledujúcom článku sa dozvieme, ako vyrobiť inovovanú verziu vyššie uvedeného konceptu pre spoľahlivé ovládanie domácich spotrebičov pomocou mikrokontroléra arduino, ktorý bude pracovať s jedinečnou frekvenciou a nikdy nebude fungovať s bežným infračerveným slúchadlom.

Spoľahlivé IR diaľkové ovládanie

Tento obvod môže zapnúť / vypnúť vaše gadgety pomocou nepoužívaných tlačidiel diaľkového ovládača televízora alebo iného nepoužívaného diaľkového ovládača, ktorý môže ležať veky v priečinku nevyžiadanej pošty po celé veky.

Mottom tohto projektu je pomáhať fyzicky postihnutým osobám a pomáhať im samostatne zapnúť / vypnúť základné domáce spotrebiče, ako sú ventilátory alebo svetlá.

Druhým cieľom je umožniť používateľovi ovládať pomôcky „Like a boss“ bez toho, aby sa museli pohybovať zo svojej existujúcej polohy.

Obvod využíva tradičnú IR komunikáciu medzi vysielačom a prijímačom.

Tento obvod je stopercentne odolný voči iným infračerveným diaľkovým ovládačom a iným zdrojom infračerveného žiarenia a menej náchylný na chyby.

Hlavný problém založený na mikrokontroléri Obvod IR diaľkového ovládania , ktorý sa nachádza na internete, spočíva v tom, že sa môže zapnúť / vypnúť pomocou ľubovoľného diaľkového ovládača založeného na infračervenom žiarení a dokáže ovládať iba jedno zariadenie naraz a je tiež náchylnejší na chyby.

Tento okruh prekonáva vyššie uvedené problémy a my môžeme ovládať niekoľko gadgetov na jednom diaľkovom ovládači a priradiť klávesy konkrétnym gadgetom.

Pred pokračovaním v tomto projekte si musíte stiahnuť súbory knižnice pre arduino z tohto odkazu a postupovať podľa pokynov uvedených nižšie: github.com/z3t0/Arduino-IRremote

Inštrukcie:

1) Kliknite na tlačidlo „naklonovať alebo stiahnuť“ na danom odkaze a kliknite na tlačidlo „Stiahnuť ZIP“.

2) Extrahujte súbor a presuňte priečinok „IRremote“ do priečinka knižnice v aplikácii Arduino.

3) Odstráňte priečinok „RobotIRremote“ z knižnice arduino. „RobotIRremote“ má podobnú definíciu knižnice „IRremote“, ktorá je v konflikte a nie je schopná nahrať kód do Arduina, takže vymazanie / odstránenie je povinné.

Duplikovaním vyššie uvedenej inštrukcie je váš softvér Arduino IDE pripravený na akýkoľvek / väčšinu projektov založených na IR.

Priradiť klávesy pre diaľkové ovládanie:

V našom televíznom diaľkovom ovládaní má každé tlačidlo jedinečný hexadecimálny kód, ktorý sa používa na rozpoznanie, ktoré tlačidlo je stlačené pre operáciu. Pred nahraním konečného kódu do Arduina musíte zistiť, aké sú hexadecimálne kódy vašich kľúčov.

Za týmto účelom skonštruujte nasledujúci obvod v nepájivom poli a postupujte podľa pokynov.

1) Otvorte Arduino IDE a nahrajte ukážkový kód „IRrecv Demo“

2) Otvorte sériový monitor a stlačte tlačidlo na diaľkovom ovládaní, ktoré chcete použiť.

Hneď ako stlačíte kláves, uvidíte vyskakovací hexadecimálny kód. Toto je hexadecimálny kód pre konkrétny kľúč.

3) To isté urobte aj pre ďalšie dva kľúče (v tomto projekte sú uvedené 3 kľúče na ovládanie 3 zariadení)

· Tieto hexadecimálne kódy použijeme v hlavnom programe a nahráme ich 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 programe:

#define output1 0x111 // vložte svoj kód prijatý z tlačidla A

#define output2 0x111 // vložte svoj kód prijatý z tlačidla B

#define output3 0x111 // vložte svoj kód prijatý z tlačidla C.

· Vložte 3 jedinečné kódy zo svojho diaľkového ovládača na toto miesto 111, 112 a 113 a nahrajte kód. Hexadecimálne kódy budú od 0 do 9 a od A do F, napríklad: 20156, 26FE789, FFFFFF.

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

Schéma zapojenia:

· Stlačením tlačidla sa relé zapne a opätovným stlačením relé vypne.




Dvojica: Prírodný repelent proti komárom s použitím vysoko wattového odporu Ďalej: Obvod detektora kovov s hlbokou pôdou - zemný skener