विषयसूची:
वीडियो: एक एमसीयू पिन के साथ कई स्विच कैसे पढ़ें: 4 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:24
क्या आप कभी किसी परियोजना (परियोजनाओं) से दूर रहे हैं और परियोजना बढ़ती और बढ़ती रहती है, जबकि आप इसमें और चीजें जोड़ते हैं (हम इसे एक फेपिंग क्रिएचरिज्म कहते हैं)? हाल ही के एक प्रोजेक्ट पर, मैं एक फ़्रीक्वेंसी मीटर का निर्माण कर रहा था और एक पाँच फ़ंक्शन सिग्नल जनरेटर / फ़्रीक्वेंसी सिंथेसाइज़र जोड़ा। मेरे पास उपलब्ध पिनों की तुलना में जल्द ही अधिक स्विच के साथ घाव हो गया, तो एक आदमी को क्या करना है?
हालाँकि, मेरे पास जल्द ही मेरे फ़नबॉक्स पर सात और स्विच थे (हाँ, इसे मैंने अपना फंक्शन जनरेटर कहा था … मुझे पता है, मेरे पास कोई रचनात्मकता नहीं है) और यहाँ एक छोटा निर्देश है जो आपको दिखा रहा है कि आप ऐसा कैसे कर सकते हैं। इसके लिए किसी शिफ्ट रजिस्टर या विशिष्ट आईसी की आवश्यकता नहीं है। वास्तव में, इसके लिए माइक्रोकंट्रोलर की आवश्यकता नहीं होती है, या तो, यदि असतत अर्धचालक यह है कि आप कैसे रोल करते हैं। यहाँ एक तरीका है जिससे आप अपने AVR (या अन्य माइक्रोकंट्रोलर…) पर एक ही पिन का उपयोग करके कई स्विच को पढ़/प्रबंधित कर सकते हैं…मैंने सुना है कि AVR के अलावा अन्य माइक्रोकंट्रोलर भी हैं, लेकिन मैं कल्पना नहीं कर सकता…)।:)
चरण 1: अनिवार्य (वास्तव में नहीं)
इसे पूरा करने के लिए, आपको कुछ घटकों की आवश्यकता होगी। यह आपको प्रबंधित करने के लिए कई स्विचेस रखने में मदद करता है। आपको कुछ प्रतिरोधों और या तो एक माइक्रोकंट्रोलर की आवश्यकता होगी जिसमें एडीसी (एनालॉग-टू-डिजिटल रूपांतरण) हो या किसी अन्य तरीके से आप यह इंगित करना चाहते हैं कि एक स्विच सक्रिय था और यह कौन सा स्विच था।
यदि आप चाहते थे कि आप इसे इंगित करने के लिए वोल्टेज नियंत्रित थरथरानवाला का उपयोग कर सकते हैं, शायद कुछ चमचमाती रोशनी के साथ, या वैकल्पिक रूप से, ध्वनि के साथ। इस 'ible में, मैं यह दिखावा करने जा रहा हूं कि हम AVR का उपयोग कर रहे हैं, लेकिन आपकी दुनिया में आप जो कुछ भी आपको खुश करते हैं उसका दिखावा कर सकते हैं। मुझे बॉब रॉस की याद आती है।
चरण 2: वोल्टेज विभक्त
अनिवार्य रूप से, जिस तरह से हम ऐसा करने जा रहे हैं वह एक तकनीक और सर्किट का उपयोग कर रहा है जिसे वोल्टेज डिवाइडर कहा जाता है। वोल्टेज डिवाइडर करते हैं, जैसा कि आपने अनुमान लगाया होगा, वी,,,,, वोल्टेज को आपके द्वारा निर्धारित कुछ मूल्य से विभाजित करें। आप कैपेसिटर और इंडिकेटर्स सहित कई घटकों के साथ वोल्टेज को विभाजित कर सकते हैं, लेकिन यहां मैं इसे अच्छे 'ओल रेसिस्टर' के साथ करने जा रहा हूं। आइडिया जो हम कर रहे हैं, वह दो घटकों को श्रृंखला में डाल रहा है, जिससे प्रत्येक व्यक्तिगत रूप से, पूरे घटक में वोल्टेज में गिरावट आएगी। अगर मुझे कोई मतलब नहीं है तो पहली तस्वीर देखें। रेल से रेल में 9V का संभावित अंतर है। 9V और 0V के बीच श्रृंखला में दो प्रतिरोधक हैं। इनमें से प्रत्येक प्रतिरोध के आधार पर अपने आप में एक वोल्टेज ड्रॉप का अनुभव करेगा, जैसा कि आप शायद वी = आईआर से याद करते हैं। यदि आप दो प्रतिरोधों के बीच एक वोल्टेज माप लेते हैं, तो आपको 9V और 0V के बीच कुछ मान मिलेगा, यह इस बात पर निर्भर करता है कि पहले रोकनेवाला में कितना वोल्टेज गिरा है और 0V से पहले दूसरे रोकनेवाला पर कितना छोड़ना बाकी है। इस स्थिति में एक रोकनेवाला में वोल्टेज ड्रॉप की गणना के लिए एक सीधा सूत्र है और यह इस तरह दिखता है। मान लीजिए कि प्रतिरोधक 1 (R1) के ऊपर वोल्टेज V1 है और प्रतिरोधक दो (R2) के ऊपर वोल्टेज V2 है। चूंकि मैं अब फ़ॉर्मेटिंग का उपयोग नहीं कर सकता, इसलिए फ़ॉर्मूला के लिए नीचे चित्र 2 देखें… इसलिए, हमारे प्रतिरोधक विभक्त में, V2 के लिए हमारे सूत्र द्वारा Vout वोल्टेज निर्धारित किया जा सकता है (चूंकि हम GND को 0V से संदर्भित करेंगे)। एक पिन से स्विच के एक गुच्छा का पता चलने से इसका क्या लेना-देना है? ठीक है, पृष्ठ चालू करें और मैं आपको दिखाऊंगा!
चरण 3: वोल्टेज विभक्त सीढ़ी
अब मान लीजिए कि हमारे पास हमारे सभी स्विच हैं, शायद छह या आठ या सोलह, सभी प्रतिरोधों के माध्यम से जुड़े हुए हैं जो प्रत्येक वोल्टेज विभक्त के रूप में कार्य करते हैं जैसे कि जब स्विच पिन की स्थिति बदलती है, तो वोल्टेज पढ़ा जाता है और वोल्टेज स्तर के आधार पर, हम जान सकते हैं कि कौन सा स्विच अभी सक्रिय हुआ था। नीचे देखें। नीचे दी गई तस्वीर में, मैंने स्विच के दो ब्लॉक जोड़े हैं। सबसे ऊपर वाले ब्लॉक में दो स्विच होते हैं, और सबसे नीचे वाले ब्लॉक में पांच स्विच होते हैं। आप अपने अलग टॉगल, क्षणिक, स्पर्श, आदि स्विच को उसी तरह कनेक्ट कर सकते हैं। ध्यान देने योग्य महत्वपूर्ण बात वह अवरोधक है जिससे आपका स्विच जुड़ा हुआ है। मेरे उदाहरण में, मैंने वोल्टेज अंतराल बनाने के लिए अगले अवरोधक के प्रतिरोध को लगभग दोगुना कर दिया है जो मापने में आसान है और स्विच के पहले या बाद में गलती नहीं है। यदि आपने पहले ध्यान नहीं दिया है, तो फिर से देखें, और महसूस करें कि हम अपने पुराने मित्र प्रतिरोधक वोल्टेज विभक्त पर वापस आ गए हैं। पहला रोकनेवाला, 10k ओम, 5V से जुड़ा है और दूसरा रोकनेवाला - रोकनेवाला जो V को निर्धारित करेगाबाहर SWITCH_ADC पिन के लिए, प्रत्येक स्विच से जुड़ा होता है और इसलिए, प्रत्येक स्विच एक विशेष Vout वोल्टेज से जुड़ा होता है जिसे SWITCH_ADC से जुड़े ADC पिन से पढ़ा जा सकता है। इसके बाद, प्रत्येक स्विच से अपेक्षित Vout निर्धारित करें जैसे
वाउट = विन * (R2 / (R1 + R2))
स्विच एक के लिए:
वाउट = 5 वी * (500 / (10000 + 500)) = 5 * 0.048 = 0.24 वी या 240 एमवी
स्विच दो के लिए:
वाउट = 5V * (2200 / (10000 + 2200)) = 5 * 0.18 = 0.9V या ~ 900mV
और इसी तरह.. R2 के लिए अपने स्वयं के मूल्यों में स्थानापन्न करने के लिए स्वतंत्र महसूस करें यदि आपके पास केवल कुछ प्रतिरोधक काम हैं … यहाँ महत्वपूर्ण बात यह है कि स्विच के बीच वोल्टेज में एक व्यापक पर्याप्त अंतर रखें ताकि ADC पर त्रुटि का कोई भी मार्जिन जीत जाए। टी आपको एक पड़ोसी स्विच से अपेक्षित वोल्टेज में डाल देता है। मैंने पाया है कि सबसे आसान काम है डिवाइडर सीढ़ी बनाना और एडीसी पिन पर एक मल्टीमीटर/वोल्टमीटर लगाना और प्रत्येक पिन को दबाएं और देखें कि आपको क्या मूल्य मिलते हैं। आप जो गणना करते हैं, उस पर उन्हें सुंदर स्थान होना चाहिए। एक बार जब आपके पास एक विशेष अवरोधक का उपयोग करके प्रत्येक स्विच से सभी अपेक्षित वोल्टेज मान होते हैं, तो आप अपने एमसीयू को एडीसी पिन पढ़ सकते हैं और यह निर्धारित करने के लिए अपने ज्ञात मूल्यों की तुलना कर सकते हैं कि कौन सा स्विच दबाया गया था। उदाहरण के लिए, मान लें कि आपने एक इंटरप्ट सर्विस रूटीन पंजीकृत किया है जिसे एडीसी पिन पर पता चला परिवर्तन होने पर कॉल किया जाएगा। उस ISR के अंदर, आप ADC पढ़ सकते हैं और उस मान की तुलना अपने स्विच टेबल से कर सकते हैं। यदि आप 8-बिट ADC मान का उपयोग कर रहे हैं, तो आपका वोल्टेज 0 और 255 के बीच की संख्या में परिवर्तित हो जाएगा जो 0V और 5V के बीच के वोल्टेज से मेल खाती है। यह मानता है कि आपने अपना एडीसी इस तरह से कॉन्फ़िगर किया है।
चरण 4: सारांश
तो, अब आपको पता होना चाहिए कि स्विच के लिए GPIO पिन का उपयोग करने में मितव्ययी कैसे होना चाहिए। जब भी आप GPIO पिन पर कम चल रहे हों, या शायद ही आपके पास शुरू करने के लिए कोई हो, या यदि आपको लगता है कि आप स्विच के बैंक का उपयोग करने जा रहे हैं, तो प्रतिरोधक विभक्त आपके GPIO पिन को बचाने के लिए जाने का तरीका है, जबकि अभी भी एक प्रदान कर रहा है स्विच एक्सेस का पता लगाने के लिए मजबूत तंत्र।
सिफारिश की:
बिना सोल्डर पिन हैडर के Arduino नैनो के लिए ICSP कनेक्टर लेकिन पोगो पिन: 7 कदम
बिना सोल्डर पिन हैडर लेकिन पोगो पिन के Arduino नैनो के लिए ICSP कनेक्टर: बोर्ड पर बिना सोल्डर पिन हेडर के Arduino नैनो के लिए ICSP कनेक्टर बनाएं, लेकिन Pogo Pin.Parts3×2 पिन सॉकेट X1 - APitch 2.54mm ड्यूपॉन्ट लाइन वायर महिला पिन कनेक्टर हाउसिंग टर्मिनल x6 - BP75-E2 (1.3 मिमी शंक्वाकार सिर) स्प्रिंग टेस्ट जांच पोगो पिन
एक एनालॉग पिन का उपयोग करके एकाधिक एनालॉग मान कैसे पढ़ें: 6 चरण (चित्रों के साथ)
एक एनालॉग पिन का उपयोग करके एकाधिक एनालॉग मान कैसे पढ़ें: इस ट्यूटोरियल में, मैं आपको केवल एक एनालॉग इनपुट पिन का उपयोग करके कई एनालॉग मानों को पढ़ने का तरीका दिखाने जा रहा हूं।
Arduino के साथ MPX5010 डिफरेंशियल प्रेशर सेंसर कैसे पढ़ें: 5 कदम
Arduino के साथ MPX5010 डिफरेंशियल प्रेशर सेंसर कैसे पढ़ें: जिस तरह से मैंने कोड लिखा है वह ऐसा है कि इसे एक अलग प्रेशर सेंसर के अनुरूप आसानी से बदला जा सकता है। किसी भी दबाव सेंसर के लिए डेटा शीट से मूल्यों के आधार पर कोड में निम्नलिखित कॉन्स्टेबल चर बदलें: "सेंसरऑफसेट"
एक स्विच और विसुइनो के साथ एलईडी के 3 बैंकों को स्विच करना: 9 कदम (चित्रों के साथ)
एक स्विच और विसुइनो के साथ एलईडी के 3 बैंकों को स्विच करना: यह परियोजना एक प्रयोग से निकली जिसे मैं आजमाना चाहता था, मैं देखना चाहता था कि डॉलर के बिल और सुरक्षा जांच के विभिन्न हिस्सों को देखने के लिए कितनी यूवी प्रकाश की आवश्यकता थी। मुझे इसे बनाने में बहुत मज़ा आया और मैं इन निर्देशों को यहाँ साझा करना चाहता था। चीज़ें आप
आईएसपी ६ पिन से ८ पिन सॉकेट: ४ कदम
ISP ६ पिन से ८ पिन सॉकेट: जिस कारण से मैंने मुख्य रूप से इस परियोजना का निर्माण किया था, वह ATTiny45 को प्रोग्राम करना था, जिसमें ८ पिन कनेक्शन है, जबकि मेरे USBtinyISP (लेडीडा से) में केवल १० पिन और ६ पिन कनेक्शन है। लगभग ३-४ सप्ताह तक इंटरनेट पर जासूसी करने के बाद मुझे कुछ भी नहीं मिला