विज्ञापन

अपने रास्पबेरी पाई पर GPIO पिन का उपयोग करना सीखना संभावनाओं की एक पूरी दुनिया को खोलता है। शुरुआती परियोजनाओं के माध्यम से सीखे गए बुनियादी सिद्धांतों ने DIY इलेक्ट्रॉनिक्स और प्रोग्रामिंग दोनों के उपयोगी ज्ञान की ओर मार्ग प्रशस्त किया।

यह ट्यूटोरियल आपको अपने रास्पबेरी पाई प्रोजेक्ट में एक बटन जोड़ने के दो तरीके दिखाएगा। बटन का उपयोग एक एलईडी को नियंत्रित करने के लिए किया जाएगा। वीडियो के नीचे लिखित निर्देश उपलब्ध हैं।

आपको चाहिये होगा

आरंभ करने के लिए, सुनिश्चित करें कि आपके पास निम्नलिखित घटक हैं:

  • 1 एक्स रास्पबेरी पाई (कोई भी करेगा, मॉडल 3 बी इस ट्यूटोरियल में उपयोग किया जाता है)
  • 1 एक्स पुश बटन
  • 1 एक्स एलईडी
  • 1 एक्स 220 ओम रेसिस्टर (उच्च मूल्य ठीक हैं, आपका एलईडी बस धुंधला हो जाएगा)
  • 1 एक्स ब्रेडबोर्ड
  • तारों को हुक करें

एक बार इकट्ठा होने के बाद, आपके पास ऐसे घटक होने चाहिए जो कुछ इस तरह दिखें:

पाई बटन ट्यूटोरियल के लिए आवश्यक भागों

आपको रास्पियन ऑपरेटिंग सिस्टम के साथ एसडी कार्ड की भी आवश्यकता होगी। ऐसा करने का सबसे तेज़ तरीका NOOBS (नया आउट ऑफ़ द बॉक्स सॉफ़्टवेयर) छवि है। यह कैसे करें इस पर निर्देश इस वीडियो में उपलब्ध हैं:

सर्किट की स्थापना

आप सर्किट बनाने के लिए पाई के GPIO पिन का उपयोग कर रहे होंगे, और यदि आप हमारे साथ अपरिचित हैं रास्पबेरी पाई GPIO पिन करने के लिए गाइड मदद करेगा। हमारे यहाँ सर्किट लगभग वैसा ही है जैसा कि हमारे पिछले में था रास्पबेरी पाई एलईडी परियोजना, बटन के अतिरिक्त के साथ आप आज का उपयोग करेंगे।

इस आरेख के अनुसार अपना सर्किट सेट करें:

पाई बटन ट्यूटोरियल के लिए फ्रिटिंग आरेख
  • 5v तथा GND पिन ब्रेडबोर्ड की पावर रेल से जुड़ते हैं।
  • पिन 12 (GPIO 18) एलईडी के सकारात्मक पैर से जुड़ता है।
  • का एक पैर रोकनेवाला एलईडी के नकारात्मक पैर से जुड़ जाता है, और दूसरा पैर ब्रेडबोर्ड की जमीन की रेल से जुड़ जाता है।
  • पिन 16 (GPIO 23) बटन के एक तरफ, दूसरी तरफ ब्रेडबोर्ड की ग्राउंड रेल से जुड़ी होती है।

एक बार यह सेट हो जाने के बाद, यहाँ यह देखना चाहिए:

रास्पबेरी पाई एक बटन तक झुका और एक ब्रेडबोर्ड पर एलईडी।

यह सुनिश्चित करने के लिए कि यह सही है, अपने सर्किट पर जाँच करें, और फिर अपने रास्पबेरी पाई को शक्ति दें।

विधि 1: आरपीआई। GPIO लाइब्रेरी

एक बार पाई बूट हो जाने के बाद, मेनू पर जाएं और चुनें प्रोग्रामिंग> Thonny Python IDE. एक नया पायथन स्क्रिप्ट खुलेगा। यदि आप पायथन के लिए पूरी तरह से नए हैं, तो यह शुरुआती लोगों के लिए एक शानदार भाषा है और हैं पायथन के बारे में अधिक जानने के लिए कई महान स्थान आपके द्वारा इस ट्यूटोरियल के साथ किए जाने के बाद!

Thonny Python IDE

आरपीआई आयात करके शुरू करें। GPIO लाइब्रेरी, और बोर्ड मोड सेट करना।

आरपीआई आयात करें। GPIO GPIO GPIO.setmode (GPIO.BOARD) के रूप में GPIO. 

अब एलईडी और बटन पिन नंबर के लिए चर घोषित करें।

ledPin = 12। बटनपिन = 16। 

ध्यान दें कि चूंकि हमारे पास बोर्ड मोड सेट है मंडल हम GPIO नंबरों के बजाय पिन नंबरों का उपयोग कर रहे हैं। यदि वह आपको भ्रमित कर रहा है, तो रास्पबेरी पाई पिनआउट चार्ट इसे स्पष्ट करने में मदद कर सकता है।

माई पाइ पिनआउट

बटन को सेट करना

GPIO पिन सेट करने का समय आ गया है आउटपुट के लिए एलईडी पिन सेट करें, और पुल-अप रोकनेवाला के साथ इनपुट करने के लिए बटन पिन

GPIO.setup (ledPin, GPIO.OUT) GPIO.setup (बटनपिन, GPIO.IN, पुल_अप_डाउन = GPIO.PUD_UP)

GPIO.IN के बाद का पाठ संदर्भित करता है आंतरिक पुल-अप रोकनेवाला रास्पबेरी पाई के। बटन से साफ पढ़ने के लिए आपको इसे सक्षम करने की आवश्यकता है। चूंकि बटन ग्राउंड पिन पर जा रहा है, हमें इनपुट पिन हाई को होल्ड करने के लिए एक पुल-अप रेज़िस्टर की आवश्यकता होती है जब तक आप इसे दबाते हैं।

इससे पहले कि हम आगे बढ़ें, पुल-अप और पुल-डाउन प्रतिरोधों को देखें।

प्रवेश: ऊपर / नीचे खींचो प्रतिरोधों को खींचो

जब आप इनपुट में GPIO पिन कॉन्फ़िगर करते हैं, तो यह उस पिन को पढ़ता है जिससे इसकी स्थिति का निर्धारण किया जा सके। इस सर्किट में, आपको यह पढ़ने की आवश्यकता है कि क्या पिन है उच्च या कम बटन दबाए जाने पर एलईडी को चालू करने के लिए। यह सरल होगा यदि वे एक ही राज्य थे जिसमें एक पिन हो सकता है, लेकिन दुर्भाग्य से, एक तीसरा राज्य है: अस्थायी.

फ्लोटिंग पिन में उच्च और निम्न के बीच मान होता है, जिससे इनपुट अप्रत्याशित रूप से कार्य करता है। पुल-अप / पुल-डाउन रेसिस्टर्स इसे हल करते हैं।

पुल-अप रिसिस्टर उदाहरण आरेख

उपरोक्त छवि एक बटन का सरलीकृत आरेख और रास्पबेरी पाई है। GPIO पिन बटन के माध्यम से जमीन से जुड़ता है। आंतरिक पुल-अप रोकनेवाला GPIO पिन को आंतरिक Pi बिजली की आपूर्ति से जोड़ता है। यह करंट प्रवाहित होता है और पिन को हाई तक सुरक्षित रूप से खींचा जाता है।

जब आप बटन दबाते हैं, तो GPIO पिन सीधे ग्राउंड पिन से जुड़ जाता है, और बटन कम पढ़ता है।

पुल-डाउन रेसिस्टर उदाहरण आरेख

पुल-डाउन रेसिस्टर्स तब होते हैं जब स्विच पावर पिन से जुड़ा होता है। इस बार, आंतरिक अवरोधक जमीन पर GPIO पिन संलग्न करता है, जब तक आप बटन दबाते हैं, तब तक LOW में पकड़े रहते हैं।

पुल-अप और पुल-डाउन प्रतिरोधक सिद्धांत पहली नज़र में भ्रामक है, लेकिन महत्वपूर्ण ज्ञान जब माइक्रोकंट्रोलर के साथ काम करना होता है। अभी के लिए, यदि आप इसे नहीं समझते हैं, तो चिंता न करें!

चलिए जारी रखते हैं कि हमने कहाँ छोड़ा था

कार्यक्रम लूप

अगला, प्रोग्राम लूप सेट करें:

जबकि सच: बटनस्टेट = GPIO.input (बटनपिन) यदि बटन बटन == गलत: GPIO.output (ledPin, GPIO.HIGH) और: GPIO.output (ledPin, GPIO.LOW)

जबकि सच है लूप लगातार प्रोग्राम को समाप्त करने तक इसके अंदर कोड चलाता है। हर बार जब यह लूप करता है तो यह अपडेट करता है buttonState से इनपुट पढ़कर buttonPin. जबकि बटन दबाया नहीं जा रहा है, यह रहता है उच्च.

बटन दबाने के बाद, buttonState हो जाता है कम. यह ट्रिगर करता है अगर बयान, जबसे असत्य के समान है कम, और एलईडी चालू होता है। अन्य जब भी बटन बंद हो जाए तो स्टेटमेंट एलईडी को बंद कर देता है।

अपनी स्क्रिप्ट सहेजें और चलाएं

क्लिक करके अपनी स्क्रिप्ट सहेजें फ़ाइल> इस रूप में सहेजें और फ़ाइल नाम चुनना। आप हरे पर क्लिक करके स्केच चला सकते हैं खेल Thonny टूलबार में बटन।

पतली नियंत्रण कक्ष

अब बटन दबाएं, और आपकी एलईडी को प्रकाश देना चाहिए! लाल दबाएं रुकें कार्यक्रम को रोकने के लिए किसी भी समय बटन

पुश बटन परीक्षण Gif

यदि आपको कठिनाइयाँ हो रही हैं, तो त्रुटियों के लिए अपने कोड और सर्किट सेटअप को अच्छी तरह से जाँच लें और पुनः प्रयास करें।

विधि 2: GPIO शून्य लाइब्रेरी

द आरपीआई। GPIO लाइब्रेरी शानदार है, लेकिन ब्लॉक पर एक नया बच्चा है। GPIO जीरो लाइब्रेरी थी रास्पबेरी पाई समुदाय प्रबंधक बेन न्यूटॉल द्वारा बनाई गई कोड को सरल बनाने के इरादे से, और पढ़ना और लिखना आसान है।

नई लाइब्रेरी का परीक्षण करने के लिए एक नई Thonny फ़ाइल खोलें, और लाइब्रेरी आयात करें।

से gpiozero आयात एलईडी, बटन। संकेत आयात ठहराव से। 

आपने देखा कि आपने पूरी लाइब्रेरी आयात नहीं की है। चूंकि आप केवल एक एलईडी और बटन का उपयोग कर रहे हैं, इसलिए आपको स्क्रिप्ट में केवल उन मॉड्यूल की आवश्यकता होती है। हम भी आयात करते हैं ठहराव सिग्नल लाइब्रेरी से, जो इवेंट मैनेजमेंट के लिए पायथन लाइब्रेरी है।

GPIO शून्य के साथ पिन सेट करना बहुत आसान है:

एलईडी = एलईडी (18) बटन = बटन (23)

चूंकि GPIO शून्य लाइब्रेरी में एलईडी और बटन के लिए मॉड्यूल हैं, इसलिए आपको पहले की तरह इनपुट और आउटपुट सेट करने की आवश्यकता नहीं है। आप देखेंगे कि हालांकि पिन नहीं बदले हैं, यहाँ संख्याएँ ऊपर से भिन्न हैं। ऐसा इसलिए है क्योंकि GPIO जीरो केवल GPIO पिन नंबर (ब्रॉडकॉम या BCM नंबर के रूप में भी जाना जाता है) का उपयोग करता है।

बाकी स्क्रिप्ट केवल तीन लाइनें हैं:

button.when_pressed = led.on. button.when_released = led.off ठहराव ()

कैसे रोक () यहाँ कॉल बस स्क्रिप्ट को बाहर निकलने से रोकता है जब यह नीचे तक पहुँचता है। जब भी बटन दबाया और जारी किया जाता है, तो दो-बटन ईवेंट ट्रिगर हो जाते हैं। अपनी स्क्रिप्ट सहेजें और चलाएं और आप पहले जैसा ही परिणाम देखेंगे!

रास्पबेरी पाई के लिए एक बटन जोड़ने के दो तरीके

बटन को सेट करने के दो तरीकों में से, GPIO शून्य विधि सबसे आसान लगती है। यह अभी भी आरपीआई के बारे में सीखने लायक है। GPIO पुस्तकालय के रूप में सबसे शुरुआती रास्पबेरी पाई परियोजनाएं इसका इस्तेमाल करें। यह प्रोजेक्ट जितना सरल है, ज्ञान का उपयोग कई चीजों के लिए किया जा सकता है।

GPIO पिन का उपयोग करना, अपने स्वयं के उपकरणों को सीखने और आविष्कार करने का एक शानदार तरीका है, लेकिन इसका सब कुछ आप पाई के साथ कर सकते हैं। हमारी रास्पबेरी पाई के लिए अनौपचारिक गाइड रास्पबेरी पाई: अनौपचारिक ट्यूटोरियलचाहे आप एक वर्तमान पाई के स्वामी हों, जो इस क्रेडिट-कार्ड आकार डिवाइस के अधिक या संभावित स्वामी को सीखना चाहते हैं, यह एक ऐसा मार्गदर्शक नहीं है जिसे आप मिस करना चाहते हैं। अधिक पढ़ें रचनात्मक विचारों और ट्यूटोरियल के साथ आप अपने आप को आज़मा सकते हैं! इस तरह के एक अन्य ट्यूटोरियल के लिए, देखें वाई-फाई कनेक्टेड बटन कैसे बनाएं ESP8266 के साथ अपनी खुद की वाई-फाई कनेक्टेड बटन कैसे बनाएंइस ट्यूटोरियल में, आप सीखेंगे कि NodeMCU और IFTTT का उपयोग करके वाई-फाई-सक्षम बटन कैसे बनाया जाए। अधिक पढ़ें .

इयान बकले बर्लिन, जर्मनी में रहने वाले एक स्वतंत्र पत्रकार, संगीतकार, कलाकार और वीडियो निर्माता हैं। जब वह लेखन या मंच पर नहीं है, तो वह पागल वैज्ञानिक बनने की उम्मीद में DIY इलेक्ट्रॉनिक्स या कोड के साथ छेड़छाड़ कर रहा है।