पोटेंशियोमीटर और रोटरी एनकोडर पहली नज़र में लगभग समान दिखते हैं, लेकिन वे अलग-अलग तरीकों से काम करते हैं। डिस्कवर करें कि Arduino के साथ दोनों का उपयोग कैसे करें।
इलेक्ट्रॉनिक उपयोगकर्ता नियंत्रण घटकों में, रोटरी नॉब उपयोग करने के लिए सबसे संतोषजनक हैं। वे टचस्क्रीन और अन्य इनपुट उपकरणों के साथ-साथ बटन और स्विच के साथ अच्छी तरह से काम कर सकते हैं। लेकिन आप अपने खुद के DIY Arduino प्रोजेक्ट्स में नॉब कैसे जोड़ सकते हैं?
आपके पास दो मुख्य विकल्प हैं: एक पोटेंशियोमीटर या एक रोटरी एनकोडर। ये घटक समान दिख सकते हैं, लेकिन एक Arduino माइक्रोकंट्रोलर बोर्ड जैसे उपकरण के साथ उनका उपयोग करने के तरीके बहुत अलग हैं। आइए देखें कि वे एक दूसरे के खिलाफ कैसे तुलना करते हैं।
पोटेंशियोमीटर बनाम। रोटरी एनकोडर
अधिकांश पोटेंशियोमीटर और रोटरी एनकोडर जो DIY उत्साही लोगों का सामना करेंगे, एक समान रूप कारक में आते हैं। उनके पास एक घनाभ या बेलनाकार आधार होता है जिसमें कनेक्टर पैर जुड़े होते हैं, और एक गोल शाफ्ट होता है जो मुड़ता है और बैठने के लिए टोपी के लिए कट-आउट होता है।
कुछ पोटेंशियोमीटर अलग दिखते हैं, जैसे कि वे जो लंबी स्लाइड के रूप में आते हैं, जैसे कि संगीत मिश्रण डेक पर पाए जाते हैं। जब रोटरी प्रकार की बात आती है, हालाँकि, पहली नज़र में वे लगभग रोटरी एनकोडर के समान दिखते हैं, इसलिए आपको यह सोचने के लिए क्षमा किया जाएगा कि वे समान हैं।
एक पोटेंशियोमीटर क्या है?
एक पोटेंशियोमीटर संक्षेप में एक चर अवरोधक है। जैसे ही शाफ्ट को घुमाया जाता है, पोटेंशियोमीटर के अंदर का प्रतिरोध बदल जाता है, जिससे उपयोगकर्ता सर्किट के गुणों को फिर से बनाए बिना बदल सकता है। पोटेंशियोमीटर एनालॉग और डिजिटल दोनों हो सकते हैं, लेकिन डिजिटल पोटेंशियोमीटर एनालॉग वाले की नकल करते हैं और यह उन्हें उपयोग करने के लिए बहुत समान बनाता है।
पोटेंशियोमीटर में हमेशा एक परिभाषित प्रारंभ और अंत बिंदु होता है जहां शाफ्ट को घुमाया नहीं जा सकता। मुड़ने पर कुछ पोटेंशियोमीटर ऊबड़-खाबड़ महसूस करते हैं, लेकिन कई चिकने भी होते हैं, जैसे पुराने स्टीरियो में पाए जाते हैं।
एनालॉग होने के बावजूद, पोटेंशियोमीटर माइक्रोकंट्रोलर्स के साथ अच्छा काम करते हैं। आप आसानी से कर सकते हैं रास्पबेरी पाई पिको के साथ एक पोटेंशियोमीटर सेट करें या अरुडिनो।
रोटरी एनकोडर क्या है?
रोटरी एनकोडर जिस डिवाइस से जुड़े हैं, उसे एनालॉग या डिजिटल सिग्नल प्रदान करने के लिए सेंसर का उपयोग करके अपने शाफ्ट की स्थिति निर्धारित करते हैं। यह डिवाइस को बताता है कि एनकोडर किस स्थिति में है। रोटेटिंग शाफ्ट के साथ, रोटरी एनकोडर में आमतौर पर एक बिल्ट-इन बटन भी होता है जो शाफ्ट को नीचे की ओर धकेलने से सक्रिय होता है।
पोटेंशियोमीटर के विपरीत, रोटरी एनकोडर बिना रुके मुड़ सकते हैं, और शाफ्ट की प्रत्येक स्थिति के लिए उनके पास लगभग हमेशा स्पर्श बाधा होती है। कई आधुनिक कारें अपने मनोरंजन सिस्टम को नियंत्रित करने के लिए रोटरी एनकोडर का उपयोग करती हैं।
कैसे एक Arduino के साथ एक पोटेंशियोमीटर का उपयोग करें
उनके सरल डिजाइन के लिए धन्यवाद, एक Arduino के साथ एक पोटेंशियोमीटर का उपयोग करना सरल है। आपके पोटेंशियोमीटर में तीन कनेक्टर हैं: ग्राउंड, आउटपुट और vref। जमीन और vref पिन क्रमशः आपके Arduino पर GND और 5V कनेक्टर्स से जुड़ते हैं, जबकि पोटेंशियोमीटर का आउटपुट पिन आपके बोर्ड के किसी एक एनालॉग इनपुट से कनेक्ट होता है।
Arduino पोटेंशियोमीटर कोड
आपका Arduino पोटेंशियोमीटर कोड बेसिक से शुरू होता है स्थापित करना() और कुंडली() टेम्प्लेट जिसे आप Arduino IDE में एक नई फ़ाइल बनाते समय देखेंगे। सबसे पहले, एक जोड़ें स्थिरांक int पॉट के एनालॉग पिन कनेक्शन को पंजीकृत करने के लिए कोड की शुरुआत में चर - इस मामले में, A0।
कॉन्स्टint यहाँ विभवमापी = A0;
इसके बाद, द स्थापित करना() कार्य सरल है: आपको बस अपने पोटेंशियोमीटर के पिन को इनपुट के रूप में घोषित करने की आवश्यकता है। यदि आप डायग्नोस्टिक्स के लिए अपने पीसी पर डेटा भेजना चाहते हैं तो आप एक सीरियल कनेक्शन भी शुरू कर सकते हैं।
खालीपनस्थापित करना(){
पिनमोड (पोटेंशियोमीटर, INPUT);
धारावाहिक।शुरू(9600);
}
अगला, इसे स्थापित करने का समय है कुंडली() समारोह। एक बनाकर प्रारंभ करें int यहाँ चर का उपयोग कर एनालॉगरीड () अपने पोटेंशियोमीटर की स्थिति को स्टोर करने के लिए कार्य करें। इसके बाद आप इसका इस्तेमाल कर सकते हैं नक्शा() आप जिस मूल्य के साथ काम कर रहे हैं, उसके आकार को कम करने के लिए फ़ंक्शन - इस उदाहरण में PWM विनिर्देशों से मेल खाने के लिए, उदाहरण के लिए एक एलईडी की चमक को नियंत्रित करने के लिए। स्थिरता सुनिश्चित करने के लिए एक छोटा विलंब जोड़ें।
खालीपनकुंडली(){
int यहाँ पोटेंशियोमीटर वैल्यू = एनालॉगरीड (पोटेंशियोमीटर);
नक्शा (पोटेंशियोमीटरवैल्यू, 0, 1023, 0, 255);
धारावाहिक.println(पोटेंशियोमीटर वैल्यू);
देरी (10);
}
अब जब आपके पास अपने पोटेंशियोमीटर की स्थिति है, तो आप इसे कोड के अन्य भागों के साथ उपयोग कर सकते हैं। उदाहरण के लिए, ए अगर पोटेंशियोमीटर एक विशिष्ट स्थिति में होने पर कोड को ट्रिगर करने के लिए स्टेटमेंट अच्छा काम करेगा।
कॉन्स्टint यहाँ विभवमापी = A0;
खालीपनस्थापित करना(){
पिनमोड (पोटेंशियोमीटर, INPUT);
धारावाहिक।शुरू(9600);
}
खालीपनकुंडली(){
int यहाँ पोटेंशियोमीटर वैल्यू = एनालॉगरीड (पोटेंशियोमीटर);
नक्शा (पोटेंशियोमीटरवैल्यू, 0, 1023, 0, 255);
धारावाहिक.println(पोटेंशियोमीटर वैल्यू);
देरी (10);
}
Arduino के साथ रोटरी एनकोडर का उपयोग कैसे करें
रोटरी एनकोडर को पोटेंशियोमीटर की तुलना में अधिक जटिल कोड की आवश्यकता होती है, लेकिन वे अभी भी काम करने में काफी आसान हैं। आपके रोटरी एनकोडर में पाँच पिन हैं: ग्राउंड, VCC, एक बटन पिन (SW), आउटपुट A (CLK), और आउटपुट B (DT)। ग्राउंड और VCC पिन क्रमशः आपके Arduino पर ग्राउंड और 5V कनेक्टर्स से जुड़ते हैं, जबकि SW, CLK और BT पिन Arduino पर अलग-अलग डिजिटल कनेक्टर से कनेक्ट होते हैं।
Arduino रोटरी एनकोडर कोड
हमारे कोड को सरल और काम करने में आसान बनाने के लिए, हम MPrograms द्वारा बनाई गई SimpleRotary Arduino लाइब्रेरी का उपयोग करेंगे GitHub. अपने कोड पर काम करना शुरू करने से पहले सुनिश्चित करें कि आपके पास यह लाइब्रेरी स्थापित है।
अपने पोटेंशियोमीटर कोड की तरह, आप अपनी रोटरी एनकोडर स्क्रिप्ट को मूल Arduino के साथ शुरू कर सकते हैं स्थापित करना() और कुंडली() समारोह टेम्पलेट। SimpleRotary लाइब्रेरी की घोषणा करके और इस क्रम में अपने एन्कोडर पिन असाइन करके प्रारंभ करें; सीएलके, डीटी, और दप।
#शामिल करना
सिंपलरोटरी रोटरी(1,2,3);
आपको अपने में कुछ भी जोड़ने की आवश्यकता नहीं है स्थापित करना() जब तक आप अपने रोटरी एन्कोडर का निदान करने के लिए सीरियल मॉनीटर का उपयोग नहीं करना चाहते हैं।
खालीपनस्थापित करना(){
धारावाहिक।शुरू(9600);
}
कुंडली() समारोह एक अलग कहानी है। एन्कोडर शाफ्ट के घूर्णन का निर्धारण ए से शुरू होता है रोटरी.रोटेट () फ़ंक्शन कॉल जो एक को सौंपा गया है int यहाँ चर। यदि परिणाम 1 है, तो एनकोडर दक्षिणावर्त घूम रहा है। यदि परिणाम 2 है, तो एनकोडर वामावर्त घूम रहा है। यदि अंतिम जांच के बाद से एनकोडर चालू नहीं हुआ है तो परिणाम हमेशा 0 होगा।
आप उपयोग कर सकते हैं अगर एनकोडर के रोटेशन की दिशा के आधार पर अन्य कोड को ट्रिगर करने के लिए बयान।
खालीपनकुंडली(){
int यहाँ एनकोडररोटेशन;
एनकोडररोटेशन = रोटरी.रोटेट ();अगर (एनकोडर रोटेशन == 1) {
सीरियल.प्रिंटल ("दक्षिणावर्त");
}
अगर (एनकोडर रोटेशन == 2) {
सीरियल.प्रिंटल ("वामावर्त");
}
}
आपको अपने एनकोडर के बटन के लिए कुछ कोड भी जोड़ना होगा कुंडली() समारोह। यह प्रक्रिया बहुत समान है, सिवाय इसके कि आप इसका उपयोग करेंगे रोटरी.पुश () कार्य, बजाय रोटरी.रोटेट ().
खालीपनकुंडली(){
int यहाँ एनकोडर बटन;
एनकोडरबटन = रोटरी.पुश ();
अगर (एनकोडरबटन == 1) {
सीरियल.प्रिंटल ("बटन दबाया");
}
}
यह स्क्रिप्ट काफी सरल है, और आप इसे अपना बनाने के लिए बहुत कुछ कर सकते हैं। यह सुनिश्चित करने के लिए कि आप इसकी सभी प्रमुख विशेषताओं का उपयोग कर रहे हैं, यह सुनिश्चित करने के लिए SimpleRotary प्रोजेक्ट प्रलेखन की जाँच करना उचित है। एक साथ रखने के बाद, आपका एनकोडर कोड इस तरह दिखना चाहिए।
#शामिल करना
सिंपलरोटरी रोटरी(1,2,3);खालीपनस्थापित करना(){
धारावाहिक।शुरू(9600);
}खालीपनकुंडली(){
int यहाँ एनकोडररोटेशन;
एनकोडररोटेशन = रोटरी.रोटेट ();अगर (एनकोडर रोटेशन == 1) {
सीरियल.प्रिंटल ("दक्षिणावर्त");
}अगर (एनकोडर रोटेशन == 2) {
सीरियल.प्रिंटल ("वामावर्त");
}int यहाँ एनकोडर बटन;
एनकोडरबटन = रोटरी.पुश ();
अगर (एनकोडरबटन == 1) {
सीरियल.प्रिंटल ("बटन दबाया");
}
}
परियोजनाओं के लिए पोटेंशियोमीटर और रोटरी एनकोडर के बीच चयन कैसे करें
जैसा कि आप देख सकते हैं, रोटरी एनकोडर और पोटेंशियोमीटर काफी अलग तरीके से काम करते हैं। ये दोनों घटक आपको अपनी इलेक्ट्रॉनिक्स परियोजनाओं को नियंत्रित करने के नए तरीके प्रदान करते हैं, लेकिन आपको किसे चुनना चाहिए?
पोटेंशियोमीटर सस्ती और उपयोग में आसान हैं, लेकिन केवल एक सीमित इनपुट रेंज की अनुमति देते हैं। जब आप एक एलईडी की चमक को नियंत्रित करना चाहते हैं, या विशिष्ट घटकों और अन्य समान कार्यों के लिए जाने वाली शक्ति को बढ़ाना और कम करना चाहते हैं, तो यह उन्हें बहुत अच्छा बनाता है।
पोटेंशियोमीटर की तुलना में रोटरी एनकोडर बहुत अधिक गुंजाइश प्रदान करते हैं। पुश बटन को शामिल करने का अर्थ है कि वे मेनू नियंत्रण प्रणाली के लिए बहुत अच्छे हैं, जैसा कि कई आधुनिक कारों में देखा गया है। मैकेनिकल कीबोर्ड बिल्डिंग स्पेस में इस प्रकार का घटक बहुत लोकप्रिय हो गया है। आप यह भी एक छोटा मैक्रोपैड बनाएँ एक अंतर्निहित एनकोडर के साथ।
समान रूप, विभिन्न घटक
इस सारी जानकारी के साथ, आपको एक पोटेंशियोमीटर या रोटरी एनकोडर के साथ एक इलेक्ट्रॉनिक्स प्रोजेक्ट शुरू करने के लिए तैयार रहना चाहिए। ये घटक आपके द्वारा निर्मित सर्किट पर आपको बहुत अधिक नियंत्रण दे सकते हैं, लेकिन आपको यह सुनिश्चित करने की आवश्यकता है कि आप अपनी परियोजना के लिए सही विकल्प चुनते हैं।