- अवयव आवश्यक
- IR संचार कैसे काम करता है?
- सर्किट आरेख
- Arduino IR रिमोट डिकोडर के लिए प्रोग्रामिंग
- आईआर रिमोट डिकोडर डेटा को एक्सेल शीट में सेव करना
IR (इन्फ्रारेड) संचार सरल, कम लागत वाला और व्यापक रूप से उपयोग की जाने वाली वायरलेस संचार तकनीक है। आईआर प्रकाश कुछ हद तक दृश्य प्रकाश के समान है, सिवाय इसके कि तरंग दैर्ध्य थोड़ा लंबा है। आईआर की यह संपत्ति इसे मानवीय आंखों के लिए अवांछनीय बनाती है और वायरलेस संचार के लिए एकदम सही है।
बहुत सारे एप्लिकेशन हैं जहां आपको आईआर रिमोट के साथ कुछ उपकरणों को संचालित करने के लिए आईआर सिग्नल को डीकोड करने की आवश्यकता होती है। तो इस ट्यूटोरियल में, हम Arduino का उपयोग करके IR रिमोट डिकोडर बनाने के लिए TSOP1838 IR रिसीवर का उपयोग करने जा रहे हैं । हर बटन के लिए हेक्स कोड को माइक्रोसॉफ्ट एक्सेल शीट में लॉग इन किया जाएगा। इस सरल IR रिमोट कंट्रोल डिकोडर का उपयोग IR रिमोट कंट्रोल रोबोट, होम ऑटोमेशन, और अन्य IR नियंत्रित परियोजनाओं जैसी परियोजनाओं में किया जा सकता है।
पहले हमने कई उपयोगी एप्लिकेशन बनाने के लिए IR रिमोट और TSOP रिसीवर का उपयोग किया था:
- आईआर रिमोट नियंत्रित TRIAC डिमर सर्किट
- IR रिमोट Arduino का उपयोग करके होम ऑटोमेशन नियंत्रित करता है
- IR रिमोट नियंत्रित होम ऑटोमेशन PIC PICrocontroller का उपयोग कर
- सेल फोन Arduino और ब्लूटूथ का उपयोग कर नियंत्रित एसी
अवयव आवश्यक
- Arduino Uno / Arduino नैनो
- आईआर रिसीवर (TSOP1838)
- जम्पर तार
- ब्रेड बोर्ड
IR संचार कैसे काम करता है?
अन्य संचार प्रणालियों की तरह, इन्फ्रारेड संचार में एक ट्रांसमीटर और रिसीवर भी होता है। ट्रांसमीटर सिर्फ एक एलईडी की तरह दिखता है, लेकिन यह दृश्यमान स्पेक्ट्रम के बजाय आईआर स्पेक्ट्रम में प्रकाश पैदा करता है। जबकि आईआर रिसीवर एक प्री-एम्पलीफायर के साथ एम्बेडेड एक फोटोडायोड है जो आईआर लाइट को विद्युत संकेत में बदलता है। आईआर संचार के लिए ट्रांसमीटर और रिसीवर दोनों को एक दूसरे की ओर इशारा किया जाना चाहिए। आईआर ट्रांसमीटर और रिसीवर सर्किट के बारे में अधिक जानने के लिए, लिंक का अनुसरण करें।
जब रिमोट बटन दबाया जाता है, तो IR LED (ट्रांसमीटर) अवरक्त प्रकाश का उत्सर्जन करता है। यह प्रकाश रिसीवर को प्राप्त होता है जो आमतौर पर एक फोटोडायोड या फोटोट्रांसिस्टर होता है। लेकिन आईआर प्रकाश भी सूरज, प्रकाश बल्ब और कुछ और जो गर्मी पैदा करता है द्वारा उत्सर्जित होता है। यह ट्रांसमीटर सिग्नल को बाधित कर सकता है, इसलिए रोकने के लिए, ट्रांसमीटर सिग्नल को 36 kHz से 46 kHz के बीच वाहक आवृत्ति का उपयोग करके संशोधित किया जाता है। सिग्नल प्राप्त करने पर, आईआर रिसीवर सिग्नल को डीमॉड्यूलेट करता है और इसे माइक्रोकंट्रोलर को भेजने से पहले बाइनरी में कनवर्ट करता है।
यहां हम उन्हें प्राप्त करने के लिए Arduino के साथ IR सिग्नल और TSOP1838 भेजने के लिए एक टीवी रिमोट का उपयोग कर रहे हैं।
इसके अलावा, टीवी रिमोट कंट्रोल जैमर सर्किट और आईआर परीक्षक सर्किट सहित आईआर आधारित विभिन्न अनुप्रयोगों की जांच करें।
सर्किट आरेख
Arduino का उपयोग करके IR रिमोट डिकोडर के लिए सर्किट आरेख नीचे दिया गया है:
कनेक्शन बहुत सरल हैं क्योंकि IR रिसीवर सेंसर में केवल तीन पिन, Vs, GND और डेटा हैं। IR रिसीवर के Vs और GND पिन को Arduino के 3.3V GND पिन और Arduino के डिजिटल पिन 2 के डेटा पिन से कनेक्ट करें।
Arduino IR रिमोट डिकोडर के लिए प्रोग्रामिंग
Arduino IR विकोडक के लिए पूर्ण कोड पृष्ठ के अंत में दिया गया है।
IR रिमोट को डिकोड करने के लिए, सबसे पहले, हमें Arduino IDE में IR लाइब्रेरी को डाउनलोड और जोड़ना होगा। आप आईआर रिमोट लाइब्रेरी को यहां से डाउनलोड कर सकते हैं। फ़ाइल डाउनलोड करने के बाद, अपनी Arduino IDE खोलें और स्केच पर जाएं > लाइब्रेरी> Add.Zip लाइब्रेरी शामिल करें । लाइब्रेरी फ़ाइल चुनें और 'ओपन' पर क्लिक करें।
आईआर रिमोट लाइब्रेरी फ़ाइल को शामिल करके अपना कोड शुरू करें।
#शामिल
उसके बाद Arduino पिन को परिभाषित करें जहां आपने IR रिसीवर के डेटा पिन को कनेक्ट किया था। मेरे मामले में, यह Arduino के D2 पिन से जुड़ा है।
int IRPIN = 2;
उसके बाद IR रिसीवर पिन के लिए एक इंस्टेंस बनाएं।
IRrecv irrecv (IRPIN);
अगली पंक्ति में, decode_results वर्ग के लिए एक ऑब्जेक्ट को परिभाषित करें, इसका उपयोग IR रिसीवर द्वारा डिकोड की गई जानकारी भेजने के लिए किया जाएगा।
decode_results परिणाम;
सेटअप () फ़ंक्शन के अंदर, सीरियल संचार आरंभ करें, और IRrecv फ़ंक्शन enableIRIn () कॉल करके IR रिसीवर शुरू करें ।
शून्य सेटअप () {Serial.begin (9600); Serial.println ("IRIN को सक्षम करना"); irrecv.enableIRIn (); Serial.println ("सक्षम IRin"); प्रारंभिक_स्ट्रीमर (); }
में पाश () समारोह, irrecv.decode लगातार नए संकेत के लिए और अगर एक नया संकेत प्राप्त होता है, संकेत प्राप्त कोड एक में संग्रहीत किया जाएगा चेकों result.value कार्य करते हैं।
शून्य लूप () {if (irrecv.decode (& result)) {Serial.print ("मान:"); Serial.println (result.value, HEX); Write_streamer (); irrecv.resume (); } देरी (500); }
Arduino से एक्सेल शीट पर डेटा भेजने के लिए, हम PLX-DAQ का उपयोग कर रहे हैं। Write_streamer () फ़ंक्शन का उपयोग करके, हम सीरियल मॉनीटर पर मान प्रदर्शित करने की तरह एक विशिष्ट पैटर्न में क्रमिक रूप से डेटा भेज रहे हैं। मुख्य लाइनों को नीचे समझाया गया है:
void Write_streamer () {Serial.print ("DATA"); // हमेशा डेटा सीरियल के रूप में निम्नलिखित इंगित करने के लिए "डेटा" लिखें। (","); // "," Serial.print (result.value, HEX) का उपयोग करके अगले कॉलम पर जाएं; // Excel Serial.print (",") पर स्टोर की तारीख; // "," Serial.println () का उपयोग करके अगले कॉलम पर जाएं; // अगली पंक्ति में पंक्ति की समाप्ति}
एक बार हार्डवेयर और प्रोग्राम तैयार हो जाने के बाद, प्रोग्राम को अपने Arduino नैनो बोर्ड में अपलोड करने का समय है। कोड अपलोड करने के बाद, आईआर रिसीवर की ओर रिमोट को इंगित करें और रिमोट बटन दबाएं। हर बटन के लिए हेक्स कोड सीरियल मॉनिटर पर मुद्रित किया जाएगा।
आईआर रिमोट डिकोडर डेटा को एक्सेल शीट में सेव करना
अब एक्सेल शीट पर डेटा भेजने के लिए, हम PLX-DAQ का उपयोग करने जा रहे हैं। यह एक एक्सेल प्लग-इन सॉफ़्टवेयर है, जो आपको अपने लैपटॉप या पीसी पर सीधे एक एक्सेल शीट में Arduino से मान लिखने में मदद करता है। फ़ाइल डाउनलोड करने के लिए लिंक का उपयोग करें। डाउनलोड करने के बाद, फ़ाइल को निकालें और इसे स्थापित करने के लिए.exe फ़ाइल पर क्लिक करें। यह आपके डेस्कटॉप पर PLX-DAQ नाम का फोल्डर बनाएगा ।
अब डेस्कटॉप फ़ोल्डर से ' PLX-DAQ स्प्रेडशीट' फ़ाइल खोलें । यदि आपके एक्सेल पर मैक्रोज़ अक्षम हैं, तो आपको एक सुरक्षा ब्लॉक दिखाई देगा जैसा कि नीचे दी गई छवि में दिखाया गया है:
विकल्प पर क्लिक करें-> सामग्री सक्षम करें -> समाप्त करें -> मैक्रोज़ को सक्षम करने के लिए ठीक है। इसके बाद, आपको निम्न स्क्रीन मिलेगी:
अब बॉड दर को "9600" के रूप में चुनें और उस पोर्ट को जिसमें आपका अरडूइनो जुड़ा हुआ है और फिर डेटा स्ट्रीमिंग शुरू करने के लिए कनेक्ट पर क्लिक करें। आपके मूल्यों को नीचे दी गई तस्वीर में दिखाए गए अनुसार लॉग इन करना शुरू करना चाहिए।
यह है कि IR रिमोट सिग्नल को बराबर HEX कोड में बदलने के लिए एक Arduino IR रिमोट डिकोडर को आसानी से बनाया जा सकता है।
एक डेमो वीडियो के साथ पूरा Arduino कोड नीचे दिया गया है।