रास्पबेरी पाई एक एआरएम आर्किटेक्चर प्रोसेसर आधारित बोर्ड है जो इलेक्ट्रॉनिक इंजीनियरों और शौकियों के लिए बनाया गया है। PI अब वहां से सबसे भरोसेमंद परियोजना विकास प्लेटफार्मों में से एक है। उच्च प्रोसेसर गति और 1 जीबी रैम के साथ, पीआई का उपयोग इमेज प्रोसेसिंग और इंटरनेट ऑफ थिंग्स जैसी कई उच्च प्रोफ़ाइल परियोजनाओं के लिए किया जा सकता है।
किसी भी उच्च प्रोफ़ाइल परियोजना को करने के लिए, पीआई के बुनियादी कार्यों को समझने की आवश्यकता है। यही कारण है कि हम यहां हैं, हम इन ट्यूटोरियल में रास्पबेरी पाई की सभी बुनियादी कार्यात्मकताओं को शामिल करेंगे । प्रत्येक ट्यूटोरियल श्रृंखला में हम पीआई के कार्यों में से एक पर चर्चा करेंगे। ट्यूटोरियल श्रृंखला के अंत तक आप अपने आप से उच्च प्रोफ़ाइल परियोजनाओं को करने में सक्षम होंगे। रास्पबेरी पाई और रास्पबेरी पाई कॉन्फ़िगरेशन के साथ आरंभ करने के लिए इनकी जांच करें।
पीआई और उपयोगकर्ता के बीच संचार स्थापित करना पीआई पर परियोजनाओं को डिजाइन करने के लिए बहुत महत्वपूर्ण है। संचार के लिए, PI को उपयोगकर्ता से इनपुट लेना होगा। पीआई श्रृंखला के इस दूसरे ट्यूटोरियल में, हम उपयोगकर्ता से INPUTS लेने के लिए रास्पबेरी पाई के एक बटन को इंटरफेस करेंगे ।
यहां हम एक बटन को एक GPIO पिन और एक LED को दूसरे GPIO पिन के रास्पबेरी पाई से जोड़ेंगे। हम उपयोगकर्ता द्वारा बटन दबाने पर, लगातार एलईडी को ब्लिंक करने के लिए PYTHON में एक प्रोग्राम लिखेंगे। GPIO को चालू और बंद करके LED को ब्लिंक किया जाएगा।
प्रोग्रामिंग के लिए जाने से पहले, आइए LINUX और PYHTON के बारे में थोड़ी बात करते हैं।
LINUX:
LINUX विंडोज की तरह एक ऑपरेटिंग सिस्टम है। यह सभी बुनियादी कार्य करता है जो विंडोज ओएस कर सकता है। उनके बीच मुख्य अंतर है, लिनक्स खुला स्रोत सॉफ्टवेयर है जहां विंडोज नहीं है। मूल रूप से इसका क्या मतलब है, लिनक्स मुफ्त है जबकि विंडोज नहीं है। लिनक्स ओएस को मुफ्त में डाउनलोड और संचालित किया जा सकता है, लेकिन वास्तविक विंडोज ओएस डाउनलोड करने के लिए, आपको पैसे का भुगतान करना होगा।
और उनके बीच एक और बड़ा अंतर यह है कि लिनक्स ओएस को कोड में बदलकर 'संशोधित' किया जा सकता है, लेकिन विंडोज ओएस को संशोधित नहीं किया जा सकता है, ऐसा करने से कानूनी जटिलताएं पैदा होंगी। तो कोई भी लिनक्स ओएस ले सकता है, और अपनी ओएस बनाने के लिए इसे अपनी आवश्यकता के लिए संशोधित कर सकता है। लेकिन हम विंडोज में ऐसा नहीं कर सकते, विंडोज ओएस आपको ओएस को संपादित करने से रोकने के लिए प्रतिबंध के साथ प्रदान किया जाता है।
यहां हम लिनक्स के बारे में बात कर रहे हैं, क्योंकि, जेसीई लाइट (रास्पबेरी पाई ओएस) लिनक्स आधारित ओएस है, जिसे हमने रास्पबेरी पाई परिचय भाग में स्थापित किया है। PI OS, LINUX के आधार पर बनाया गया है, इसलिए हमें LINUX ऑपरेटिंग कमांड के बारे में थोड़ा जानना होगा। हम निम्नलिखित ट्यूटोरियल में इन लिनक्स कमांड के बारे में चर्चा करेंगे।
अजगर:
LINUX के विपरीत, PYTHON C, C ++, और JAVA आदि जैसी प्रोग्रामिंग भाषा है। इन भाषाओं का उपयोग अनुप्रयोगों को विकसित करने के लिए किया जाता है। याद रखें कि प्रोग्रामिंग भाषाएं ऑपरेटिंग सिस्टम पर चलती हैं। आप OS के बिना प्रोग्रामिंग भाषा नहीं चला सकते। इसलिए OS स्वतंत्र है जबकि प्रोग्रामिंग लैंग्वेज निर्भर हैं। आप लिनक्स और विंडोज दोनों पर PYTHON, C, C ++ और JAVA चला सकते हैं।
इन प्रोग्रामिंग लैंग्वेज द्वारा विकसित एप्लिकेशन गेम, ब्राउजर, एप्स आदि हो सकते हैं। हम अपने PI पर प्रोग्रामिंग लैंग्वेज PYTHON का उपयोग प्रोजेक्ट्स को डिजाइन करने और GPIO की मैनिपुलेट करने के लिए करेंगे।
हम आगे बढ़ने से पहले PI GPIO के बारे में थोड़ी चर्चा करेंगे,
GPIO पिन:
जैसा कि ऊपर की आकृति में दिखाया गया है, पीआई के लिए 40output पिन हैं। लेकिन जब आप दूसरे आंकड़े को देखते हैं, तो आप देख सकते हैं कि सभी 40 पिन आउट हमारे उपयोग के लिए प्रोग्राम नहीं किए जा सकते हैं। ये केवल 26 GPIO पिन हैं जिन्हें प्रोग्राम किया जा सकता है। ये पिन GPIO2 से GPIO27 तक जाते हैं ।
इन 26 GPIO पिन को आवश्यकतानुसार प्रोग्राम किया जा सकता है। इनमें से कुछ पिन कुछ विशेष कार्य भी करते हैं, हम उस बारे में बाद में चर्चा करेंगे। विशेष GPIO को अलग रखने के साथ, हमारे पास 17 GPIO शेष (लाइट ग्रीन किर्ल) हैं।
इन 17 GPIO पिनों में से प्रत्येक अधिकतम 15mA वर्तमान प्रदान कर सकता है । और सभी GPIO से धाराओं का योग 50mA से अधिक नहीं हो सकता है। इसलिए हम इनमें से प्रत्येक GPIO पिन से औसतन अधिकतम 3mA खींच सकते हैं। इसलिए किसी को इन चीजों के साथ छेड़छाड़ नहीं करनी चाहिए जब तक कि आपको पता न हो कि आप क्या कर रहे हैं
आवश्यक घटक:
यहां हम रास्पबेरी जेसी ओएस के साथ रास्पबेरी पाई 2 मॉडल बी का उपयोग कर रहे हैं । सभी मूल हार्डवेयर और सॉफ़्टवेयर आवश्यकताओं पर पहले से चर्चा की जाती है, आप इसे रास्पबेरी पाई परिचय में देख सकते हैं, इसके अलावा, हमें इसकी आवश्यकता है:
- कनेक्टिंग पिन
- 220 या 1KΩresistor
- एलईडी
- बटन
- ब्रेड बोर्ड
सर्किट स्पष्टीकरण:
जैसा कि सर्किट आरेख में दिखाया गया है कि हम एक एलईडी को PIN35 (GPIO19) और एक बटन को PIN37 (GPIO26) से कनेक्ट करने जा रहे हैं। जैसा कि पहले कहा गया था, हम इनमें से किसी एक पिन से 15mA से अधिक नहीं खींच सकते, इसलिए वर्तमान को सीमित करने के लिए हम एलईडी के साथ श्रृंखला में 220Ω या 1KΩ रोकनेवाला जोड़ रहे हैं।
कार्य स्पष्टीकरण:
एक बार जब सब कुछ जुड़ा हुआ है, तो हम PYHTON में प्रोग्राम लिखने और इसे निष्पादित करने के लिए रास्पबेरी पाई को चालू कर सकते हैं। (यह जानने के लिए कि पीथॉन का उपयोग कैसे करें PI BLINKY)।
हम कुछ कमांड्स के बारे में बात करेंगे जिनका हम PYHTON प्रोग्राम में उपयोग करने जा रहे हैं।
हम लाइब्रेरी से GPIO फ़ाइल आयात करने जा रहे हैं, नीचे फ़ंक्शन हमें PI के GPIO पिन को प्रोग्राम करने में सक्षम बनाता है। हम "GPIO" का नाम भी "IO" कर रहे हैं, इसलिए जब भी हम GPIO पिन को संदर्भित करना चाहते हैं, तो हम 'IO' शब्द का उपयोग करेंगे।
IO के रूप में RPi.GPIO आयात करें
कभी-कभी, जब GPIO पिन, जिसे हम उपयोग करने की कोशिश कर रहे हैं, हो सकता है कि वह कुछ अन्य कार्य कर रहा हो। उस स्थिति में, हम कार्यक्रम को निष्पादित करते समय चेतावनी प्राप्त करेंगे। नीचे कमांड पीआई को चेतावनी को अनदेखा करने और कार्यक्रम के साथ आगे बढ़ने के लिए कहता है।
IO.setwarnings (गलत)
हम पीआई के GPIO पिन का उल्लेख कर सकते हैं, या तो बोर्ड पर पिन नंबर या उनके फ़ंक्शन नंबर के द्वारा। पिन आरेख में, आप 'पिन 37' को बोर्ड पर 'GPIO26' देख सकते हैं। इसलिए हम यहां बताते हैं कि या तो हम यहां पिन का प्रतिनिधित्व करने जा रहे हैं या '37' या '26'।
IO.setmode (IO.BCM)
हम GPIO26 (या PIN37) को इनपुट पिन के रूप में सेट कर रहे हैं। हम इस पिन द्वारा बटन प्रेस का पता लगाएंगे।
IO.setup (26, IO.IN)
जबकि 1: का उपयोग अनंत लूप के लिए किया जाता है। इस कमांड के साथ इस लूप के अंदर के स्टेटमेंट्स को लगातार निष्पादित किया जाएगा।
एक बार प्रोग्राम निष्पादित होने के बाद, GPIO19 (PIN35) से जुड़ी एलईडी जब भी बटन दबाती है, पलक झपकती है। एलईडी जारी करने पर, यह फिर से ऑफ स्टेट पर जाएगा।