ঘূর্ণন সেন্সর#

ভূমিকা#

V5 রোটেশন সেন্সর থেকে ডেটা নিয়ন্ত্রণ ও অ্যাক্সেস করার জন্য rotation ক্লাসটি ব্যবহার করা হয়।

ঘূর্ণন সেন্সর একটি শ্যাফটের ঘূর্ণন পরিমাপ করে। এটি রোবটের যেকোনো ঘূর্ণায়মান শ্যাফটের অংশে ব্যবহার করা যেতে পারে, এমনকি যদি সেই শ্যাফটটি সরাসরি মোটরের সাথে সংযুক্ত নাও থাকে।

একটি মোটরে একটি অন্তর্নির্মিত এনকোডার থাকে যা তার নিজের ঘূর্ণন ট্র্যাক করতে পারে। রোটেশন সেন্সরটি একটি বাহ্যিক এনকোডারের মতো কাজ করে যা একটি পৃথক শ্যাফটের ঘূর্ণন ট্র্যাক করতে পারে।

রোটেশন সেন্সরটি শ্যাফটের কোণ, অবস্থান এবং বেগ জানাতে পারে। কোণ হলো শ্যাফটের পরম অবস্থান, যা ০ থেকে ৩৫৯.৯৯ ডিগ্রির মধ্যে থাকে। কোনো প্রজেক্ট শুরু হলে বা রোবট বন্ধ করা হলে এটি রিসেট হয় না। অবস্থান ট্র্যাক করে যে একটি প্রজেক্ট চলাকালীন শ্যাফটটি কত ডিগ্রি বা কতবার সামনে বা পেছনে ঘুরেছে, এবং প্রয়োজন অনুযায়ী এটি রিসেট করা যেতে পারে।

রোটেশন সেন্সরটি ১/৮ ইঞ্চি এবং ১/৪ ইঞ্চি স্ট্যান্ডার্ড VEX শ্যাফটের সাথে সামঞ্জস্যপূর্ণ।

ক্লাস কনস্ট্রাক্টর#

rotation(
    int32_t index,
    bool    reverse = false );

ক্লাস ডেস্ট্রাক্টর#

rotation অবজেক্টটি ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সসমূহ মুক্ত করে।

virtual ~rotation();

প্যারামিটার#

প্যারামিটার

প্রকার

বর্ণনা

index

int32_t

যে স্মার্ট পোর্টের সাথে রোটেশন সেন্সরটি সংযুক্ত থাকে, তা PORTxহিসেবে লেখা হয়, যেখানে x হলো পোর্ট নম্বর (উদাহরণস্বরূপ, PORT1)।

reverse

bool

ঐচ্ছিক। রোটেশন সেন্সর আউটপুট বিপরীত করা হবে কিনা:

  • true — রিপোর্ট করা কোণ এবং অবস্থানের মানের দিক বিপরীত করে।
  • false (ডিফল্ট) — কোণ এবং অবস্থানের মান সাধারণ দিকে রিপোর্ট করে।

উদাহরণ#

// 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 Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

value

double

ঘূর্ণন সেন্সরে নির্ধারণ করার জন্য অবস্থানের মান। এটি একটি পূর্ণসংখ্যা বা দশমিক সংখ্যা হতে পারে।

units

rotationUnits

অবস্থানের একক:

  • deg / degrees — ডিগ্রি
  • turns / rev — পাক

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

angle#

শ্যাফটের বর্তমান কোণ ফেরত দেয়।

অ্যাঙ্গেল একটি ঘূর্ণনের মধ্যে শ্যাফটের পরম অবস্থান ০ থেকে ৩৫৯.৯৯ ডিগ্রি পর্যন্ত নির্দেশ করে। কোনো প্রজেক্ট শুরু হলে বা রোবট বন্ধ করা হলে এটি রিসেট হয় না।

Available Functions
double angle( rotationUnits units = degrees );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

units

rotationUnits

ঐচ্ছিক। কোণের একক:

  • deg / degrees (ডিফল্ট) — ডিগ্রি
  • turns / rev — পাক

Return Values

নির্দিষ্ট এককে শ্যাফটের বর্তমান কোণ বোঝাতে একটি double রিটার্ন করে।

Examples
// 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 Functions
double position( rotationUnits units );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

units

rotationUnits

অবস্থানের একক:

  • deg / degrees — ডিগ্রি
  • turns / rev — পাক

Return Values

নির্দিষ্ট এককে শ্যাফটটি কতটুকু ঘুরেছে তা বোঝাতে একটি double রিটার্ন করে।

velocity#

শ্যাফটটি কত দ্রুত ঘুরছে তা ফেরত দেয়।

Available Functions
double velocity( velocityUnits units );

Parameters

প্যারামিটার

প্রকার

বর্ণনা

units

velocityUnits

বেগের একক:

  • rpm — প্রতি মিনিটে ঘূর্ণন
  • dps — প্রতি সেকেন্ডে ডিগ্রি

Return Values

নির্দিষ্ট এককে শ্যাফটটি কত দ্রুত ঘুরছে তা বোঝাতে একটি double রিটার্ন করে।