সুচিপত্র:
ভিডিও: রোটারি এনকোডার - এটা বুঝুন এবং ব্যবহার করুন (Arduino/অন্যান্য ontController): 3 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
একটি ঘূর্ণমান এনকোডার একটি ইলেক্ট্রো-মেকানিক্যাল ডিভাইস যা ঘূর্ণন গতিকে ডিজিটাল বা এনালগ তথ্যে রূপান্তর করে। এটি ঘড়ির কাঁটার দিকে বা ঘড়ির কাঁটার বিপরীত দিকে ঘুরতে পারে। দুটি ধরণের ঘূর্ণমান এনকোডার রয়েছে: পরম এবং আপেক্ষিক (বর্ধিত) এনকোডার।
যখন একটি নিখুঁত এনকোডার বর্তমান খাদ কোণের সমানুপাতিক একটি মান আউটপুট করে, একটি বর্ধিত এনকোডার খাদ এবং তার দিকের ধাপ আউটপুট করে। (এই ক্ষেত্রে আমাদের একটি বর্ধিত এনকোডার আছে)
রোটারি এনকোডারগুলি আরও জনপ্রিয় হয়ে উঠছে কারণ আপনি একটি বৈদ্যুতিক মডিউলে দুটি ফাংশন ব্যবহার করতে সক্ষম: অপারেশন নিশ্চিত করার জন্য একটি সহজ সুইচ এবং নেভিগেট করার জন্য রোটারি এনকোডার, যেমন একটি মেনুর মাধ্যমে।
একটি ক্রমবর্ধমান ঘূর্ণমান এনকোডার দুটি আউটপুট সংকেত তৈরি করে যখন তার খাদ ঘুরছে। দিকের উপর নির্ভর করে, একটি সংকেত অন্যটিকে নেতৃত্ব দেয়। (নিচে দেখ)
ধাপ 1: আউটপুট ডেটা বোঝা
আপনি দেখতে পাচ্ছেন কখন এনকোডার শাফট ঘড়ির কাঁটার দিকে ঘুরতে শুরু করে, আউটপুট A প্রথমে LOW তে পড়ে এবং আউটপুট B এটি অনুসরণ করে। ঘড়ির কাঁটার বিপরীত দিকে অপারেশনটি বিপরীত দিকে মোড় নেয়।
এখন আমাদের আমাদের ontController এ এটি বাস্তবায়ন করতে হবে (আমি একটি Arduino Nano ব্যবহার করেছি)।
ধাপ 2: সার্কিট তৈরি করুন
আউটপুট একটি উচ্চ এবং একটি নিম্ন পার্শ্ব তৈরি করার আগে আমি বর্ণিত হিসাবে। PinController এর ডেটা পিন A এবং B এ একটি পরিষ্কার উচ্চতা পেতে আমাদের পুল-আপ প্রতিরোধক যোগ করতে হবে। সাধারণ পিন সি LOW ফ্ল্যাঙ্কের জন্য সরাসরি মাটিতে চলে যায়।
অভ্যন্তরীণ সুইচ (পুশ-বোতাম) সম্পর্কে তথ্য পেতে আমরা অন্য দুটি পিন ব্যবহার করব। তাদের মধ্যে একটি VCC এবং অন্যটি dataController এর একটি ডেটা পিনে যায়। একটি পরিষ্কার LOW পেতে আমাদের ডাটা পিনে একটি পুল-ডাউন রেসিস্টর যুক্ত করতে হবে।
আপনার ont কন্ট্রোলারের অভ্যন্তরীণ পুল-আপ এবং পুল-ডাউন প্রতিরোধক ব্যবহার করাও সম্ভব!
আমার ক্ষেত্রে পিনআউট এর মত দেখাচ্ছে:
- +3, 3V => +3, 3V (Arduino) (এছাড়াও +5V সম্ভব)
- GND => GND (Arduino)
- A => Pin10
-
বি =>
পিন
11
- সি => জিএনডি
-
SW =>
পিন
12
ধাপ 3: কোড লেখা
int pinA = 10; // অভ্যন্তরীণ সুইচ A int pinB = 11; // অভ্যন্তরীণ সুইচ B int pinSW = 12; // সুইচ (চাপা এনকোডার) int encoderPosCount = 0; // শূন্য থেকে শুরু হয়, আপনি চাইলে পরিবর্তন করুন
int positionval;
বুল সুইচভাল; int mrotateLast; int mrotate;
অকার্যকর সেটআপ() {
int mrotateLast = digitalRead (pinA); Serial.begin (9600); বিলম্ব (50); }
অকার্যকর লুপ () {রিডেনকোডার (); যদি (readswitch () == 1) {Serial.println ("Switch = 1"); }}
int readencoder () {
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// knob ঘুরছে if (digitalRead (pinB)! = mrotate) {// switch A changed first -> rotating clockwise encoderPosCount ++; Serial.println ("ঘড়ির কাঁটার দিকে ঘোরানো"); } অন্যথায় {// সুইচ বি প্রথমে পরিবর্তিত হয়েছে- Serial.println ("ঘড়ির কাঁটার বিপরীতে ঘোরানো"); }
সিরিয়াল.প্রিন্ট ("এনকোডার অবস্থান:"); Serial.println (encoderPosCount); Serial.println (""); } mrotateLast = mrotate; ফেরত encoderPosCount; } বুল রিডসুইচ () {
যদি (digitalRead (pinSW)! = 0) {// সুইচ চাপানো হয়
while (digitalRead (pinSW)! = 0) {} // সুইচটি বর্তমানে সুইচভাল = 1 টিপানো হয়েছে; } অন্যথায় {সুইচভাল = 0;} // সুইচটি আনপ্রেসড রিটার্ন সুইচভাল; }
এখন আপনি এনকোডারটি চালু করতে পারেন এবং পরিবর্তনশীল encoderPosCount গণনা করা হবে যদি আপনি ঘড়ির কাঁটার দিকে ঘোরান এবং যদি আপনি ঘড়ির কাঁটার বিপরীত দিকে ঘুরান তাহলে নিচে গণনা করা হবে।
এটাই! সহজভাবে এবং দরকারী।
কোড পরিবর্তন এবং নির্দ্বিধায় সঞ্চালন। আপনি আপনার প্রকল্পে এটি বাস্তবায়ন করতে পারেন।
আমি একটি LED প্রকল্পও আপলোড করব যেখানে আমি আমার LEDs এর উজ্জ্বলতা সেট করতে এনকোডার ব্যবহার করেছি।
প্রস্তাবিত:
রোটারি এনকোডার হিসাবে একটি স্টেপার মোটর ব্যবহার করুন: 9 টি ধাপ (ছবি সহ)
একটি রোটারি এনকোডার হিসাবে একটি স্টেপার মোটর ব্যবহার করুন: একটি ইনপুট ডিভাইস হিসেবে মাইক্রোকন্ট্রোলার প্রকল্পে ব্যবহারের জন্য রোটারি এনকোডারগুলি দারুণ কিন্তু তাদের কর্মক্ষমতা খুব মসৃণ এবং সন্তোষজনক নয়। এছাড়াও, আশেপাশে প্রচুর অতিরিক্ত স্টেপার মোটর থাকার কারণে, আমি তাদের একটি উদ্দেশ্য দেওয়ার সিদ্ধান্ত নিয়েছি। তাই যদি কিছু স্টেপার থাকে
XYZ পয়েন্ট স্ক্যানার উদ্ধার করা রোটারি এনকোডার ব্যবহার করে: 5 টি ধাপ
উদ্ধার করা রোটারি এনকোডার ব্যবহার করে XYZ পয়েন্ট স্ক্যানার: আমার কর্মস্থল থেকে প্রচুর পরিমাণে ফেলে দেওয়া রোটারি অপটিক্যাল এনকোডার অর্জন করার পর, আমি অবশেষে তাদের সাথে কিছু মজা/উপকারী করার সিদ্ধান্ত নিয়েছি। আমি সম্প্রতি আমার বাড়ির জন্য একটি নতুন 3D প্রিন্টার কিনেছি এবং কি এটি একটি 3D গুলির চেয়ে ভাল প্রশংসা করতে পারে
স্টেপার মোটরকে রোটারি এনকোডার এবং ওএলইডি ডিসপ্লে হিসেবে কিভাবে ব্যবহার করতে হয়: 6 টি ধাপ
স্টেপার মোটরকে রোটারি এনকোডার এবং OLED ডিসপ্লে হিসেবে কিভাবে ব্যবহার করবেন: এই টিউটোরিয়ালে আমরা শিখব কিভাবে OLED ডিসপ্লেতে স্টেপার মোটর স্টেপ ট্র্যাক করতে হয়। একটি প্রদর্শনী ভিডিও দেখুন। মূল টিউটোরিয়ালের ক্রেডিট ইউটিউব ব্যবহারকারীর কাছে যায় " sky4fly "
Arduino Nano ব্যবহার করে রোটারি এনকোডার: 4 টি ধাপ
Arduino Nano ব্যবহার করে রোটারি এনকোডার: হাই সবাই, এই আর্টিকেলে আমি Arduino Nano ব্যবহার করে কিভাবে একটি রোটারি এনকোডার ব্যবহার করব তার একটি টিউটোরিয়াল তৈরি করব। এই রোটারি এনকোডার ব্যবহার করার জন্য আপনার বাহ্যিক লাইব্রেরির প্রয়োজন নেই। তাই আমরা প্রথমে লাইব্রেরি যোগ না করে সরাসরি প্রোগ্রাম তৈরি করতে পারি। ঠিক আছে শুরু করা যাক
রোটারি এনকোডার: এটি কিভাবে কাজ করে এবং কিভাবে Arduino এর সাথে ব্যবহার করতে হয়: 7 টি ধাপ
রোটারি এনকোডার: এটি কিভাবে কাজ করে এবং কিভাবে Arduino এর সাথে ব্যবহার করতে হয়: আপনি এই এবং অন্যান্য আশ্চর্যজনক টিউটোরিয়ালগুলি ইলেক্ট্রোপিকের অফিসিয়াল ওয়েবসাইট ওভারভিউ পড়তে পারেন প্রথমে, আপনি ঘূর্ণনশীল এনকোডার সম্পর্কে কিছু তথ্য দেখতে পাবেন এবং তারপরে আপনি কীভাবে শিখবেন