- आवश्यक घटक:
- आरएफ मॉड्यूल:
- कार्य स्पष्टीकरण:
- सर्किट स्पष्टीकरण:
- रास्पबेरी पाई में वायरिंगपाइ लाइब्रेरी स्थापित करना:
- प्रोग्रामिंग स्पष्टीकरण:
इस सत्र में हम रास्पबेरी पाई का उपयोग करके एक आरएफ रिमोट कंट्रोल विकसित करने जा रहे हैं, जिसका उपयोग उपकरणों को वायरलेस तरीके से नियंत्रित करने के लिए किया जा सकता है। हम इस आरएफ रिमोट कंट्रोल का उपयोग करके उपकरणों को चालू और बंद कर सकते हैं। हमने पहले आरएफ मॉड्यूल का उपयोग करके कई परियोजनाओं को विकसित किया है जैसे आरएफ नियंत्रित रोबोट, हैंड जेस्चर कंट्रोल रोबोट आदि, आरएफ मॉड्यूल के काम को समझने के लिए उन्हें जांचें।
आवश्यक घटक:
ट्रांसमीटर साइड:
- आरएफ ट्रांसमीटर (ASK हाइब्रिड ट्रांसमीटर)
- HT12E IC
- 4 पुश बटन
- 750k रोकनेवाला
- 9 वोल्ट की बैटरी
रिसीवर पक्ष:
- रास्पबेरी पाई
- 16x2 एलसीडी
- 10K पॉट
- ब्रेड बोर्ड
- 1 के रेसिस्टर (पांच)
- 33K रोकनेवाला
- HT12D आईसी
- आरएफ रिसीवर (ASK हाइब्रिड रिसीवर)
- एल ई डी (पांच)
- 10K रोकनेवाला (चार)
- तार जोड़ना
- बिजली की आपूर्ति
आरएफ मॉड्यूल:
यह एक ASK हाइब्रिड ट्रांसमीटर और रिसीवर मॉड्यूल है जो 433Mhz आवृत्ति पर काम करता है। इस मॉड्यूल में उत्तम श्रेणी के लिए सटीक आवृत्ति नियंत्रण बनाए रखने के लिए एक क्रिस्टल स्थिर ऑसिलेटर है। वहां हमें इस मॉड्यूल के लिए केवल एक एंटीना की आवश्यकता होती है।
यह मॉड्यूल बहुत ही कुशल है जहां लंबी दूरी के आरएफ संचार की आवश्यकता होती है। यह मॉड्यूल सीधे पीसी या माइक्रोकंट्रोलर के यूएआर संचार का उपयोग करके डेटा नहीं भेजता है क्योंकि इस आवृत्ति और इसके एनालॉग प्रौद्योगिकी पर बहुत शोर है। हम इस मॉड्यूल का उपयोग एनकोडर और डिकोडर IC की मदद से कर सकते हैं जो शोर से डेटा निकालते हैं।
ट्रांसमीटर की सीमा अधिकतम आपूर्ति वोल्टेज पर लगभग 100 मीटर है और 5 वोल्ट के लिए ट्रांसमीटर की सीमा एकल कोड 17 सेमी लंबाई के एंटीना के एक साधारण तार का उपयोग करने के साथ लगभग 50-60 मीटर है।
आरएफ ट्रांसमीटर सुविधाएँ:
- फ्रीक्वेंसी रेंज: 433 मेगाहर्ट्ज
- आउटपुट पावर: 4-16dBm
- इनपुट आपूर्ति: 3 से 12 वोल्ट डीसी
आरएफ टीएक्स का पिन विवरण:
- जीएनडी - ग्राउंड सप्लाई
- डेटा इन - यह पिन एनकोडर से सीरियल डेटा को स्वीकार करता है
- Vcc - +5 वोल्ट इस पिन से जुड़ा होना चाहिए
- एंटीना - डेटा के उचित संचरण के लिए इस पिन से एक लिपटे कनेक्ट
आरएफ रिसीवर विशेषताएं:
- संवेदनशीलता: -105 डीबीएम
- यदि आवृत्ति: 1MHz
- कम बिजली की खपत
- वर्तमान 3.5 एमए
- आपूर्ति वोल्टेज: 5 वोल्ट
आरएफ आरएक्स का पिन विवरण:
- GND - ग्राउंड
- डेटा इन - यह पिन डेकोडर को आउटपुट सीरियल डेटा देता है
- डेटा इन - यह पिन डेकोडर को आउटपुट सीरियल डेटा देता है
- Vcc - +5 वोल्ट इस पिन से जुड़ा होना चाहिए
- Vcc - +5 वोल्ट इस पिन से जुड़ा होना चाहिए
- GND - ग्राउंड
- GND - ग्राउंड
- एंटीना - डेटा के उचित रिसेप्शन के लिए इस पिन से एक लिपटे कनेक्ट
कार्य स्पष्टीकरण:
इस परियोजना का काम करना बहुत आसान है। इस परियोजना में हमने ट्रांसमीटर के चार बटनों का उपयोग किया है (रिमोट के रूप में कार्य करता है) रिसीवर के अंत में चार एल ई डी को नियंत्रित करने के लिए। जब हम चार में से कोई भी बटन दबाते हैं तो एनकोडर आईसी सिग्नल को एनकोड करता है और इसे RF ट्रांसमीटर को भेजता है और RF ट्रांसमीटर पर्यावरण में इसे प्रसारित करता है। अब आरएफ रिसीवर प्रेषित संकेत प्राप्त करता है और इसे डिकोडर आईसी HT12D का उपयोग करके डिकोड करता है और अपने 4-बिट आउटपुट को रास्पबेरी पाई को भेजता है। फिर रास्पबेरी पाई इन बिट्स को पढ़ती है और संबंधित कार्य करती है और संबंधित एलईडी को चमक देती है। जब भी कोई कुंजी दबाया जाता है तो एक बजर एक दूसरे के लिए beeps होता है। 16x2 एलसीडी का उपयोग सभी एल ई डी की 'चालू या बंद' स्थिति को प्रदर्शित करने के लिए भी किया जाता है।
इस परियोजना में, हमने केवल प्रदर्शन उद्देश्य के लिए चार एलईडी का उपयोग किया है, हम किसी भी कार्य को 'RF रिमोट' पर संबंधित बटन दबाकर ट्रिगर कर सकते हैं। जैसे हम एलईडी के स्थान पर AC होम अप्लायंसेज को भी कनेक्ट कर सकते हैं, रिले का उपयोग कर सकते हैं और उसी तरह के 'RF रिमोट' का उपयोग करके उन उपकरणों को वायरलेस तरीके से नियंत्रित कर सकते हैं। तो यह वही सर्किट रास्पबेरी पाई का उपयोग करके आरएफ आधारित होम ऑटोमेशन प्रोजेक्ट के रूप में काम कर सकता है । हमने पहले ब्लूटूथ, DTMF, GSM आदि का उपयोग करके नियंत्रित कई होम ऑटोमेशन प्रोजेक्ट्स विकसित किए हैं, आप यहां होम ऑटोमेशन प्रोजेक्ट्स की जांच कर सकते हैं।
सर्किट स्पष्टीकरण:
इस रास्पबेरी पाई आरएफ रिमोट कंट्रोल का सर्किट सरल है जिसमें रास्पबेरी पाई बोर्ड, पुश बटन और एलसीडी, आरएफ जोड़ी और एनकोडर / डिकोडर आईसी शामिल हैं। रास्पबेरी पाई एलसीडी को नियंत्रित करता है, इनपुट पढ़ता है और इनपुट के अनुसार आउटपुट भेजता है। हमने यहां रास्पबेरी पाई 3 का उपयोग किया है, लेकिन किसी भी रास्पबेरी मॉडल को काम करना चाहिए। सर्किट को दो भागों में बांटा गया है, एक है RF रिसीवर सर्किट और दूसरा है RF ट्रांसमीटर सर्किट। दोनों सर्किट नीचे आरेख में दिखाए गए हैं।
रिसीवर भाग में, एलसीडी पिन आरएस, एन, डी 4, डी 5, डी 6, डी 7 तारों-जीपीआईओ पिन 11, 10, 6, 5, 4, 1 से 4-बिट मोड में जुड़े हुए हैं। RF रिसीवर को RF ट्रांसमीटर से संकेत मिलता है और HT12D IC इसे डिकोड करता है। D8, D9, D10, HT12D डिकोडर IC के D11 सीधे वायरिंगपीआई GPIO पिन 25, 24, 23 और 22 से जुड़े हुए हैं। आउटपुट एलईडी wiringPi GPIO पिन 26, 27, 28 और 29 से जुड़े हुए हैं। एक बजर भी अलर्ट पर इस्तेमाल किया जाता है। कुंजी वायरिंग में दबाया गया GPIO 0।
RF ट्रांसमीटर सर्किट में 4 LEDs को नियंत्रित करने के लिए HT12E एनकोडर IC और 4 पुश बटन होते हैं। एनकोडर और डिकोडर आईसी में सभी पता लाइनें जमीन से जुड़ी होती हैं।
रास्पबेरी पाई में वायरिंगपाइ लाइब्रेरी स्थापित करना:
जैसे पायथन में हम रास्पबेरी पाई के GPIO पिन का उपयोग करने के लिए IO हेडर फ़ाइल के रूप में RPI.GPIO आयात करते हैं, यहाँ C भाषा में हमें अपने C प्रोग्राम में GPIO पिन का उपयोग करने के लिए wiringPi लाइब्रेरी का उपयोग करने की आवश्यकता है । हम इसे एक-एक करके नीचे कमांड का उपयोग करके स्थापित कर सकते हैं, आप इस कमांड को टर्मिनल से या कुछ एसएसएच क्लाइंट जैसे पुट्टी (यदि आप विंडोज का उपयोग कर रहे हैं) से चला सकते हैं। रास्पबेरी पाई को संभालने और कॉन्फ़िगर करने के बारे में अधिक जानने के लिए हमारे रास्पबेरी पाई ट्यूटोरियल के साथ शुरुआत करें।
sudo apt-get install git-core sudo apt-get update sudo apt-get upgrade git क्लोन क्लोन git: //git.drogon.net/wiringPi cd wiringPi git पुल ओरिजिन सीडी सीडी wPPi//build
वायरिंगपाइ लाइब्रेरी की स्थापना का परीक्षण करें, नीचे दिए गए कमांड का उपयोग करें:
gpio -v gpio readall
प्रोग्रामिंग स्पष्टीकरण:
सबसे पहले हम हेडर फ़ाइलों को शामिल करते हैं और एलसीडी के लिए पिंस को परिभाषित करते हैं, फिर इनपुट और एलईडी संकेत लेने के लिए कुछ चर और पिन को इनिशियलाइज़ करते हैं।
#शामिल
इसके बाद हम शून्य सेटअप () फ़ंक्शन में सभी उपयोग किए गए GPIO पिन को दिशा देते हैं ।
शून्य सेटअप () {if (wiringPiSetup () == -1) {स्पष्ट (); प्रिंट ("शुरू करने में असमर्थ"); setCursor (0,1); प्रिंट ("वायरिंगपीआई"); } पिनमोड (led1, OUTPUT); पिनमोड (led2, OUTPUT); पिनमोड (led3, OUTPUT); पिनमोड (led4, OUTPUT);……………….
कोड में हमने डिजिटलराइड फ़ंक्शन का उपयोग डेकोडर और डिजिटलवाइट के आउटपुट को पढ़ने के लिए किया है ताकि आउटपुट को एलईडी या डिवाइस पर भेजा जा सके।
…………….. जबकि (1) {setCursor (0,0); प्रिंट ("डी 1 डी 2 डी 3 डी 4"); if (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); अगर (ध्वज 1% 2 == 1) {प्रिंट ("चालू"); digitalWrite (led1, HIGH); }……………..
यहाँ कुछ और कार्य दिए गए हैं जिनका उपयोग इस परियोजना में किया गया है।
फंक्शन void lcdcmd का उपयोग LCD पर कमांड भेजने के लिए किया जाता है और void write फ़ंक्शन का उपयोग LCD में डेटा भेजने के लिए किया जाता है।
फंक्शन void clear () का उपयोग LCD क्लियर करने के लिए किया जाता है, void setCursor का उपयोग कर्सर को सेट करने के लिए किया जाता है और LCD में स्ट्रिंग भेजने के लिए void प्रिंट का उपयोग किया जाता है ।
फंक्शन void स्टार्ट का इस्तेमाल 4-बिट मोड में LCD को इनिशियलाइज़ करने के लिए किया जाता है और बज़र को बीप करने के लिए void buzzer () में ।
नीचे इस रास्पबेरी आरएफ रिमोट कंट्रोल के लिए पूर्ण कोड की जाँच करें।