ঘূর্ণন সেন্সর#
ভূমিকা#
V5 রোটেশন সেন্সর থেকে ডেটা নিয়ন্ত্রণ ও অ্যাক্সেস করার জন্য rotation ক্লাসটি ব্যবহার করা হয়।
ঘূর্ণন সেন্সর একটি শ্যাফটের ঘূর্ণন পরিমাপ করে। এটি রোবটের যেকোনো ঘূর্ণায়মান শ্যাফটের অংশে ব্যবহার করা যেতে পারে, এমনকি যদি সেই শ্যাফটটি সরাসরি মোটরের সাথে সংযুক্ত নাও থাকে।
একটি মোটরে একটি অন্তর্নির্মিত এনকোডার থাকে যা তার নিজের ঘূর্ণন ট্র্যাক করতে পারে। রোটেশন সেন্সরটি একটি বাহ্যিক এনকোডারের মতো কাজ করে যা একটি পৃথক শ্যাফটের ঘূর্ণন ট্র্যাক করতে পারে।
রোটেশন সেন্সরটি শ্যাফটের কোণ, অবস্থান এবং বেগ জানাতে পারে। কোণ হলো শ্যাফটের পরম অবস্থান, যা ০ থেকে ৩৫৯.৯৯ ডিগ্রির মধ্যে থাকে। কোনো প্রজেক্ট শুরু হলে বা রোবট বন্ধ করা হলে এটি রিসেট হয় না। অবস্থান ট্র্যাক করে যে একটি প্রজেক্ট চলাকালীন শ্যাফটটি কত ডিগ্রি বা কতবার সামনে বা পেছনে ঘুরেছে, এবং প্রয়োজন অনুযায়ী এটি রিসেট করা যেতে পারে।
রোটেশন সেন্সরটি ১/৮ ইঞ্চি এবং ১/৪ ইঞ্চি স্ট্যান্ডার্ড VEX শ্যাফটের সাথে সামঞ্জস্যপূর্ণ।
ক্লাস কনস্ট্রাক্টর#
rotation(
int32_t index,
bool reverse = false );
ক্লাস ডেস্ট্রাক্টর#
rotation অবজেক্টটি ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সসমূহ মুক্ত করে।
virtual ~rotation();
প্যারামিটার#
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে স্মার্ট পোর্টের সাথে রোটেশন সেন্সরটি সংযুক্ত থাকে, তা |
|
|
ঐচ্ছিক। রোটেশন সেন্সর আউটপুট বিপরীত করা হবে কিনা:
|
উদাহরণ#
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
সদস্যদের কার্যাবলী#
rotation ক্লাসে নিম্নলিখিত মেম্বার ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:
setPosition— রোটেশন সেন্সরের বর্তমান অবস্থান একটি নির্দিষ্ট মানে সেট করে।angle— শ্যাফটের বর্তমান কোণ 0 থেকে 359.99 ডিগ্রী পর্যন্ত ফেরত দেয়।position— শ্যাফটটি কত ডিগ্রি বা কতবার ঘুরেছে তা ফেরত দেয়।velocity— শ্যাফটটি কত দ্রুত ঘুরছে তা ফেরত দেয়।
যেকোনো rotation মেম্বার ফাংশন কল করার আগে, rotation ইনস্ট্যান্স তৈরি করতে হবে, যেমনটি নিচে দেখানো হয়েছে:
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
setPosition#
ঘূর্ণন সেন্সরের বর্তমান অবস্থানকে একটি নির্দিষ্ট মানে সেট করে।
একটি প্রজেক্ট চলাকালীন শ্যাফটটি কতটুকু ঘুরেছে, সেটাই হলো পজিশন। পজিশন সেট করলে শ্যাফটটি না নড়িয়েই বর্তমান পজিশনের মান পরিবর্তিত হয়।
Available Functionsvoid setPosition(
double value,
rotationUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ঘূর্ণন সেন্সরে নির্ধারণ করার জন্য অবস্থানের মান। এটি একটি পূর্ণসংখ্যা বা দশমিক সংখ্যা হতে পারে। |
|
|
অবস্থানের একক:
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
angle#
শ্যাফটের বর্তমান কোণ ফেরত দেয়।
অ্যাঙ্গেল একটি ঘূর্ণনের মধ্যে শ্যাফটের পরম অবস্থান ০ থেকে ৩৫৯.৯৯ ডিগ্রি পর্যন্ত নির্দেশ করে। কোনো প্রজেক্ট শুরু হলে বা রোবট বন্ধ করা হলে এটি রিসেট হয় না।
Available Functionsdouble angle( rotationUnits units = degrees );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ঐচ্ছিক। কোণের একক:
|
নির্দিষ্ট এককে শ্যাফটের বর্তমান কোণ বোঝাতে একটি double রিটার্ন করে।
// Get the current angle of the shaft
double angle = Rotation1.angle(degrees);
// Print the current angle of the shaft to the
// Brain's screen.
Brain.Screen.print(angle);
position#
শ্যাফটটি কতটুকু ঘুরেছে তা ফেরত দেয়।
কোণের বিপরীতে, অবস্থান ৩৫৯.৯৯ ডিগ্রির বেশি হতে পারে বা ০ ডিগ্রির নিচে নামতে পারে। কোনো প্রকল্প চলাকালীন শ্যাফটটি কতটা সামনে বা পেছনে ঘোরে, তা অবস্থান দ্বারা পরিমাপ করা হয় এবং প্রয়োজন অনুযায়ী এটি পুনরায় সেট করা যায়।
Available Functionsdouble position( rotationUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
অবস্থানের একক:
|
নির্দিষ্ট এককে শ্যাফটটি কতটুকু ঘুরেছে তা বোঝাতে একটি double রিটার্ন করে।
velocity#
শ্যাফটটি কত দ্রুত ঘুরছে তা ফেরত দেয়।
Available Functionsdouble velocity( velocityUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
বেগের একক:
|
নির্দিষ্ট এককে শ্যাফটটি কত দ্রুত ঘুরছে তা বোঝাতে একটি double রিটার্ন করে।