আরডুইনো পোটেনটিওমিটার এবং রোটারি এনকোডারের মধ্যে পার্থক্য কী?

Aradu Ino Potenati Omitara Ebam Rotari Enakodarera Madhye Parthakya Ki



পটেনশিওমিটার এবং ঘূর্ণমান এনকোডার উভয়ই ঘূর্ণন বা অনুভূতির অবস্থান সনাক্ত করতে ব্যবহৃত হয়। এগুলি ইলেক্ট্রোমেকানিকাল ডিভাইস যা ইলেকট্রনিক্সের ক্ষেত্রে বিভিন্ন অ্যাপ্লিকেশন সহ ব্যবহৃত হয়। তারা বিভিন্ন প্রকল্প তৈরি করার জন্য Arduino এর সাথে ইন্টারফেস করা যেতে পারে। এই নিবন্ধটি একটি potentiometer এবং একটি ঘূর্ণমান এনকোডার মধ্যে মৌলিক পার্থক্য প্রদর্শন করা হয়.

একটি পটেনশিওমিটার কি

একটি potentiometer হল একটি রিওস্ট্যাট, বা আমরা একে একটি পরিবর্তনশীল প্রতিরোধক বলতে পারি। পটেনটিওমিটারের শ্যাফ্ট ঘূর্ণন অনুযায়ী প্রতিরোধের মান পরিবর্তিত হয়। পটেনশিওমিটার শুধুমাত্র একটি নির্দিষ্ট দূরত্বে ঘুরতে পারে। অ্যানালগ এবং ডিজিটাল potentiometers উভয় আছে, কিন্তু তারা প্রায় একই রকম। অ্যানালগ পটেনটিওমিটারগুলিকে আরডুইনো, রাস্পবেরি পাই এবং অন্যান্য ডিভাইসে মাইক্রোকন্ট্রোলারের সাথে ইন্টারফেস করা যেতে পারে। একটি পটেনশিওমিটারে তিনটি পিন থাকে যা ইনপুট ভোল্টেজ পিন Vcc, গ্রাউন্ড পিন GND এবং ইনপুট সিগন্যাল পিন। সংকেত পিন Arduino ইনপুট প্রদান করে.









একটি ঘূর্ণমান এনকোডার কি

ঘূর্ণমান এনকোডারগুলি ঘূর্ণমান গাঁটের কৌণিক অবস্থান অনুধাবন করে এবং মাইক্রোকন্ট্রোলার বা অন্য কোন ডিভাইসে একটি সংকেত পাঠায় যার সাথে তারা সংযুক্ত থাকে। এটিতে সমানভাবে ব্যবধানযুক্ত যোগাযোগ অঞ্চলগুলির সাথে একটি ডিস্ক রয়েছে যা একটি সাধারণ পিনের সাথে সংযুক্ত থাকে। রোটারি এনকোডারগুলিতে একটি অন্তর্নির্মিত পুশ বোতাম বা ঘূর্ণমান সুইচ রয়েছে যা নির্দিষ্ট প্রয়োজনীয়তা অনুসারে চালু এবং বন্ধ সংকেত দেয়।







পিনআউট ডায়াগ্রাম এবং রোটারি এনকোডারের পিন বিবরণ

নীচের চিত্রটি ঘূর্ণমান এনকোডারের পিনগুলি দেখায়। এই পিনগুলি নিম্নরূপ বর্ণনা করা হয়েছে:

বি বা CLK আউট



এই পিনটি একটি আউটপুট দেয় যে নব বা ঘূর্ণমান এনকোডারটি কতবার ঘোরানো হয়েছে। প্রতিবার যখন গাঁটটি ঘোরানো হয়, CLK উচ্চ এবং নিম্নের একটি চক্র সম্পূর্ণ করে। এটি একটি ঘূর্ণন হিসাবে গণনা করা হয়।

আউট এ বা ডিটি

এটি ঘূর্ণমান এনকোডারের দ্বিতীয় আউটপুট পিন যা ঘূর্ণনের দিক নির্ধারণ করে। এটি CLK সংকেত থেকে 90° পিছিয়ে আছে। অতএব, যদি এর অবস্থা CLK-এর অবস্থার সমান না হয় তবে ঘূর্ণনের দিকটি ঘড়ির কাঁটার দিকে, অন্যথায়, ঘড়ির কাঁটার বিপরীতে।

সুইচ

সুইচ পিনটি পুশ বোতাম টিপছে কিনা তা পরীক্ষা করতে ব্যবহৃত হয়।

ভিসিসি

এই পিনটি একটি 5V সরবরাহের সাথে সংযুক্ত

জিএনডি

এই পিনটি মাটির সাথে সংযুক্ত

পটেনশিওমিটার এবং রোটারি এনকোডারের মধ্যে পার্থক্য

স্পেসিফিকেশন পটেনশিওমিটার রোটারি এনকোডার
ঘূর্ণন পটেনশিওমিটারকে শুধুমাত্র একটি দিকে ঘোরানো যায়, এবং তাও একটি বৃত্তের তিন-চতুর্থাংশের জন্য। রোটারি এনকোডার ঘড়ির কাঁটার দিকে এবং ঘড়ির কাঁটার বিপরীত দিকে 360° একটানা ঘোরাতে সক্ষম।
এনালগ বা ডিজিটাল ডিভাইস পোটেনটিওমিটার বেশিরভাগই একটি অ্যানালগ ইনপুট ডিভাইস যা একটি প্রতিরোধকের মান পরিবর্তনের মাধ্যমে অবস্থানের পরিবর্তন পরিমাপ করে একটি ঘূর্ণমান এনকোডার একটি ডিজিটাল ইনপুট ডিভাইস যা কৌণিক অবস্থান অনুধাবন করে এবং ডিজিটাল মান প্রদান করে।

ইনপুট অবস্থানের সংখ্যা একটি পটেনশিওমিটারে অসীম সংখ্যক ইনপুট অবস্থান রয়েছে যার উপর মানগুলি নেওয়া যেতে পারে কারণ এটি একটি এনালগ ডিভাইস রোটারি এনকোডারের ইনপুট পজিশনের একটি সীমিত সংখ্যক রয়েছে।

আরডুইনো দিয়ে পটেনশিওমিটার সেট আপ করা

রোটারি এনকোডারের চেয়ে আরডুইনো দিয়ে পোটেনটিওমিটার সেট আপ করা সহজ। পোটেনটিওমিটারে মাত্র তিনটি পিন VCC, GND এবং একটি INPUT পিন রয়েছে যা Arduino এর সাথে সংযুক্ত। Arduino সঙ্গে potentiometer এর ইন্টারফেসিং নীচে দেখানো হয়েছে:

আরডুইনোতে পোটেনটিওমিটার প্রোগ্রামিং ঘূর্ণমান এনকোডারের চেয়ে সহজ। নীচে তাদের উভয়ের জন্য নমুনা সিনট্যাক্স কোড দেওয়া হল।

পটেনশিওমিটারের নমুনা কোড

const int pot = A0; // ইনপুট পিন ঘোষণা করুন
অকার্যকর সেটআপ ( ) {
   পিনমোড ( পাত্র, ইনপুট ) ; // সেটআপ মান potentiometer থেকে নেওয়া হিসাবে ইনপুট
সিরিয়াল.শুরু ( 9600 ) ;
}
অকার্যকর লুপ ( ) {
int potValue = analogRead ( পাত্র ) ; // পটেনটিওমিটার দ্বারা নেওয়া ইনপুটের মান পড়ুন
মানচিত্র ( পটমূল্য, 0 , 1023 , 0 , 255 ) ; // ম্যাচ করার জন্য ইনপুটের মান স্কেল করা 8 -বিট
Serial.println ( potValue ) ; // প্রিন্ট মান যা পোটেনটিওমিটারে ইনপুট করা হয়েছিল
বিলম্ব ( 100 ) ;
}

potentiometer কোড খুব সহজ এবং সহজ. আরডুইনোর অ্যানালগ ইনপুট পিনটিকে কেবলমাত্র পটেনটিওমিটার থেকে ইনপুট নেওয়ার জন্য ঘোষণা করা হয় এবং তারপরে অ্যানালগরিড() এবং ম্যাপ() ফাংশনগুলি পড়তে এবং পটেনটিওমিটার থেকে পড়ার সঠিক মান দিতে ব্যবহৃত হয়।

আরডুইনোর সাথে রোটারি এনকোডার ইন্টারফেসিং

রোটারি এনকোডারে পাঁচটি পিন রয়েছে। রোটারি এনকোডারের ভিসিসি এবং জিএনডি আরডুইনোর সাথে সংযুক্ত। অবশিষ্ট পিন CLK, DT, এবং SW আরডুইনোর ডিজিটাল ইনপুট পিনের সাথে সংযুক্ত।

রোটারি এনকোডারের জন্য Arduino কোড

// রোটারি এনকোডার ইনপুট
# CLK_PIN 2 সংজ্ঞায়িত করুন
#DT_PIN 3 সংজ্ঞায়িত করুন
#SW_PIN 4 সংজ্ঞায়িত করুন
int কাউন্টার = 0 ;
int currentCLKState;
int lastCLKState;
স্ট্রিং বর্তমান দিকনির্দেশ = '' ;
স্বাক্ষরবিহীন long lastButtonPressTime = 0 ;
অকার্যকর সেটআপ ( ) {
// এনকোডার পিন সেট করুন হিসাবে ইনপুট
    পিনমোড ( CLK_PIN, INPUT ) ;
    পিনমোড ( DT_PIN, INPUT ) ;
    পিনমোড ( SW_PIN, INPUT_PULLUP ) ;
// সিরিয়াল মনিটর সেটআপ করুন
সিরিয়াল.শুরু ( 9600 ) ;
// CLK এর প্রাথমিক অবস্থা পড়ুন
lastCLKState = ডিজিটাল রিড ( CLK_PIN ) ;
}
অকার্যকর লুপ ( ) {
// CLK এর বর্তমান অবস্থা পড়ুন
currentCLKState = ডিজিটাল রিড ( CLK_PIN ) ;
// যদি শেষ এবং CLK এর বর্তমান অবস্থা ভিন্ন, তারপর একটি নাড়ি ঘটেছে
// শুধুমাত্র প্রতিক্রিয়া 1 ডবল গণনা এড়াতে রাষ্ট্র পরিবর্তন
যদি ( বর্তমানসিএলকেস্টেট ! = lastCLKState && বর্তমানসিএলকেস্টেট == 1 ) {
// যদি DT অবস্থা CLK অবস্থা থেকে ভিন্ন হয়, তারপর
// এনকোডার ঘড়ির কাঁটার বিপরীত দিকে ঘুরছে, তাই হ্রাস
যদি ( ডিজিটাল রিড ( DT_PIN ) ! = বর্তমানসিএলকেস্টেট ) {
পাল্টা--;
বর্তমান দিকনির্দেশ = 'CCW' ;
} অন্য {
// এনকোডার ঘড়ির কাঁটার দিকে ঘুরছে, তাই বৃদ্ধি
কাউন্টার++;
বর্তমান দিকনির্দেশ = 'CW' ;
}
সিরিয়াল.প্রিন্ট ( 'ঘূর্ণন দিক:' ) ;
সিরিয়াল.প্রিন্ট ( বর্তমান দিকনির্দেশ ) ;
সিরিয়াল.প্রিন্ট ( ' | কাউন্টার ভ্যালু: ' ) ;
Serial.println ( পাল্টা ) ;
}
// মনে রেখ শেষ CLK রাজ্য
lastCLKState = currentCLKState;
// বোতামের অবস্থা পড়ুন
int buttonState = digitalRead ( SW_PIN ) ;
// যদি আমরা একটি কম সংকেত শনাক্ত করি, বোতামটি চাপা হয়
যদি ( buttonState == কম ) {
// যদি থেকে 50ms পেরিয়ে যায় শেষ কম পালস, এর মানে হল যে
// বোতাম টিপানো হয়েছে, ছেড়ে দেওয়া হয়েছে এবং আবার চাপানো হয়েছে
যদি ( মিলি ( ) - লাস্টবাটনপ্রেসটাইম > পঞ্চাশ ) {
Serial.println ( 'বোতাম চাপা!' ) ;
}
// মনে রেখ শেষ বোতাম প্রেস ইভেন্ট সময়
lastButtonPressTime = মিলি ( ) ;
}
// রাখুন ভিতরে সামান্য বিলম্ব সাহায্য পড়া debounce
বিলম্ব ( 1 ) ;
}

উপরের প্রদত্ত কোডে, CLK পিনের অবস্থা লুপ() ফাংশনে চেক করা হয়। যদি এটি তার পূর্ববর্তী অবস্থার সমান না হয় তবে এটি দেখায় যে ঘূর্ণমান গিঁটটি ঘোরানো হয়েছে। এখন, গাঁটের ঘূর্ণনের দিক পরীক্ষা করতে, CLK-এর বর্তমান অবস্থাকে DT-এর অবস্থার সাথে তুলনা করা হয়। যদি উভয় অবস্থাই অসম হয়, তাহলে এটি দেখায় যে নবটি ঘড়ির কাঁটার দিকে ঘোরানো হয়েছে এবং ঘূর্ণমান গিঁটের অবস্থান দেখানোর জন্য এর মান বৃদ্ধি করে। বিপরীত ক্ষেত্রে, পাল্টা decrements.

অ্যাপ্লিকেশন

একটি নিয়ন্ত্রণ ফাংশন প্রয়োজন যেখানে পটেনশিওমিটার প্রধানত ব্যবহৃত হয়। তারা ভলিউম নিয়ন্ত্রণ, LED উজ্জ্বলতা নিয়ন্ত্রণ ব্যবহার করা হয়. অন্যদিকে, রোটারি এনকোডারগুলি বিস্তৃত অ্যাপ্লিকেশন সরবরাহ করে। এগুলি রোবোটিক্স, চিকিৎসা সরঞ্জাম, অটোমেশন এবং গেমিংয়ে ব্যবহৃত হয়।

উপসংহার

পটেনশিওমিটার এবং রোটারি এনকোডার উভয়ই ইলেকট্রনিক্স ক্ষেত্রে বিশেষভাবে দরকারী ডিভাইস। রোটারি এনকোডারগুলি পটেনশিওমিটারের তুলনায় উন্নত, কারণ তারা ক্রমাগত 360° এ ঘোরাতে পারে। একইভাবে, আধুনিক ইলেকট্রনিক্সে তাদের আরও বেশি অ্যাপ্লিকেশন রয়েছে এবং সেগুলি পটেনশিওমিটারের চেয়ে ব্যবহার করা কিছুটা বেশি কঠিন। .