रास्पबेरी पाई GPIO इनपुट पिन यादृच्छिक मान देते हैं


12

मैं रास्पबेरी पाई के साथ हाल ही में बहुत खेल रहा हूं। लेकिन मुझे दिक्कत है।

जब मैंने यह जांचने के लिए एक इनपुट पिन स्थापित किया कि क्या बिजली को भेजा जाता है या नहीं, यह मुझे अस्थिर उत्तर देता है।

मैंने अपनी समस्या को स्पष्ट करने के लिए कुछ अवलोकन किए हैं:

  1. जब मैं सर्किट को जोड़ता हूं, और इनपुट पिन में बिजली प्रवाहित होती है, तो यह मुझे जो मूल्य देता है वह लगातार TRUE या 1 है।

  2. जब मैं एक एलईडी को हटाकर सर्किट को तोड़ता हूं जो इसका एक हिस्सा है (जब इनपुट मूल्य 0 होना चाहिए) यह मुझे यादृच्छिक मान देता है, 0 और 1 के बीच स्थानांतरण।

  3. जब मैं अपने पाई से सभी केबलों को हटाता हूं तो यह मुझे 0 का सुसंगत मूल्य देता है

  4. अगर मेरे पास हटाए गए सभी GPIO केबल हैं, तो यह मुझे 0 का मान देता है, लेकिन अगर मैं इनपुट पिन को बिजली के अग्रणी धातु के टुकड़े से छूता हूं, (दूसरे छोर पर कुछ भी नहीं करने के लिए) यह फिर से यादृच्छिक मूल्यों के साथ शुरू होता है। यह मुझे यादृच्छिक मान नहीं देता है जब तक कि मेरे पास आउटपुट पिन से जुड़ा कुछ न हो। इसे कहीं भी ले जाने की ज़रूरत नहीं है, इसे सिर्फ आउटपुट पिन को छूना है। और धातु के कुछ अन्य टुकड़े को इनपुट पिन को छूना होगा। उन दोनों के बीच कोई संबंध नहीं।

मुझे आश्चर्य है कि यह मुझे यादृच्छिक मान देना शुरू कर देता है क्योंकि इनपुट GPIO पिन किसी भी धातु को छूता है।

और इससे भी ज्यादा तीखी बात यह है कि जब मैं वास्तव में इसे बिजली भेजता हूं तो यह मुझे लगातार 1s या TRUE क्यों देता है?


कथन संख्या 4 पर संपादित करें: यह मुझे यादृच्छिक मान नहीं देता है जब तक कि मुझे आउटपुटपिन से कुछ जुड़ा नहीं है। इसे कहीं भी ले जाने की ज़रूरत नहीं है, इसे सिर्फ आउटपुट पिन को छूना है। और धातु के कुछ अन्य टुकड़े को इनपुट पिन को छूना होगा। उन दोनों के बीच कोई संबंध नहीं
गुस्ताफ

रास्पबेरी पाई स्टैक एक्सचेंज में आपका स्वागत है! आप जानते हैं कि आप टिप्पणी को बदलने के बजाय उस जानकारी को ठीक करने के लिए अपने प्रश्न को संपादित कर सकते हैं? इसके अलावा, समय-समय पर चैट में पॉप करें। हम हमेशा नई कंपनी से प्यार करते हैं और यह दिखाने में मदद करेगा कि यह साइट उपयोगी है, बढ़ रही है, और इसमें एक उपयोगकर्ता शामिल है। धन्यवाद!
RPIAwesomeness

1
ऐसा इसलिए है क्योंकि पिन तैर रहे हैं। Electronics.stackexchange.com/a/35705
Gerben

जवाबों:


14

समस्या

जब मैं सर्किट को जोड़ता हूं, और इनपुट पिन में बिजली प्रवाहित होती है, तो यह मुझे जो मूल्य देता है वह लगातार TRUE या 1 है।

सच है, लेकिन क्या होता है जब जमीन GPIO इनपुट पिन से जुड़ा होता है? यह जो मूल्य देगा वह हमेशा गलत होगा

  • जब पावर इनपुट पिन से जुड़ा होता है: इनपुट पिन 1 (सत्य) का पता लगाता है।
  • जब ग्राउंड इनपुट पिन से जुड़ा होता है: इनपुट पिन 0 (गलत) का पता लगाता है।
  • जब कुछ भी इनपुट पिन से नहीं जुड़ा होता है: इनपुट पिन भ्रमित हो जाता है।

जब कुछ भी नहीं जुड़ा होता है तो पिन "फ्लोटिंग" स्थिति में होता है, और आउटपुट अनुमानित नहीं होता है। यह अपरिभाषित स्थिति में है, यह न तो 0 है और न ही 1, और पता चला मान अजीब तरीके से बदल सकता है, इसलिए आपके यादृच्छिक परिणाम। इलेक्ट्रॉनिक्स में इसे तीसरे राज्य के रूप में जाना जाता है ।

विकिपीडिया लेख से कुछ और विवरण :

डिजिटल सर्किट में, आउटपुट सर्किट द्वारा एक उच्च प्रतिबाधा (जिसे हाय-जेड, त्रिकोणीय, या फ्लोटिंग के रूप में भी जाना जाता है) आउटपुट किसी भी परिभाषित तर्क स्तर तक संचालित नहीं किया जा रहा है। सिग्नल न तो तार्किक उच्च या निम्न स्तर पर संचालित होता है; यह तीसरी शर्त "त्रिकोणीय" के विवरण की ओर ले जाती है। इस तरह के सिग्नल को ओपन सर्किट (या "फ्लोटिंग" वायर) के रूप में देखा जा सकता है।

सामान्य समाधान

समाधान एक पुल-डाउन रोकनेवाला है । इसे एक अतिरिक्त घटक के रूप में सोचें जो कुछ नहीं करता है जब लाइन 0 या 1 हो रही है। लेकिन जब लाइन बेकार हो जाती है, तो यह अचानक कार्रवाई करता है और 0 देता है।

रास्पबेरी पाई समाधान

सौभाग्य से आपके लिए, आरपीआई में एक पुल-डाउन है, आपको इसे प्रोग्रामेटिक रूप से सक्रिय करने की आवश्यकता है। यहाँ उस के लिए एक अजगर स्क्रिप्ट है:

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
//Now your input is stable.

पक्षीय लेख

पिन को सीधे पावर से कनेक्ट न करें क्योंकि यह खतरनाक होगा! सुनिश्चित करें कि सर्किट में पर्याप्त प्रतिरोध है। इसके अलावा, कभी भी 5V पावर को सीधे GPIO से कनेक्ट न करें क्योंकि यह केवल 3.3V को स्वीकार करता है।


क्या आप विंडोज 10 IoT कोर प्लेटफॉर्म पर चलते समय बराबर C # कोड जानते हैं?
विजय चावड़ा

यह उत्तर सुनहरा है! Thx
डोमिनह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.