इलेक्ट्रॉनिक्स समुदाय में रास्पबेरी पाई और अरुडिनो दो सबसे लोकप्रिय ओपन सोर्स बोर्ड हैं। वे अपनी सहजता और सरलता के कारण न केवल इलेक्ट्रॉनिक्स इंजीनियर्स के बीच, बल्कि स्कूल के छात्रों और शौकियों के बीच भी लोकप्रिय हैं । यहां तक कि कुछ लोग रास्पबेरी पाई और अरुडिनो के कारण सिर्फ इलेक्ट्रॉनिक्स को पसंद करने लगे। इन बोर्डों में महान शक्तियां हैं, और कुछ सरल चरणों और थोड़ी प्रोग्रामिंग में बहुत जटिल और हाई-फाई परियोजना का निर्माण कर सकते हैं।
हमने बहुत सरल लोगों से लेकर जटिल लोगों तक, Arduino Projects और Tutorials की संख्या बनाई है। हमने रास्पबेरी पाई ट्यूटोरियल की श्रृंखला भी बनाई है, जहां से कोई भी 'खरोंच' से सीखना शुरू कर सकता है। यह हमारी तरफ से इलेक्ट्रॉनिक्स समुदाय के लिए एक छोटा सा योगदान है और इस पोर्टल ने खुद को इलेक्ट्रॉनिक्स के लिए ग्रेट लर्निंग रिसोर्स के रूप में साबित किया है। इसलिए आज हम इन दोनों बेहतरीन बोर्ड्स को एक साथ लाकर अर्पडिनो को रास्पबेरी पाई से जोड़ रहे हैं ।
इस ट्यूटोरियल में, हम रास्पबेरी पाई और अरुडिनो उनो के बीच एक सीरियल कम्युनिकेशन स्थापित करेंगे । PI में केवल 26 GPIO पिन और शून्य ADC चैनल हैं, इसलिए जब हम 3D प्रिंटर जैसे प्रोजेक्ट करते हैं, तो PI अकेले सभी इंटरैक्शन नहीं कर सकता है। इसलिए हमें अधिक आउटपुट पिन और अतिरिक्त कार्यों की आवश्यकता है, PI में अधिक फ़ंक्शन जोड़ने के लिए, हम PI और UNO के बीच संचार स्थापित करते हैं। इसके साथ ही हम UNO के सभी फ़ंक्शन का उपयोग कर सकते हैं क्योंकि वे PI फ़ंक्शन थे।
Arduino परियोजना विकास का एक बड़ा मंच है, जिसमें कई बोर्ड हैं जैसे Arduino Uno, Arduino Pro mini, Arduino Due आदि। वे ATMEGA नियंत्रक आधारित बोर्ड हैं जो इलेक्ट्रॉनिक इंजीनियरों और हॉबीस्ट के लिए डिज़ाइन किए गए हैं। हालांकि Arduino प्लेटफॉर्म पर कई बोर्ड हैं, लेकिन प्रोजेक्ट्स को आसानी से करने के लिए Arduino Uno को कई सराहना मिलीं। Arduino आधारित प्रोग्राम डेवलपमेंट एनवायरनमेंट दूसरों की तुलना में प्रोग्राम लिखने का एक आसान तरीका है।
आवश्यक घटक:
यहाँ हम रास्पबेरी जेसी OS और Arduino Uno के साथ Raspberry Pi 2 मॉडल B का उपयोग कर रहे हैं । रास्पबेरी पाई के बारे में सभी बुनियादी हार्डवेयर और सॉफ्टवेयर आवश्यकताओं, पहले से चर्चा की गई है, आप इसे रास्पबेरी पाई परिचय में देख सकते हैं, इसके अलावा, हमें इसकी आवश्यकता है:
- कनेक्टिंग पिन
- 220 या 1 वर्गमीटर (2 टुकड़े)
- एलईडी
- बटन
सर्किट स्पष्टीकरण:
जैसा कि ऊपर दिए गए सर्किट आरेख में दिखाया गया है, हम UNO को USB केबल का उपयोग करके PI USB पोर्ट से जोड़ेंगे । पीआई के लिए चार यूएसबी पोर्ट हैं; आप इसे उनमें से किसी एक से जोड़ सकते हैं। एक बटन सीरियल संचार और एलईडी (ब्लिंक) को इनिशियलाइज़ करने के लिए जुड़ा हुआ है ताकि यह संकेत मिल सके कि डेटा भेजा जा रहा है।
कार्य और प्रोग्रामिंग स्पष्टीकरण:
Arduino Uno भाग:
पहले चलो यूएनओ कार्यक्रम, पहले यूएनओ को पीसी से कनेक्ट करें और फिर Arduino IDE सॉफ्टवेयर में प्रोग्राम (नीचे कोड कोड चेक करें) लिखें और प्रोग्राम को UNO पर अपलोड करें। फिर पीसी से यूएनओ को डिस्कनेक्ट करें। प्रोग्रामिंग के बाद UN को PI में संलग्न करें और UNO में एक LED और बटन कनेक्ट करें, जैसा कि सर्किट आरेख में दिखाया गया है।
अब यहाँ कार्यक्रम UNO के सीरियल कम्युनिकेशन को इनिशियलाइज़ करता है। जब हम UNO से जुड़े बटन को दबाते हैं, तो UNO USB पोर्ट के माध्यम से कुछ अक्षरों को PI में क्रमिक रूप से भेजता है। पात्रों को भेजे जाने का संकेत देने के लिए पीआई से जुड़ी एलईडी झपकी लेती है।
रास्पबेरी पाई भाग:
उसके बाद हमें संयुक्त राष्ट्र संघ द्वारा भेजे जा रहे इस डेटा को प्राप्त करने के लिए PI (नीचे चेक कोड सेक्शन) के लिए एक प्रोग्राम लिखना होगा। उसके लिए हमें नीचे बताई गई कुछ कमांड को समझने की जरूरत है।
हम लाइब्रेरी से सीरियल फ़ाइल आयात करने जा रहे हैं, यह फ़ंक्शन हमें धारावाहिक या यूएसबी पोर्ट द्वारा डेटा भेजने या प्राप्त करने में सक्षम बनाता है।
आयात धारावाहिक
अब, हमें किसी भी त्रुटि के बिना UNO से डेटा प्राप्त करने के लिए डिवाइस पोर्ट और PI के लिए बिट दर बताने की आवश्यकता है। नीचे दिए गए आदेश में कहा गया है कि, हम ACM0 पोर्ट पर प्रति सेकंड 9600 बिट्स के धारावाहिक संचार को सक्षम कर रहे हैं।
सीर = धारावाहिक। सीरियल ('देव / ttyACM0', 9600)
उस पोर्ट का पता लगाने के लिए जिसे UNO से जोड़ा जा रहा है, PI के टर्मिनल पर जाएं और एंटर करें
ls / देव / tty *
आपके पास पीआई पर सभी संलग्न उपकरणों की सूची होगी। अब Arduino Uno को Raspberry Pi से USB केबल से कनेक्ट करें और कमांड को फिर से एंटर करें। आप आसानी से प्रदर्शित सूची से संयुक्त राष्ट्र संघ संलग्न बंदरगाह की पहचान कर सकते हैं।
नीचे कमांड का उपयोग हमेशा के लिए लूप के रूप में किया जाता है, इस कमांड के साथ इस लूप के अंदर के स्टेटमेंट को लगातार निष्पादित किया जाएगा।
जबकि 1:
क्रमिक रूप से डेटा प्राप्त करने के बाद हम PI के स्क्रीन पर पात्रों को प्रदर्शित करेंगे।
प्रिंट (ser.readline) ()
तो बटन के बाद, संयुक्त राष्ट्र संघ से जुड़ा हुआ है, हम पीआई स्क्रीन पर छपे हुए अक्षर देखेंगे। इसलिए हमने रास्पबेरी पाई और अरुडिनो के बीच एक बेसिक कम्युनिकेशन हैंडशेक स्थापित किया है ।