जब कोई बटन उस कॉन्फ़िगरेशन में जुड़ा होता है, तो इनपुट को फ्लोटिंग कहा जाता है , जिसका अर्थ है कि यह 0 या 1 नहीं है। जब बटन दबाया जाता है, तो यह जमीन से जुड़ा होता है, इसलिए यह निश्चित रूप से 0 होता है, लेकिन जब इसे दबाया नहीं जाता है, तो हम पिन का मूल्य नहीं जानते हैं।
रोकनेवाला खींचो
हमें उस चीज़ को शामिल करने की आवश्यकता है जिसे बटन दबाए जाने पर तर्क 1 तक सिग्नल खींचने के लिए "पुल-अप" रोकनेवाला कहा जाता है।
स्पार्कफुन से छवि
इसका मतलब यह है कि जब बटन दबाया नहीं जाता है, तो Arduino एक तर्क 1 पढ़ता है। जब बटन दबाया जाता है, तो प्रतिरोध करने वाला जमीन पर बहता है और Arduino एक तर्क पढ़ता है 0।
आंतरिक ऊपर रोकनेवाला
Arduino में आंतरिक पुल रेसिस्टर्स भी हैं, इसलिए आपको अपने सर्किट में एक अतिरिक्त घटक जोड़ना जरूरी नहीं है। इसका उपयोग करने के कुछ तरीके हैं।
आप इसे इस तरह से करते थे:
pinMode(pin, INPUT); // set pin to input
digitalWrite(pin, HIGH); // turn on pullup resistors
अब हम इसे केवल एक पंक्ति में कर सकते हैं:
pinMode(pin, INPUT_PULLUP);
यह उस पिन पर 20k पुल रेसिस्टर को सक्षम करता है। जब बटन दबाया नहीं जाता है तो इनपुट फ्लोटिंग नहीं होगा।
नोट: यह केवल तभी काम करता है जब दूसरा छोर जमीन से जुड़ा हो।