Arduino IR రిమోట్ కంట్రోల్ సర్క్యూట్

సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి





ఈ పోస్ట్‌లో మేము అనుకూలీకరించదగిన ఆర్డునో ఆధారిత ఐఆర్ (ఇన్‌ఫ్రారెడ్) ఆధారిత వైర్‌లెస్ రిమోట్ కంట్రోల్ స్విచ్‌ను నిర్మించబోతున్నాము, ఇందులో ఐఆర్ రిమోట్ మరియు రిసీవర్ ఉన్నాయి, మీరు మీ అవసరాలకు అనుగుణంగా సవరించవచ్చు. వ్యాసం యొక్క తరువాతి భాగంలో, ఐఆర్ రిమోట్ కంట్రోల్ యొక్క అప్‌గ్రేడ్ చేసిన ఫూల్‌ప్రూఫ్ వెర్షన్ గురించి తెలుసుకుంటాము, ఇది ప్రత్యేకంగా కేటాయించిన ఫ్రీక్వెన్సీకి మాత్రమే ప్రతిస్పందిస్తుంది.

మీరు అనుభవశూన్యుడు స్థాయికి మించి ఉంటే మీరు దాన్ని సులభంగా సాధించవచ్చు. ఇక్కడ వివరించిన ప్రతిపాదిత సర్క్యూట్ రిమోట్‌లో మూడు నియంత్రణలు మరియు రిసీవర్ ఎండ్‌లో 3 రిలేలను కలిగి ఉంది. మీ అవసరాలను తీర్చడానికి మీరు కోడ్ మరియు సర్క్యూట్ రేఖాచిత్రాన్ని సవరించవచ్చు.



మీకు రెండు ఆర్డునో బోర్డులు అవసరం, అవి రిమోట్‌గా మరియు మరొకటి రిసీవర్‌గా పనిచేస్తాయి. ఈ ప్రాజెక్ట్ కోసం నేను ఆర్డునో ప్రో మినీని సిఫారసు చేస్తాను, ఎందుకంటే వాటి పరిమాణాలు చాలా చిన్నవి మరియు రిమోట్ యొక్క మొత్తం పరిమాణాన్ని విడదీయవచ్చు.

రిమోట్ కోసం మీరు 3.3V ఆధారిత ఆర్డునో ప్రో మినీని ఉపయోగించవచ్చు, మీ అవసరాలకు అనుగుణంగా మీరు రెండు బటన్ సెల్ లేదా రెండు AA సైజు బ్యాటరీలతో శక్తిని పొందవచ్చు.



IR ట్రాన్స్మిటర్ సర్క్యూట్లో 3 పుష్ టు ఆన్ బటన్లు మరియు రిసీవర్కు ఆదేశాలను పంపడానికి ఒక IR LED ఉంది. ప్రతి బటన్ ప్రత్యేకమైన హెక్సాడెసిమల్ కోడ్‌తో ప్రోగ్రామ్ చేయబడింది, అదే హెక్సాడెసిమల్ కోడ్ రిసీవర్ వైపు కూడా ప్రోగ్రామ్ చేయబడింది.

ఒక బటన్ నిరుత్సాహపడినప్పుడు, IR LED హెక్సాడెసిమల్ కోడ్‌ను రిసీవర్‌కు పంపుతుంది, రిసీవర్ ఏ బటన్ నొక్కినట్లు గుర్తిస్తుంది మరియు ఇది సంబంధిత రిలేను ఆన్ / ఆఫ్ చేస్తుంది.

రిసీవర్‌తో కమ్యూనికేట్ చేయడానికి ప్రతిపాదిత రిమోట్ RC5 ప్రోటోకాల్‌ను ఉపయోగిస్తుంది మీరు కోడ్‌ను సవరించడం ద్వారా ప్రతిదీ మార్చవచ్చు.

మీరు ఆర్డునోలో కేవలం అనుభవశూన్యుడు అయితే, మీరు దానిని సాధించవచ్చు, రేఖాచిత్రాన్ని అనుసరించండి మరియు సవరించకుండా కోడ్‌ను అప్‌లోడ్ చేయండి.

సర్క్యూట్ మరియు ప్రోగ్రామ్:

ఆర్డునో రిమోట్ ట్రాన్స్మిటర్:

ఫూల్‌ప్రూఫ్ ఐఆర్ రిమోట్ కంట్రోల్ సర్క్యూట్

పై సర్క్యూట్ Arduino IR రిమోట్ ట్రాన్స్మిటర్ను ఎలా నిర్మించాలో వివరిస్తుంది.

మూడు 10 కె రెసిస్టర్లు పుల్ డౌన్ రెసిస్టర్లు, ఇవి స్టాటిక్ ఛార్జ్ కారణంగా రిమోట్ యొక్క ప్రమాదవశాత్తు ప్రేరేపించడాన్ని నిరోధిస్తాయి మరియు IR LED కోసం 220ohm కరెంట్ లిమిటింగ్ రెసిస్టర్‌ను ఉపయోగిస్తారు.

రిమోట్ ట్రాన్స్మిటర్ కోసం ప్రోగ్రామ్:

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

ఆర్డునో రిసీవర్:

పైన చూపిన విధంగా IR Arduino రిసీవర్ సర్క్యూట్ కలిగి ఉంటుంది TSOP1738 సెన్సార్ కొన్ని ట్రాన్సిస్టర్లు, ట్రాన్సిస్టర్ కోసం ప్రస్తుత పరిమితి నిరోధకాలు, రిలే కాయిల్స్ నుండి అధిక వోల్టేజ్ స్పైక్‌ను గ్రహించడానికి రిలేలు మరియు డయోడ్‌లు.

సర్క్యూట్ రేఖాచిత్రం స్వీయ వివరణాత్మకమైనది.

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

పై వివరణలను అనుసరించడం ద్వారా మీరు మూడు నియంత్రణలను సాధించవచ్చు, మీరు మరిన్ని నియంత్రణలు మరియు రిలేను జోడించాలనుకుంటే, మీరు కోడ్ మరియు సర్క్యూట్ రేఖాచిత్రాన్ని సవరించాలి.

మీరు ప్రోగ్రామ్‌లో రిసీవర్ మరియు రిమోట్‌లో ఉపయోగించని పిన్‌ల కోసం అవుట్పుట్ మరియు ఇన్‌పుట్‌ను కేటాయించవచ్చు మరియు రిసీవర్‌లోని సంబంధిత పిన్‌ల కోసం ట్రాన్సిస్టర్ మరియు రిలే సంఖ్యను కనెక్ట్ చేయవచ్చు మరియు అదేవిధంగా స్విచ్‌ల సంఖ్యను కనెక్ట్ చేయవచ్చు మరియు రిమోటర్‌లో రెసిస్టర్‌ను లాగండి.

ఎక్కువ సంఖ్యలో బటన్లను కేటాయించడానికి మీరు యాదృచ్ఛిక హెక్సాడెసిమల్ కోడ్‌ను ఉపయోగించవచ్చు.

ఉదాహరణకు: 0xA235, 0xFFFF, 0xBA556 మరియు మొదలైనవి. రిసీవర్ కోడ్‌లో కూడా అదే హెక్సాడెసిమల్ విలువను జోడించండి. ఉదాహరణకు: # అవుట్పుట్ 4 0xA235 ను నిర్వచించండి, # అవుట్అవుట్ 5 0xFFFF ని నిర్వచించండి.

ప్రత్యేక ఫ్రీక్వెన్సీతో ఐఆర్ రిమోట్ కంట్రోల్ చేయడం

పై విభాగాలలో, ఏదైనా ఐఆర్ రిమోట్ ట్రాన్స్మిటర్తో పనిచేసే సాధారణ ఐఆర్ రిమోట్ కంట్రోల్ గురించి తెలుసుకున్నాము.
ఆర్డ్యునో మైక్రోకంట్రోలర్‌ను ఉపయోగించి గృహోపకరణాల ఫూల్‌ప్రూఫ్ నియంత్రణ కోసం పై భావన యొక్క అప్‌గ్రేడ్ వెర్షన్‌ను ఎలా తయారు చేయాలో తరువాతి వ్యాసంలో నేర్చుకుంటాము, ఇది ప్రత్యేకమైన పౌన frequency పున్యంతో పని చేస్తుంది మరియు సాధారణ ఐఆర్ హ్యాండ్‌సెట్‌తో ఎప్పుడూ పనిచేయదు.

ఫూల్‌ప్రూఫ్ ఐఆర్ రిమోట్ కంట్రోల్

ఈ సర్క్యూట్ మీ గాడ్జెట్‌లను టీవీ రిమోట్ యొక్క ఉపయోగించని బటన్లు లేదా ఉపయోగించని రిమోట్ ఉపయోగించి మీ జంక్ బాక్స్‌లో యుగాలుగా ఉంచవచ్చు.

ఈ ప్రాజెక్ట్ యొక్క నినాదం శారీరకంగా సవాలు చేయబడిన వ్యక్తులకు సహాయం చేయడం మరియు అభిమానులు లేదా లైట్లు వంటి ప్రాథమిక గృహోపకరణాల యొక్క ఆన్ / ఆఫ్ స్విచింగ్‌ను యాక్సెస్ చేయడానికి వారికి సహాయపడటం.

రెండవ లక్ష్యం ఏమిటంటే, వినియోగదారు తన లేదా ఆమె ఉన్న స్థానం నుండి కదలకుండా “బాస్ లాగా” గాడ్జెట్‌లను నియంత్రించటానికి వీలు కల్పించడం.

సర్క్యూట్ ట్రాన్స్మిటర్ మరియు రిసీవర్ మధ్య సాంప్రదాయ IR ఆధారిత కమ్యూనికేషన్ను ఉపయోగించుకుంటుంది.

ఈ సర్క్యూట్ ఇతర ఐఆర్ రిమోట్‌లకు, మరియు ఇతర ఐఆర్ మూలాలకు శాతం శాతం ఫూల్‌ప్రూఫ్ మరియు లోపాలకు తక్కువ అవకాశం ఉంది.

నాన్-మైక్రోకంట్రోలర్ ఆధారిత ప్రధాన సమస్య IR రిమోట్ కంట్రోల్ సర్క్యూట్ , ఇది ఇంటర్నెట్‌లో కనుగొనబడుతుంది, ఇది ఏదైనా IR ఆధారిత రిమోట్‌తో ఆన్ / ఆఫ్ చేయగలదు మరియు ఒక పరికరాన్ని తక్షణం మాత్రమే నియంత్రించగలదు మరియు లోపాలకు కూడా ఎక్కువ అవకాశం ఉంది.

ఈ సర్క్యూట్ పేర్కొన్న సమస్యల కంటే అధిగమిస్తుంది మరియు మేము చేయవచ్చు ఒక రిమోట్‌లో అనేక గాడ్జెట్‌లను నియంత్రించండి మరియు నిర్దిష్ట గాడ్జెట్ల కోసం కీలను కేటాయించండి.

ఈ ప్రాజెక్ట్ను కొనసాగించే ముందు మీరు ఆర్డునో కోసం లైబ్రరీ ఫైళ్ళను డౌన్‌లోడ్ చేసుకోవాలి మరియు ఈ లింక్‌ను రూపొందించండి మరియు క్రింద ఇచ్చిన సూచనలను అనుసరించండి: github.com/z3t0/Arduino-IRremote

సూచనలు:

1) ఇచ్చిన లింక్‌ను “క్లోన్ లేదా డౌన్‌లోడ్” బటన్ క్లిక్ చేసి “డౌన్‌లోడ్ జిప్” నొక్కండి.

2) ఫైల్‌ను సంగ్రహించి, “IRremote” ఫోల్డర్‌ను మీ లైబ్రరీ ఫోల్డర్‌కు Arduino కి తరలించండి.

3) మీ arduino లైబ్రరీ నుండి “RobotIRremote” ఫోల్డర్‌ను తొలగించండి. “రోబోట్ రిరెమోట్” కి “ఇర్రెమోట్” లైబ్రరీకి సమానమైన నిర్వచనం ఉంది, ఇది ఘర్షణ మరియు ఆర్డునోకు కోడ్‌ను అప్‌లోడ్ చేయలేకపోతుంది, కాబట్టి తొలగింపు / తొలగింపు తప్పనిసరి.

పై సూచనలను నకిలీ చేయడం ద్వారా మీ ఆర్డునో IDE సాఫ్ట్‌వేర్ ఏదైనా / చాలా IR ఆధారిత ప్రాజెక్టులకు సిద్ధంగా ఉంది.

రిమోట్ కోసం కీలను కేటాయించండి:

మా టీవీ రిమోట్‌లో ప్రతి కీ ప్రత్యేకమైన హెక్సాడెసిమల్ కోడ్‌ను కలిగి ఉంటుంది, ఇది ఆపరేషన్ కోసం ఏ కీని నొక్కిందో గుర్తించడానికి ఉపయోగించబడుతుంది. చివరి కోడ్‌ను ఆర్డునోకు అప్‌లోడ్ చేయడానికి ముందు, మీ కీల కోసం హెక్సాడెసిమల్ సంకేతాలు ఏమిటో మీరు కనుగొనాలి.

దీన్ని చేయడానికి కింది సర్క్యూట్‌ను బ్రెడ్‌బోర్డ్‌లో నిర్మించి, సూచనలను అనుసరించండి.

1) Arduino IDE ని తెరిచి ఉదాహరణ కోడ్ “IRrecv Demo” ని అప్‌లోడ్ చేయండి

2) సీరియల్ మానిటర్ తెరిచి, మీరు ఉపయోగించాలనుకుంటున్న రిమోట్‌లోని కీని నొక్కండి.

మీరు కీని నొక్కిన వెంటనే హెక్సాడెసిమల్ కోడ్ పాపప్ అవుతుంది. ఇది నిర్దిష్ట కీ కోసం హెక్సాడెసిమల్ కోడ్.

3) ఇతర రెండు కీల కోసం అదే చేయండి (3 పరికరాలను నియంత్రించడానికి ఈ ప్రాజెక్ట్‌లో 3 కీలు ఇవ్వబడ్డాయి)

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

గమనిక:

కార్యక్రమంలో:

# అవుట్పుట్ 1 0x111 ను నిర్వచించండి // మీ కోడ్‌ను బటన్ A నుండి స్వీకరించండి

# అవుట్పుట్ 2 0x111 ని నిర్వచించండి // మీ కోడ్‌ను బటన్ B నుండి స్వీకరించండి

# అవుట్పుట్ 3 0x111 ను నిర్వచించండి // మీ కోడ్‌ను బటన్ సి నుండి స్వీకరించండి

111 మీ రిమోట్ నుండి మీ 3 ప్రత్యేకమైన కోడ్‌లను 111, 112 మరియు 113 స్థలంలో ఉంచండి మరియు కోడ్‌ను అప్‌లోడ్ చేయండి. హెక్సాడెసిమల్ సంకేతాలు 0 నుండి 9 వరకు మరియు A నుండి F వరకు ఉంటాయి, ఉదాహరణకు: 20156, 26FE789, FFFFFF.

Code మీ కోడ్‌ను “0x” (సున్నా x) తో ఉంచండి.

సర్క్యూట్ రేఖాచిత్రం:

Trip ట్రిప్పులను కీలను నొక్కడం రిలేను ఆన్ చేసి, మళ్లీ నొక్కడం ద్వారా రిలేను ఆపివేస్తుంది.




మునుపటి: హై వాట్ రెసిస్టర్ ఉపయోగించి సహజ దోమ వికర్షకం తర్వాత: డీప్ సాయిల్ మెటల్ డిటెక్టర్ సర్క్యూట్ - గ్రౌండ్ స్కానర్