रास्पबेरी पाई एक एआरएम आर्किटेक्चर प्रोसेसर आधारित बोर्ड है जो इलेक्ट्रॉनिक इंजीनियरों और शौकियों के लिए बनाया गया है। PI अब वहां से सबसे भरोसेमंद परियोजना विकास प्लेटफार्मों में से एक है। उच्च प्रोसेसर गति और 1 जीबी रैम के साथ, पीआई का उपयोग इमेज प्रोसेसिंग और इंटरनेट ऑफ थिंग्स जैसी कई उच्च प्रोफ़ाइल परियोजनाओं के लिए किया जा सकता है।
किसी भी उच्च प्रोफ़ाइल परियोजना को करने के लिए, पीआई के बुनियादी कार्यों को समझने की आवश्यकता है। हम इन ट्यूटोरियल में रास्पबेरी पाई की सभी बुनियादी कार्यात्मकताओं को शामिल करेंगे । प्रत्येक ट्यूटोरियल में हम पीआई के कार्यों में से एक पर चर्चा करेंगे। इस रास्पबेरी पाई ट्यूटोरियल श्रृंखला के अंत तक, आप अपने आप से उच्च प्रोफ़ाइल परियोजनाएं करने में सक्षम होंगे। नीचे ट्यूटोरियल के माध्यम से जाओ:
- रास्पबेरी पाई के साथ शुरुआत करना
- रास्पबेरी पाई विन्यास
- एलईडी ब्लिंक
- रास्पबेरी पाई बटन इंटरफेसिंग
- रास्पबेरी पाई PWM पीढ़ी
- रास्पबेरी पाई का उपयोग करके डीसी मोटर को नियंत्रित करना
- रास्पबेरी पाई के साथ स्टेपर मोटर नियंत्रण
इस रास्पबेरी पाई शिफ्ट रजिस्टर ट्यूटोरियल में, हम पाई के साथ शिफ्ट रजिस्टर इंटरफेस करेंगे। PI में 26 GPIO पिन हैं, लेकिन जब हम 3D प्रिंटर जैसे प्रोजेक्ट करते हैं, तो PI द्वारा प्रदान किए गए आउटपुट पिन पर्याप्त नहीं होते हैं। इसलिए हमें अधिक आउटपुट पिन की आवश्यकता है, पीआई में अधिक आउटपुट पिन जोड़ने के लिए, हम Shift रजिस्टर चिप जोड़ते हैं । शिफ्ट रजिस्टर चिप पीआई बोर्ड से क्रमिक रूप से डेटा लेता है और समानांतर आउटपुट देता है। चिप 8bit की है, इसलिए चिप PI सीरियल से 8bit लेता है और फिर 8 आउटपुट पिन के माध्यम से 8bit लॉजिक आउटपुट प्रदान करता है।
8 बिट शिफ्ट रजिस्टर के लिए, हम IC 74HC595 का उपयोग करने जा रहे हैं । यह 16 पिन की चिप है। चिप के पिन कॉन्फ़िगरेशन को इस ट्यूटोरियल में बाद में बताया गया है।
इस ट्यूटोरियल में, हम शिफ्ट रजिस्टर चिप से आठ आउटपुट प्राप्त करने के लिए तीन पीआई के GPIO पिन का उपयोग करेंगे। यहां याद रखें कि चिप के पिन केवल आउटपुट के लिए हैं, इसलिए हम किसी भी सेंसर को चिप आउटपुट से कनेक्ट नहीं कर सकते हैं और उम्मीद करते हैं कि PI उन्हें पढ़ सकता है। पीआई से भेजे गए 8 बिट डेटा को देखने के लिए एलईडी को चिप आउटपुट पर जोड़ा जाता है।
हम आगे जाने से पहले रास्पबेरी पाई GPIO पिन के बारे में थोड़ी चर्चा करेंगे,
रहे हैं रास्पबेरी Pi 2 में 40 GPIO उत्पादन पिंस । लेकिन 40 में से केवल 26 GPIO पिन (GPIO2 से GPIO27) को प्रोग्राम किया जा सकता है। इनमें से कुछ पिन कुछ विशेष कार्य करते हैं। विशेष GPIO को अलग रखने के साथ, हमारे पास केवल 17 GPIO शेष हैं। इन 17 GPIO पिन में से प्रत्येक अधिकतम 15mA वर्तमान प्रदान कर सकता है । और सभी GPIO पिन से धाराओं का योग 50mA से अधिक नहीं हो सकता है । GPIO पिन के बारे में अधिक जानने के लिए, रास्पबेरी पाई के साथ एलईडी ब्लिंकिंग करें
आवश्यक घटक:
यहां हम रास्पबेरी जेसी ओएस के साथ रास्पबेरी पाई 2 मॉडल बी का उपयोग कर रहे हैं । सभी मूल हार्डवेयर और सॉफ़्टवेयर आवश्यकताओं पर पहले से चर्चा की जाती है, आप इसे रास्पबेरी पाई परिचय में देख सकते हैं, इसके अलावा, हमें इसकी आवश्यकता है:
- कनेक्टिंग पिन
- 220 या 1 वर्गमीटर (6)
- एलईडी (8)
- 0.01F संधारित्र
- 74HC595 आईसी
- ब्रेड बोर्ड
सर्किट आरेख:
शिफ्ट रजिस्टर IC 74HC595:
आइए हम यहां उपयोग करने जा रहे SHIFT REGISTER के पिन के बारे में बात करते हैं।
पिन नाम |
विवरण |
क्रि ० प्र०— करना |
वे आउटपुट पिन (लाल आयत) हैं, जहां हमें 8 बिट डेटा समानांतर मिलता है। समानांतर आउटपुट देखने के लिए हम उनसे आठ एलईडी कनेक्ट करेंगे। |
डेटा पिन (DS) |
पहले डेटा को इस पिन से बिट द्वारा भेजा जाता है। 1 भेजने के लिए, हम DATA पिन को ऊपर खींचते हैं और 0 भेजने के लिए हम DATA पिन को नीचे खींचेंगे। |
घड़ी पिन (SHCP) |
इस पिन पर हर पल्स रजिस्टरों को DATA पिन से एक बिट डेटा लेने और उसे स्टोर करने के लिए मजबूर करता है। |
शिफ्ट आउटपुट (STCP) |
8 बिट प्राप्त करने के बाद, हम आउटपुट को देखने के लिए इस पिन को पल्स प्रदान करते हैं। |
काम का प्रवाह:
हम फ्लो चार्ट का अनुसरण करेंगे और PYTHON में एक दशमलव काउंटर प्रोग्राम लिखेंगे। जब हम प्रोग्राम चलाते हैं, तो हम रास्पबेरी पाई में शिफ्ट रजिस्टर का उपयोग करके एलईडी काउंटिंग देखते हैं ।
प्रोग्रामिंग विवरण:
एक बार जब सब कुछ सर्किट आरेख के अनुसार जुड़ा हुआ है, तो हम PYHTON में प्रोग्राम लिखने के लिए PI को चालू कर सकते हैं।
हम कुछ आदेशों के बारे में बात करेंगे जिनका हम PYHTON कार्यक्रम में उपयोग करने जा रहे हैं, हम लाइब्रेरी से GPIO फ़ाइल आयात करने जा रहे हैं, नीचे फ़ंक्शन हमें PI के GPIO पिन को प्रोग्राम करने में सक्षम बनाता है। हम "GPIO" का नाम भी "IO" कर रहे हैं, इसलिए जब भी हम GPIO पिन को संदर्भित करना चाहते हैं, तो हम 'IO' शब्द का उपयोग करेंगे।
IO के रूप में RPi.GPIO आयात करें
कभी-कभी, जब GPIO पिन, जिसे हम उपयोग करने की कोशिश कर रहे हैं, हो सकता है कि वह कुछ अन्य कार्य कर रहा हो। उस स्थिति में, हम कार्यक्रम को निष्पादित करते समय चेतावनी प्राप्त करेंगे। नीचे कमांड पीआई को चेतावनी को अनदेखा करने और कार्यक्रम के साथ आगे बढ़ने के लिए कहता है।
IO.setwarnings (गलत)
हम पीआई के GPIO पिन का उल्लेख कर सकते हैं, या तो बोर्ड पर पिन नंबर या उनके फ़ंक्शन नंबर के द्वारा। बोर्ड पर 'PIN 29' की तरह 'GPIO5' है। इसलिए हम यहां बताते हैं कि या तो हम यहां '29' या '5' द्वारा पिन का प्रतिनिधित्व करने जा रहे हैं।
IO.setmode (IO.BCM)
हम आउटपुट के रूप में GPIO4, GPIO5 और GPIO6 पिन सेट कर रहे हैं
IO.setup (4, IO.OUT) IO.setup (5, IO.OUT) IO.setup (6, IO.OUT)
यह कमांड 8 बार लूप निष्पादित करता है।
श्रेणी में y के लिए (8):
जबकि 1: का उपयोग अनंत लूप के लिए किया जाता है। इस कमांड के साथ इस लूप के अंदर के स्टेटमेंट्स को लगातार निष्पादित किया जाएगा।
प्रोग्राम का आगे स्पष्टीकरण नीचे दिए गए कोड सेक्शन में दिया गया है। हमें अब SHIFT REGISTER में डेटा भेजने के लिए आवश्यक सभी निर्देश हैं।