- आवश्यक घटक:
- कार्य स्पष्टीकरण:
- सर्किट आरेख:
- Arduino का उपयोग करते हुए IR रिमोट कंट्रोल सिग्नल को डिकोड करना:
- आईआर ब्लास्टर के लिए एंड्रॉइड ऐप का निर्माण:
मैंने अपने घर पर विभिन्न रिमोट से छुटकारा पाने के लिए और कुछ एकल बनाने के लिए इस परियोजना को शुरू किया, जिसमें उन सभी की विशेषताएं शामिल हो सकती हैं। मुझे यह विचार तब मिला जब मैंने अपने एक दोस्त के मोबाइल फोन को आईआर ब्लास्टर में बनाया, उस समय मैंने ऐसा ही फोन नहीं खरीदने का फैसला किया, बल्कि अपना एक उपकरण बनाया जो मेरे मौजूदा हैंडसेट के अनुकूल होना चाहिए। इसलिए यहां हम घर पर विभिन्न उपकरणों को नियंत्रित करने के लिए Arduino का उपयोग करके एक Android फोन को IR रिमोट में परिवर्तित करने जा रहे हैं।
आवश्यक घटक:
- अरुडिनो उनो
- आईआर एलईडी
- TSOP-IR रिसीवर (1838T)
- ब्लूटूथ मॉड्यूल (HC05)
- Android डिवाइस (फ़ोन, टेबलेट, आदि)
कार्य स्पष्टीकरण:
आम तौर पर हम घर पर टीवी संचालित करने के लिए दो रीमोट का उपयोग करते हैं, एक टेलीविज़न के लिए और दूसरा सेट-टॉप बॉक्स के लिए यहां इस परियोजना में मैं इन दोनों रीमोट को लक्षित कर रहा हूं और आईआर ब्लास्टर के रूप में काम करने वाला एक एंड्रॉइड फोन बना रहा हूं ताकि टीवी को फोन के साथ नियंत्रित किया जा सके, किसी भी उपाय को छूने के बिना।
Arduino Uno बोर्ड का उपयोग करने से मेरे लिए IR डीकोडिंग और एन्कोडिंग भाग के साथ सौदा करना आसान हो गया। कस्टम मेड ढाल सिर्फ इस परियोजना की सुविधा के हिस्से पर कहते हैं। शील्ड में TSOP IR रिसीवर (1838T), एक IR LED और एक ब्लूटूथ मॉड्यूल (HC-05) होता है, इस चित्र को देखें:
आप या तो कस्टम शील्ड का निर्माण कर सकते हैं या सीधे Arduino के घटकों को कनेक्ट कर सकते हैं जैसा कि नीचे अनुभाग में 'सर्किट आरेख' में दिखाया गया है।
आगे बढ़ने से पहले आइए पहले चर्चा करते हैं कि 'IR कैसे काम करता है'। आईआर के अधिकांश काम 38 केएचजेड आवृत्तियों के आसपास काम करते हैं (यही कारण है कि मैंने 18 38 टी चुना है)। आगे इस विषय में शामिल होने पर कोई पहचान लेगा कि इन आईआर डेटा ट्रांसमिशन विधियों में शून्य और लोगों के लिए कोई निश्चित प्रतिनिधित्व नहीं है। ये कोड विभिन्न एन्कोडिंग तकनीकों का उपयोग करते हैं जो हम अपने इंजीनियरिंग पाठ्यक्रम में पढ़ते हैं (क्योंकि मैं एक इलेक्ट्रॉनिक्स इंजीनियरिंग छात्र हूं)। 38 KHz का महत्व यह है कि यह वह आवृत्ति है जिस पर तार्किक रूप से उच्च होने पर सिग्नल दोलन करता है अर्थात यह सिग्नल की वाहक आवृत्ति है। नीचे दी गई तस्वीर को देखो; यह NEC प्रोटोकॉल का एक उदाहरण है। इससे आपकी अवधारणा अधिक स्पष्ट होगी:
तो यहाँ यह IR विस्फ़ोटक कैसे काम करता है; कस्टम बने एंड्रॉइड फोन के साथ एक एंड्रॉइड फोन ब्लूटूथ पर अरुडिनो सर्किट को सिग्नल भेजता है, आगे अरुडिनो टीएसओपी-आईआर रिसीवर (1838 टी) के माध्यम से सिग्नल प्राप्त करता है और इसका विश्लेषण करता है। फिर Arduino IR LED को उस Android डिवाइस ऐप पर दबाए गए बटन के अनुरूप एक विशेष पैटर्न में ब्लिंक करने की आज्ञा देता है। इस ब्लिंकिंग पैटर्न को टीवी या सेट-टॉप बॉक्स के आईआर रिसीवर द्वारा कैप्चर किया जाता है और यह चैनल को बदलने या वॉल्यूम बढ़ाने जैसे निर्देशों का पालन करता है।
लेकिन इससे पहले हमें मौजूदा रीमेक को डिकोड करना होगा । जैसा कि पहले उल्लेख किया गया है, इस परियोजना में मैंने दो रीमोट का उपयोग किया है, एक जो टीवी के साथ संचार करता है जबकि दूसरा टीवी से जुड़े सेट-टॉप बॉक्स के लिए है।
सर्किट आरेख:
Arduino का उपयोग करते हुए IR रिमोट कंट्रोल सिग्नल को डिकोड करना:
यहाँ Arduino बोर्ड दो चरणों में काम करता है, एक है जब आप इसका उपयोग रिमोट से IR कोड को डिकोड करने के लिए कर रहे हैं और दूसरा तब है जब आप इसे IR ब्लास्टर डिवाइस के रूप में उपयोग कर रहे हैं।
पहले चरण की बात करते हैं। अब IR बटन कोड्स को डीकोड करने के लिए, मैंने केन शिरिफ की IRremote हेडर फाइल का उपयोग किया है। इस हेडर फ़ाइल में आईआर कोड के साथ काम करना आसान बनाने के लिए कई पूर्वनिर्धारित उदाहरण / कोड हैं:
- आपको सबसे पहले यहाँ से IR रिमोट लाइब्रेरी को डाउनलोड और इंस्टॉल करना होगा
- इसे अनज़िप करें, और इसे अपने Arduino 'लाइब्रेरीज़' फोल्डर में रखें। फिर निकाले गए फ़ोल्डर को IRremote में बदलें।
- फिर नीचे दिए गए कोड को Arduino में जलाएं, ऊपर दिखाए गए अनुसार कस्टम शील्ड में प्लग-इन करें और TSOP IR रिसीवर के सामने एक रिमोट को डीकोड किया जाए। इस Arduino के अनुरूप सीरियल मॉनिटर खोलें और रिमोट से किसी भी वांछित बटन को दबाएं। आपको टर्मिनल पर प्रदर्शित कुछ जानकारी दिखाई देगी, इस जानकारी में कोड का प्रकार, उसका मूल्य और उसके साथ शामिल बिट्स की मात्रा शामिल है। यहां बताया गया है कि यह कैसा दिखता है:
#शामिल
एक बार जब आप वांछित डिकोडिंग भाग के साथ किया जाता है, तो सभी डीकोड मान और अन्य जानकारी को उनके संबंधित बटन नाम के साथ दबाएं। यह Arduino के अगले चरण के लिए एक डेटाबेस के रूप में काम करेगा। उपरोक्त कार्यक्रम IRremote लाइब्रेरी के 'उदाहरण' फ़ोल्डर से लिया गया है, आप IR रिमोट का उपयोग करने के बारे में अधिक जानने के लिए और उदाहरण देख सकते हैं। इसलिए हमने IR रिमोट आउटपुट को डिकोड किया है।
अब कोड को अंत में दिए गए कोड को जलाएं, इसी बोर्ड पर। बधाई हो, आप इस परियोजना के पहले छमाही के साथ कर रहे हैं।
आईआर ब्लास्टर के लिए एंड्रॉइड ऐप का निर्माण:
यहाँ दूसरा हाफ आता है, Android App मेकिंग । मैं बस इस तरह के ऐप बनाने के लिए एमआईटी के एपीपी आविष्कारक -2 का उपयोग करना पसंद करता हूं । यदि आप एंड्रॉइड कोडिंग में एक शौकिया हैं, तो यह आपके समय को बचाएगा और अच्छे परिणाम प्रदान करेगा। इस ऐप को बनाने में इस्तेमाल होने वाले मुख्य घटक ज्यादा नहीं हैं, बस कुछ बटन और एक ब्लूटूथ क्लाइंट पैकेज है। एप्लिकेशन को कोड करते समय, स्क्रीन पर दबाए गए प्रत्येक बटन के लिए भेजे जाने वाले संबंधित पाठ प्रदान करें जो कि Arduino को IR एलईडी को उसी तरह से ब्लिंक करने के लिए कहेंगे, जैसे कि यह व्यक्तिगत रिमोट द्वारा किया गया होगा; यह भी सुनिश्चित करें कि आप अपने ब्लूटूथ HC-05 मॉड्यूल का सही पता प्रदान करते हैं। यह आपके Android Smart Phone में अंतिम ऐप कैसे दिखाई देगा:
एप्लिकेशन बनाने के लिए चरण दर चरण प्रक्रिया इस प्रकार है:
चरण 1:
इस लिंक पर लॉग ऑन करें: ai2.appinventor.mit.edu, या Google पर MIT appinventor-2 को आज़माएं और खोजें। AI2 में साइन-इन करने के लिए Google खाते की आवश्यकता होती है, इसलिए यदि आपके पास नहीं है, तो एक बनाएं।
चरण 2:
एक बार जब आप अपने Google खाते से लॉग-इन कर लेते हैं, तो आपको AI2 काम करने वाले वेबपेज पर भेज दिया जाएगा, जो इस तरह दिखता है:
शीर्ष पर "प्रोजेक्ट" टैब पर क्लिक करके एक नई परियोजना शुरू करें और "नई परियोजना प्रारंभ करें" चुनें। जब आपको नामकरण भाग और सभी के साथ किया जाता है, तो एक रिक्त स्क्रीन आपको दिखाई जाएगी जिसमें आप बटन और पाठ को ऊपर दिखाए गए अनुसार रख सकते हैं। यह GUI स्क्रीन है, जिसमें आप तय करते हैं कि ऐप किसी यूज़र को कैसा लगेगा।
बटन पैकेज का उपयोग करने के लिए, "यूजर इंटरफेस" अनुभाग के तहत स्क्रीन के बाईं ओर "बटन" टैब चुनें। बस किसी भी पैकेज को लेफ्ट-साइड मेनू से खींचें और इसे कार्यशील स्क्रीन पर छोड़ दें। इसी तरह किसी भी पाठ से संबंधित सामग्री को प्रदर्शित करने के लिए, "लेबल" पैकेज का उपयोग करें।
चरण 3:
अपने सभी बटन और लेबल की व्यवस्था करने के बाद, अब इस ऐप के लिए एक कोड बनाने का समय है। लेकिन इससे पहले हमें Arduino के साथ संचार करने के लिए एक ब्लूटूथ पैकेज का चयन करना होगा।
आप देखेंगे कि यह पैकेज स्क्रीन पर प्रदर्शित नहीं है, बल्कि यह "गैर-दृश्य घटकों" के अंतर्गत आता है। ये ऐसे घटक हैं जिनका जीयूआई मेकअप में कोई महत्व नहीं है।
चरण 4:
इसके बाद कोडिंग सेक्शन आता है, जिसमें आप उन घटकों के लिए फ़ंक्शन को परिभाषित करेंगे, जिन्हें आपने चुना है और जिनके साथ आप काम करना चाहते हैं।
स्क्रीन के बाईं ओर आप उन सभी पैकेजों को देखेंगे जिन्हें आपने GUI सेक्शन में चुना है। ऊपर दी गई छवि दिखाती है कि किसी विशेष पैकेज में सभी घटक क्या हैं जिनका आप उपयोग कर सकते हैं। यह भी ध्यान दें कि ब्लूटूथ मॉड्यूल का पता एक टेक्स्ट फॉर्मेट में दिया जाना चाहिए।
सेट 5:
जब आपको लगे कि ऐप इस्तेमाल करने के लिए तैयार है और इसमें कोई त्रुटि भी नहीं है, तो ऊपर दिखाए गए अनुसार "बिल्ड" टैब पर क्लिक करें और दूसरा विकल्प चुनें। यह आपके द्वारा बनाए गए ऐप को, कंप्यूटर पर, “.apk” प्रारूप में डाउनलोड करेगा। फिर बस इस.apk फ़ाइल को किसी भी Android डिवाइस पर स्थानांतरित करें और इंस्टॉल करने के लिए इस पर क्लिक करें।
तो यह है कि आप अपने स्मार्ट फोन के साथ किसी भी आईआर रिमोट नियंत्रित डिवाइस को कैसे नियंत्रित कर सकते हैं, आपको बस किसी भी उपकरण के रिमोट को डीकोड करने की आवश्यकता है जिसे आप अपने फोन से नियंत्रित करना चाहते हैं और Arduino कोड में रिमोट बटन के डीकोड कोड को प्रतिस्थापित करें।