विषयसूची:
वीडियो: रोटरी एनकोडर - इसे समझें और इसका उपयोग करें (Arduino/अन्य नियंत्रक): ३ चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
रोटरी एनकोडर एक इलेक्ट्रो-मैकेनिकल डिवाइस है जो घूर्णी गति को डिजिटल या एनालॉग जानकारी में परिवर्तित करता है। यह दक्षिणावर्त या वामावर्त घूम सकता है। रोटरी एन्कोडर दो प्रकार के होते हैं: निरपेक्ष और सापेक्ष (वृद्धिशील) एन्कोडर।
जबकि एक निरपेक्ष एनकोडर वर्तमान शाफ्ट कोण के समानुपाती मान को आउटपुट करता है, एक वृद्धिशील एनकोडर शाफ्ट के चरण और उसकी दिशा को आउटपुट करता है। (इस मामले में हमारे पास एक वृद्धिशील एन्कोडर है)
रोटरी एन्कोडर अधिक लोकप्रिय हो रहे हैं क्योंकि आप एक विद्युत मॉड्यूल में दो कार्यों का उपयोग करने में सक्षम हैं: संचालन की पुष्टि के लिए एक सरल स्विच और नेविगेट करने के लिए रोटरी एन्कोडर, उदा। एक मेनू के माध्यम से।
एक वृद्धिशील रोटरी एनकोडर दो आउटपुट सिग्नल उत्पन्न करता है जबकि इसका शाफ्ट घूम रहा होता है। दिशा के आधार पर, संकेतों में से एक दूसरे की ओर जाता है। (निचे देखो)
चरण 1: आउटपुट डेटा को समझना
जैसा कि आप देख सकते हैं कि जब एन्कोडर शाफ्ट दक्षिणावर्त घूमना शुरू करता है, तो आउटपुट ए पहले कम हो जाता है और आउटपुट बी इसके बाद आता है। एक वामावर्त दिशा में ऑपरेशन विपरीत हो जाता है।
अब हमें इसे अपने µController (मैंने एक Arduino नैनो का इस्तेमाल किया) पर लागू करना है।
चरण 2: सर्किट बनाएँ
जैसा कि मैंने पहले बताया था कि आउटपुट एक हाई और लो फ्लैंक बनाते हैं। µकंट्रोलर के डेटा पिन A और B पर एक क्लीन हाई प्राप्त करने के लिए हमें पुल-अप रेसिस्टर्स को जोड़ना होगा। सामान्य पिन सी LOW फ्लैंक के लिए सीधे जमीन पर जाता है।
आंतरिक स्विच (पुश-बटन) के बारे में जानकारी प्राप्त करने के लिए हम अन्य दो पिनों का उपयोग करेंगे। उनमें से एक वीसीसी में जाता है और दूसरा माइक्रोकंट्रोलर के डेटा पिन पर जाता है। स्वच्छ LOW प्राप्त करने के लिए हमें डेटा पिन में एक पुल-डाउन रेसिस्टर भी जोड़ना होगा।
आपके माइक्रोकंट्रोलर के आंतरिक पुल-अप और पुल-डाउन प्रतिरोधों का उपयोग करना भी संभव है!
मेरे मामले में पिनआउट इस तरह दिखता है:
- +3, 3V => +3, 3V (Arduino) (भी +5V संभव)
- GND => GND (Arduino)
- ए => पिन10
-
बी =>
पिन
11
- सी => जीएनडी
-
दप =>
पिन
12
चरण 3: कोड लिखना
इंट पिनए = 10; // आंतरिक स्विच ए इंट पिनबी = 11; // आंतरिक स्विच बी इंट पिनएसडब्ल्यू = 12; // स्विच (दबाया गया एनकोडर) int encoderPosCount = 0; // शून्य से शुरू होता है, अगर आप चाहें तो बदल दें
इंट पोजिशनवल;
बूल स्विचवाल; इंट मोटेटलास्ट; इंट मरोटेट;
व्यर्थ व्यवस्था() {
int mrotateLast = digitalRead (pinA); सीरियल.बेगिन (९६००); देरी (50); }
शून्य लूप () {readencoder (); अगर (रीडस्विच () == 1) {Serial.println ("स्विच = 1"); } }
इंट रीडएनकोडर (){
mrotate = digitalRead (pinA); if (mrotate != mrotateLast){//knob रोटेट हो रहा है if (digitalRead(pinB) != mrotate) {//switch A पहले बदल गया -> क्लॉकवाइज एनकोडरPosCount ++ को घुमाएं; Serial.println ("घड़ी की दिशा में घुमाया गया"); } और {// स्विच बी पहले बदला गया -> वामावर्त घुमाते हुए एन्कोडरपॉसकाउंट--; Serial.println ("घूर्णन वामावर्त"); }
Serial.print ("एनकोडर स्थिति:"); Serial.println(encoderPosCount); सीरियल.प्रिंट्लन (""); } मरोटेट लास्ट = मरोटेट; वापसी एनकोडरPosCount; } बूल रीडस्विच (){
अगर (डिजिटल रीड (पिनएसडब्ल्यू)! = 0) {// स्विच दबाया जाता है
जबकि (डिजिटल रीड (पिनएसडब्ल्यू)! = 0) {} // स्विच वर्तमान में स्विचवाल = 1 दबाया जाता है; } और {स्विचवल = 0;} // स्विच अप्रेस्ड रिटर्न स्विचवाल है; }
अब आप एन्कोडर को चालू कर सकते हैं और यदि आप दक्षिणावर्त घुमाते हैं तो वेरिएबल एन्कोडरपॉसकाउंट की गिनती होगी और यदि आप वामावर्त घुमाते हैं तो उलटी गिनती करें।
इतना ही! सरल और उपयोगी।
कोड को बदलने और निष्पादित करने के लिए स्वतंत्र महसूस करें। आप इसे अपने प्रोजेक्ट में लागू कर सकते हैं।
मैं एक एलईडी प्रोजेक्ट भी अपलोड करूंगा जहां मैंने अपने एल ई डी की चमक सेट करने के लिए एन्कोडर का उपयोग किया था।
सिफारिश की:
रोटरी एनकोडर के रूप में स्टेपर मोटर का उपयोग करें: 9 कदम (चित्रों के साथ)
रोटरी एनकोडर के रूप में स्टेपर मोटर का उपयोग करें: माइक्रोकंट्रोलर परियोजनाओं में इनपुट डिवाइस के रूप में उपयोग के लिए रोटरी एन्कोडर बहुत अच्छे हैं लेकिन उनका प्रदर्शन बहुत सहज और संतोषजनक नहीं है। इसके अलावा, बहुत सारे स्पेयर स्टेपर मोटर्स होने के कारण, मैंने उन्हें एक उद्देश्य देने का फैसला किया। तो अगर कुछ स्टेपर है
स्टेपर मोटर को रोटरी एनकोडर और OLED डिस्प्ले के रूप में चरणों के लिए कैसे उपयोग करें: 6 कदम
स्टेपर मोटर को रोटरी एनकोडर और OLED डिस्प्ले के रूप में स्टेप्स के लिए कैसे उपयोग करें: इस ट्यूटोरियल में हम सीखेंगे कि OLED डिस्प्ले पर स्टेपर मोटर स्टेप्स को कैसे ट्रैक किया जाए। एक प्रदर्शन वीडियो देखें। मूल ट्यूटोरियल का श्रेय youtube उपयोगकर्ता "sky4fly"
Arduino नैनो का उपयोग कर रोटरी एनकोडर: 4 चरण
Arduino नैनो का उपयोग करते हुए रोटरी एनकोडर: सभी को नमस्कार, इस लेख में मैं Arduino Nano का उपयोग करके रोटरी एनकोडर का उपयोग करने के तरीके के बारे में एक ट्यूटोरियल बनाऊंगा। इस रोटरी एन्कोडर का उपयोग करने के लिए आपको बाहरी पुस्तकालय की आवश्यकता नहीं है। इसलिए हम पहले पुस्तकालयों को जोड़े बिना सीधे प्रोग्राम बना सकते हैं। ठीक है चलो शुरू करते हैं
रोटरी एनकोडर: यह कैसे काम करता है और Arduino के साथ कैसे उपयोग करें: 7 कदम
रोटरी एनकोडर: यह कैसे काम करता है और Arduino के साथ कैसे उपयोग करें: आप इलेक्ट्रोपीक की आधिकारिक वेबसाइट पर इसे और अन्य अद्भुत ट्यूटोरियल पढ़ सकते हैं। सबसे पहले, आप घूर्णी एन्कोडर के बारे में कुछ जानकारी देखेंगे, और फिर आप सीखेंगे कि कैसे
रोटरी एनकोडर का उपयोग करते हुए Nokia 5110 Lcd पर Arduino मेनू: 6 चरण (चित्रों के साथ)
एक रोटरी एनकोडर का उपयोग करते हुए Nokia 5110 Lcd पर Arduino मेनू: प्रिय दोस्तों दूसरे ट्यूटोरियल में आपका स्वागत है! इस वीडियो में हम सीखेंगे कि लोकप्रिय नोकिया 5110 एलसीडी डिस्प्ले के लिए अपना खुद का मेनू कैसे बनाया जाए, ताकि हमारी परियोजनाओं को अधिक उपयोगकर्ता के अनुकूल और अधिक सक्षम बनाया जा सके। चलिए शुरू करते हैं!यह परियोजना है