- భాగాలు అవసరం
- ఐఆర్ కమ్యూనికేషన్ ఎలా పనిచేస్తుంది?
- సర్క్యూట్ రేఖాచిత్రం
- Arduino IR రిమోట్ డీకోడర్ కోసం ప్రోగ్రామింగ్
- ఐఆర్ రిమోట్ డీకోడర్ డేటాను ఎక్సెల్ షీట్లో సేవ్ చేస్తోంది
IR (ఇన్ఫ్రారెడ్) కమ్యూనికేషన్ సరళమైనది, తక్కువ ఖర్చుతో మరియు విస్తృతంగా ఉపయోగించే వైర్లెస్ కమ్యూనికేషన్ టెక్నాలజీ. IR కాంతి కనిపించే కాంతికి కొంతవరకు సమానంగా ఉంటుంది, తరంగదైర్ఘ్యం కొంచెం పొడవుగా ఉంటుంది తప్ప. IR యొక్క ఈ ఆస్తి మానవ కంటికి గుర్తించలేనిదిగా చేస్తుంది మరియు వైర్లెస్ కమ్యూనికేషన్ కోసం ఖచ్చితంగా సరిపోతుంది.
IR రిమోట్తో కొన్ని పరికరాలను ఆపరేట్ చేయడానికి మీరు IR సిగ్నల్లను డీకోడ్ చేయాల్సిన అనువర్తనాలు చాలా ఉన్నాయి. కాబట్టి ఈ ట్యుటోరియల్లో, మేము ఆర్డునో ఉపయోగించి ఐఆర్ రిమోట్ డీకోడర్ను నిర్మించడానికి టిఎస్ఓపి 1838 ఐఆర్ రిసీవర్ను ఉపయోగించబోతున్నాం. ప్రతి బటన్ కోసం హెక్స్ కోడ్ మైక్రోసాఫ్ట్ ఎక్సెల్ షీట్కు లాగిన్ అవుతుంది. ఈ సాధారణ ఐఆర్ రిమోట్ కంట్రోల్ డీకోడర్ను ఐఆర్ రిమోట్ కంట్రోల్ రోబోట్, హోమ్ ఆటోమేషన్ మరియు ఇతర ఐఆర్ నియంత్రిత ప్రాజెక్టులలో ఉపయోగించవచ్చు.
ఇంతకుముందు మేము చాలా ఉపయోగకరమైన అనువర్తనాలను రూపొందించడానికి IR రిమోట్ మరియు TSOP రిసీవర్లను ఉపయోగించాము:
- IR రిమోట్ కంట్రోల్డ్ TRIAC డిమ్మర్ సర్క్యూట్
- ఆర్డునో ఉపయోగించి ఐఆర్ రిమోట్ కంట్రోల్డ్ హోమ్ ఆటోమేషన్
- పిఐసి మైక్రోకంట్రోలర్ ఉపయోగించి ఐఆర్ రిమోట్ కంట్రోల్డ్ హోమ్ ఆటోమేషన్
- ఆర్డునో మరియు బ్లూటూత్ ఉపయోగించి సెల్ ఫోన్ కంట్రోల్డ్ ఎసి
భాగాలు అవసరం
- ఆర్డునో యునో / ఆర్డునో నానో
- IR రిసీవర్ (TSOP1838)
- జంపర్ వైర్లు
- బ్రెడ్బోర్డ్
ఐఆర్ కమ్యూనికేషన్ ఎలా పనిచేస్తుంది?
ఇతర సమాచార వ్యవస్థల మాదిరిగానే, ఇన్ఫ్రారెడ్ కమ్యూనికేషన్ కూడా ట్రాన్స్మిటర్ మరియు రిసీవర్ కలిగి ఉంది. ట్రాన్స్మిటర్ ఒక LED లాగా కనిపిస్తుంది, కానీ ఇది కనిపించే స్పెక్ట్రంకు బదులుగా IR స్పెక్ట్రంలో కాంతిని ఉత్పత్తి చేస్తుంది. IR రిసీవర్ అనేది ప్రీ-యాంప్లిఫైయర్తో పొందుపరచబడిన ఫోటోడియోడ్, ఇది IR కాంతిని విద్యుత్ సిగ్నల్గా మారుస్తుంది. IR కమ్యూనికేషన్ కోసం ట్రాన్స్మిటర్ మరియు రిసీవర్ రెండూ ఒకదానికొకటి సూచించబడాలి. IR ట్రాన్స్మిటర్ మరియు రిసీవర్ సర్క్యూట్ గురించి మరింత తెలుసుకోవడానికి, లింక్ను అనుసరించండి.
రిమోట్ బటన్ నొక్కినప్పుడు, IR LED (ట్రాన్స్మిటర్) పరారుణ కాంతిని విడుదల చేస్తుంది. ఈ కాంతిని రిసీవర్ అందుకుంటుంది, ఇది సాధారణంగా ఫోటోడియోడ్ లేదా ఫోటోట్రాన్సిస్టర్. కానీ IR కాంతి సూర్యుడు, లైట్ బల్బులు మరియు వేడిని ఉత్పత్తి చేసే ఏదైనా విడుదల చేస్తుంది. ఇది ట్రాన్స్మిటర్ సిగ్నల్కు ఆటంకం కలిగిస్తుంది, కాబట్టి నిరోధించడానికి, ట్రాన్స్మిటర్ సిగ్నల్ 36 kHz నుండి 46 kHz మధ్య క్యారియర్ ఫ్రీక్వెన్సీని ఉపయోగించి మాడ్యులేట్ చేయబడుతుంది. సిగ్నల్ అందుకున్న తరువాత, ఐఆర్ రిసీవర్ సిగ్నల్ను డీమోడ్యులేట్ చేస్తుంది మరియు మైక్రోకంట్రోలర్కు పంపే ముందు దాన్ని బైనరీగా మారుస్తుంది.
ఇక్కడ మేము ఐఆర్ సిగ్నల్ మరియు టిఎస్ఓపి 1838 ను ఆర్డునోతో స్వీకరించడానికి టివి రిమోట్ ఉపయోగిస్తున్నాము.
అలాగే, టీవీ రిమోట్ కంట్రోల్ జామర్ సర్క్యూట్ మరియు ఐఆర్ టెస్టర్ సర్క్యూట్తో సహా వివిధ ఐఆర్ ఆధారిత అనువర్తనాలను ఇక్కడ తనిఖీ చేయండి.
సర్క్యూట్ రేఖాచిత్రం
ఆర్డునో ఉపయోగించి ఐఆర్ రిమోట్ డీకోడర్ కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది:
ఐఆర్ రిసీవర్ సెన్సార్లో మూడు పిన్లు, Vs, GND మరియు డేటా మాత్రమే ఉన్నందున కనెక్షన్లు చాలా సులభం. IR రిసీవర్ యొక్క Vs మరియు GND పిన్ను Arduino యొక్క 3.3V GND పిన్కు మరియు డేటా పిన్ను Arduino యొక్క డిజిటల్ పిన్ 2 కు కనెక్ట్ చేయండి.
Arduino IR రిమోట్ డీకోడర్ కోసం ప్రోగ్రామింగ్
Arduino IR డీకోడర్ యొక్క పూర్తి కోడ్ పేజీ చివరిలో ఇవ్వబడింది.
IR రిమోట్ను డీకోడ్ చేయడానికి, మొదట, మేము ఆర్డునో IDE కి IR లైబ్రరీని డౌన్లోడ్ చేసి జోడించాలి. మీరు ఇక్కడ నుండి ఐఆర్ రిమోట్ లైబ్రరీని డౌన్లోడ్ చేసుకోవచ్చు. ఫైల్ను డౌన్లోడ్ చేసిన తర్వాత, మీ Arduino IDE ని తెరిచి, స్కెచ్> లైబ్రరీని చేర్చండి> Add.Zip లైబ్రరీకి వెళ్లండి . లైబ్రరీ ఫైల్ను ఎంచుకుని, 'ఓపెన్' పై క్లిక్ చేయండి.
IR రిమోట్ లైబ్రరీ ఫైల్ను చేర్చడం ద్వారా మీ కోడ్ను ప్రారంభించండి.
# చేర్చండి
ఆ తరువాత మీరు ఐఆర్ రిసీవర్ యొక్క డేటా పిన్ను కనెక్ట్ చేసిన ఆర్డునో పిన్ను నిర్వచించండి. నా విషయంలో, ఇది ఆర్డునో యొక్క D2 పిన్తో అనుసంధానించబడి ఉంది.
int IRPIN = 2;
ఆ తరువాత IR రిసీవర్ పిన్ కోసం ఒక ఉదాహరణను సృష్టించండి.
IRrecv irrecv (IRPIN);
తదుపరి పంక్తిలో, డీకోడ్_ ఫలితాల తరగతి కోసం ఒక వస్తువును నిర్వచించండి, డీకోడ్ చేసిన సమాచారాన్ని పంపడానికి ఇది IR రిసీవర్ ద్వారా ఉపయోగించబడుతుంది.
డీకోడ్_ ఫలితాల ఫలితం;
సెటప్ () ఫంక్షన్ లోపల, సీరియల్ కమ్యూనికేషన్ను ప్రారంభించండి మరియు IRrecv ఫంక్షన్ enableIRIn () కు కాల్ చేయడం ద్వారా IR రిసీవర్ను ప్రారంభించండి .
శూన్య సెటప్ () {Serial.begin (9600); సీరియల్.ప్రింట్ల్న్ ("ఐరిన్ ఎనేబుల్"); irrecv.enableIRIn (); సీరియల్.ప్రింట్ల్న్ ("ఎనేబుల్డ్ ఐరిన్"); ప్రారంభించు_స్ట్రీమర్ (); }
లో లూప్ () ఫంక్షన్, irrecv.decode నిరంతరం కొత్త సంకేతాలకు మరియు ఒక కొత్త సిగ్నల్ అందుకుంది ఉంటే, అందుకున్న సిగ్నల్ కోడ్ లో నిల్వ చేయబడుతుంది తనిఖీలు result.value ఫంక్షన్.
void loop () {if (irrecv.decode (& result)) {Serial.print ("విలువ:"); సీరియల్.ప్రింట్ల్న్ (result.value, HEX); రైట్_స్ట్రీమర్ (); irrecv.resume (); } ఆలస్యం (500); }
Arduino నుండి ఎక్సెల్ షీట్కు డేటాను పంపడం కోసం, మేము PLX-DAQ ని ఉపయోగిస్తున్నాము. రైట్_స్ట్రీమర్ () ఫంక్షన్ను ఉపయోగించి, సీరియల్ మానిటర్లో విలువను ప్రదర్శించినట్లే మేము డేటాను ఒక నిర్దిష్ట నమూనాలో సీరియల్గా పంపుతున్నాము. ముఖ్య పంక్తులు క్రింద వివరించబడ్డాయి:
రైట్_స్ట్రీమర్ () {సీరియల్.ప్రింట్ ("డాటా") ను రద్దు చేయండి; // కిందివాటిని డేటా సీరియల్.ప్రింట్ (",") గా సూచించడానికి ఎల్లప్పుడూ "డాటా" అని రాయండి; // "," సీరియల్.ప్రింట్ (result.value, HEX) ఉపయోగించి తదుపరి కాలమ్కు తరలించండి; // ఎక్సెల్ సీరియల్.ప్రింట్ (",") లో స్టోర్ తేదీ; // "," Serial.println () ఉపయోగించి తదుపరి కాలమ్కు తరలించండి; // వరుస ముగింపు తదుపరి వరుసకు తరలించండి}
హార్డ్వేర్ మరియు ప్రోగ్రామ్ సిద్ధమైన తర్వాత, ప్రోగ్రామ్ను మీ ఆర్డునో నానో బోర్డ్లోకి అప్లోడ్ చేసే సమయం వచ్చింది. కోడ్ను అప్లోడ్ చేసిన తర్వాత, రిమోట్ను ఐఆర్ రిసీవర్ వైపు చూపించి రిమోట్ బటన్లను నొక్కండి. ప్రతి బటన్ కోసం హెక్స్ కోడ్ సీరియల్ మానిటర్లో ముద్రించబడుతుంది.
ఐఆర్ రిమోట్ డీకోడర్ డేటాను ఎక్సెల్ షీట్లో సేవ్ చేస్తోంది
ఇప్పుడు ఎక్సెల్ షీట్కు డేటాను పంపడానికి, మేము PLX-DAQ ని ఉపయోగించబోతున్నాము. ఇది ఎక్సెల్ ప్లగ్-ఇన్ సాఫ్ట్వేర్, ఇది మీ ల్యాప్టాప్ లేదా పిసిలోని ఎక్సెల్ షీట్లోకి నేరుగా ఆర్డునో నుండి విలువలను వ్రాయడానికి మీకు సహాయపడుతుంది. ఫైల్ను డౌన్లోడ్ చేయడానికి లింక్ను ఉపయోగించండి. డౌన్లోడ్ చేసిన తర్వాత, ఫైల్ను సంగ్రహించి, దాన్ని ఇన్స్టాల్ చేయడానికి.exe ఫైల్పై క్లిక్ చేయండి. ఇది మీ డెస్క్టాప్లో PLX-DAQ అనే ఫోల్డర్ను సృష్టిస్తుంది.
ఇప్పుడు డెస్క్టాప్ ఫోల్డర్ నుండి ' PLX-DAQ స్ప్రెడ్షీట్' ఫైల్ను తెరవండి. మీ ఎక్సెల్ లో మాక్రోలు నిలిపివేయబడితే, ఈ క్రింది చిత్రంలో చూపిన విధంగా మీరు భద్రతా బ్లాక్ను చూస్తారు:
క్లిక్ > ఐచ్ఛికాలు కంటెంట్ ప్రారంభించు -> ముగించు -> సరి మ్యాక్రోల్లో ప్రారంభించు. దీని తరువాత, మీరు ఈ క్రింది స్క్రీన్ను పొందుతారు:
ఇప్పుడు బాడ్ రేట్ను “9600” గా ఎంచుకోండి మరియు మీ ఆర్డునో కనెక్ట్ చేయబడిన పోర్ట్ను ఎంచుకుని, ఆపై డేటా స్ట్రీమింగ్ను ప్రారంభించడానికి కనెక్ట్పై క్లిక్ చేయండి. మీ విలువలు దిగువ చిత్రంలో చూపిన విధంగా లాగిన్ అవ్వడం ప్రారంభించాలి.
ఈ ఎలా ఉంది Arduino IR రిమోట్ డికోడర్ సమానమైన హెక్స్ కోడ్ లోకి IR రిమోట్ సంకేతాలు మార్చడానికి సులభంగా తయారు చేయవచ్చు.
డెమో వీడియోతో పూర్తి ఆర్డునో కోడ్ క్రింద ఇవ్వబడింది.