মোটর এবং মোটর গ্রুপ#
ভূমিকা#
মোটর এবং মোটর গ্রুপ একটি রোবটের বিভিন্ন অংশের চলাচল নিয়ন্ত্রণ করে। একটি motor অবজেক্ট একটি কনফিগার করা IQ Smart Motor নিয়ন্ত্রণ করে, যেখানে একটি motor_group অবজেক্ট একাধিক কনফিগার করা IQ Smart Motor একসাথে নিয়ন্ত্রণ করে যাতে তারা একযোগে চলে। মোটর এবং মোটর গ্রুপ একটি বাহু তুলতে, একটি নখর ঘোরাতে, একটি চাকা ঘোরাতে, বা একটি কাঠামোর অন্য কোনো অংশ সরাতে ব্যবহার করা যেতে পারে। দুটি মোটর একটি ড্রাইভট্রেন হিসাবে একসাথে কাজ করে পুরো রোবটটিকে সরাতে এবং ঘোরাতে পারে।
প্রতিটি মোটর বা মোটর গ্রুপ ডিভাইসেস উইন্ডোতে কনফিগার করা হয়। বিল্ডের উপর নির্ভর করে মোটর এবং মোটর গ্রুপের নাম পরিবর্তিত হতে পারে। এই পৃষ্ঠায় উদাহরণ নাম হিসেবে Motor1 এবং MotorGroup1 ব্যবহার করা হয়েছে। প্রয়োজন অনুযায়ী এগুলিকে আপনার নিজের কনফিগার করা নাম দিয়ে প্রতিস্থাপন করুন।
ডিফল্টরূপে, forward একটি মোটরকে ঘড়ির কাঁটার বিপরীত দিকে ঘোরায় এবং reverse একটি মোটরকে ঘড়ির কাঁটার দিকে ঘোরায়। যদি একটি মোটরকে রিভার্সে সেট করা হয়, তবে এই দিকগুলো উল্টে যাবে।
মোটর#
Class Constructors#
1 — নির্দিষ্ট স্মার্ট পোর্টের সাথে সংযুক্ত IQ স্মার্ট মোটরের জন্য একটি
motorঅবজেক্ট তৈরি করে। মোটরটি স্বয়ংক্রিয়ভাবে শনাক্তকৃত অভ্যন্তরীণgearSettingব্যবহার করে।motor( int32_t index );
2 — নির্দিষ্ট স্মার্ট পোর্টে একটি
motorঅবজেক্ট তৈরি করে এবং ঐচ্ছিকভাবে এর দিক পরিবর্তন করে। মোটরটি স্বয়ংক্রিয়ভাবে সনাক্তকৃত অভ্যন্তরীণgearSettingব্যবহার করে।motor( int32_t index, bool reverse );
3 — Creates a
motorobject on the specified Smart Port with the specifiedgearSetting.motor( int32_t index, gearSetting gears );
4 — নির্দিষ্ট স্মার্ট পোর্টে নির্দিষ্ট
motorএবং ঐচ্ছিক বিপরীত দিক সহ একটিgearSettingঅবজেক্ট তৈরি করে।motor( int32_t index, gearSetting gears, bool reverse );
Class Destructor#
motor অবজেক্টটি ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সগুলো মুক্ত করে।
~motor();
Parameters#
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে স্মার্ট পোর্টের সাথে মোটরটি সংযুক্ত থাকে, তা |
|
|
মোটরের ঘূর্ণনের দিক উল্টানো হবে কিনা তা নির্ধারণ করে:
|
|
|
অভ্যন্তরীণ গিয়ার কার্ট্রিজের অনুপাত নির্দিষ্ট করে।
|
Notes#
গিয়ার সেটিং মোটরে ইনস্টল করা ফিজিক্যাল কার্ট্রিজের সাথে মিলতে হবে।
Example#
// Create the motor instance in Smart Port 1
motor LeftMotor = motor(PORT1);
// Creates the motor instance with different settings
motor RightMotor = motor(
PORT2, // Smart Port 2
ratio2_1, // Gear ratio is 2:1
true);
মোটর গ্রুপ#
Class Constructors#
motor_group( motor &m1, Args&... m2 );
Class Destructor#
motor_group অবজেক্টটি ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সসমূহ মুক্ত করে।
~motor_group();
Parameters#
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
গ্রুপে প্রথম মোটরটি যুক্ত করা হলো। |
|
|
গ্রুপে অতিরিক্ত মোটর যুক্ত করা হয়েছে। একটি মোটর গ্রুপে সর্বোচ্চ চারটি মোটর থাকতে পারে। |
Example#
// Create individual motor instances
motor LeftMotor = motor(PORT1);
motor RightMotor = motor(PORT2);
// Create a motor group with both motors
motor_group DriveMotors = motor_group(LeftMotor, RightMotor);
সদস্যদের কার্যাবলী#
মোটর এবং মোটর গ্রুপ কোড করার অনেক উপায় আছে। নিচে সমস্ত motor , motor_group মেম্বার ফাংশনগুলোর একটি তালিকা দেওয়া হলো:
ক্রিয়াকলাপ — মোটর এবং মোটর গ্রুপগুলিকে থামানো ও ঘোরানো।
spin— একটি মোটর বা মোটর গ্রুপকে অনির্দিষ্টকালের জন্য সামনে বা পিছনে ঘোরায়।spinFor— একটি মোটর বা মোটর গ্রুপকে একটি নির্দিষ্ট দূরত্বে বা নির্দিষ্ট সময়ের জন্য ঘোরায়।spinToPosition— একটি মোটর বা মোটর গ্রুপকে একটি নির্দিষ্ট অবস্থানে ঘোরায়।stop— একটি মোটর বা মোটর গ্রুপের ঘূর্ণন বন্ধ করে।
মিউটেটর — মোটর এবং মোটর গ্রুপের সেটিংস সমন্বয় করুন।
setVelocity— একটি মোটর বা মোটর গ্রুপকে বলে দেয় যে কত দ্রুত ঘুরতে হবে।setMaxTorque— ঘোরার সময় একটি মোটর বা মোটর গ্রুপ কতটা জোরে ধাক্কা দিতে পারবে তা নির্ধারণ করে।setPosition— মোটর বা মোটর গ্রুপের বর্তমান অবস্থান একটি নতুন মানে পরিবর্তন করে।setStopping— একটি মোটর বা মোটর গ্রুপ কীভাবে চলা বন্ধ করবে তা নির্ধারণ করে: ব্রেক করে, গতি কমিয়ে, বা থেমে গিয়ে।setTimeout— একটি মোটর বা মোটর গ্রুপ একটি মুভমেন্ট শেষ করার জন্য কত সময় চেষ্টা করবে তা সেট করে।
গেটার — মোটর এবং মোটর গ্রুপের অবস্থা পরীক্ষা করুন।
isDone— মোটর বা মোটর গ্রুপের নড়াচড়া শেষ হয়েছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।isSpinning— মোটর বা মোটর গ্রুপটি ঘুরছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।position— মোটর বা মোটর গ্রুপের বর্তমান অবস্থান ফেরত দেয়।velocity— মোটর বা মোটর গ্রুপটি কত দ্রুত ঘুরছে তা ফেরত দেয়।current— মোটর বা মোটর গ্রুপ কী পরিমাণ বৈদ্যুতিক কারেন্ট ব্যবহার করছে তা ফেরত দেয়।power— মোটর বা মোটর গ্রুপ কী পরিমাণ শক্তি ব্যবহার করছে তা ফেরত দেয়।torque— মোটর বা মোটর গ্রুপ কী পরিমাণ টর্ক ব্যবহার করছে তা ফেরত দেয়।efficiency— মোটর বা মোটর গ্রুপ কতটা দক্ষতার সাথে শক্তি ব্যবহার করছে তা ফেরত দেয়।temperature— মোটর বা মোটর গ্রুপের তাপমাত্রা ফেরত দেয়।voltage— মোটর বা মোটর গ্রুপে সরবরাহ করা বৈদ্যুতিক ভোল্টেজ ফেরত দেয়।direction— মোটর বা মোটর গ্রুপটি যে দিকে ঘুরছে তা ফেরত দেয়।installed— মোটর বা মোটর গ্রুপ মস্তিষ্কের সাথে সংযুক্ত কিনা তা ফেরত দেয়।count— একটি মোটর গ্রুপে মোটরের সংখ্যা ফেরত দেয়।
যেকোনো motor অথবা motor_group মেম্বার ফাংশন কল করার আগে, নিচে দেখানো অনুযায়ী একটি ইনস্ট্যান্স তৈরি করতে হবে:
/* This constructor is required when using VS Code.
Motor and Motor Group configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create the motor instance in Smart Port 1
motor Motor1 = motor(PORT1);
কর্ম#
spin#
spin একটি মোটর বা মোটর গ্রুপকে অনির্দিষ্টকালের জন্য সামনে বা পেছনে ঘোরায়। মোটর বা মোটর গ্রুপটি ততক্ষণ ঘুরতে থাকবে যতক্ষণ না এটিকে অন্য কোনো কাজ দেওয়া হয়, যেমন ভিন্ন দিকে ঘোরানো বা থামানো।
1 — বর্তমানে কনফিগার করা মোটর বেগ ব্যবহার করে মোটর বা মোটর গ্রুপকে ঘোরায়।
void spin( directionType dir );
2 — মোটর বা মোটর গ্রুপকে নির্দিষ্ট বেগে ঘোরায়।
void spin( directionType dir, double velocity, velocityUnits units );
Parameters3 — নির্দিষ্ট ভোল্টেজ ব্যবহার করে মোটর বা মোটর গ্রুপকে ঘোরায়।
void spin( directionType dir, double voltage, voltageUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মোটর বা মোটর গ্রুপের ঘোরার দিক: |
|
|
|
|
|
বেগ প্রকাশের একক:
|
|
|
যে ভোল্টেজে ঘুরতে হবে। একটি ঋণাত্মক মান প্রদত্ত |
|
|
ভোল্টেজ প্রকাশের একক:
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesএই ফাংশনটি অপেক্ষাবিহীন এবং কল করার সাথে সাথেই প্রজেক্টটির কার্য সম্পাদন চলতে থাকবে।
stopকল না করা পর্যন্ত বা অন্য কোনো মুভমেন্ট ফাংশন এক্সিকিউট না করা পর্যন্ত মোটর বা মোটর গ্রুপটি ঘুরতে থাকবে।isDoneএবংisSpinningএর মতো ফাংশনগুলিspinএর জন্য প্রযোজ্য নয়, কারণ এটি লক্ষ্য-ভিত্তিক গতি ব্যবহার করে না (এতেrotationবাtimeপ্যারামিটার নেই)।
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
spinFor#
spinFor একটি মোটর বা মোটর গ্রুপকে একটি নির্দিষ্ট দূরত্ব বা সময়ের জন্য ঘোরায়। ঘূর্ণন-ভিত্তিক এই ঘূর্ণনটি মোটর বা মোটর গ্রুপের বর্তমান অবস্থানের সাপেক্ষে হয়। ডিফল্টরূপে, পরবর্তী কোড লাইনটি চলার আগে প্রজেক্টটি মোটর বা মোটর গ্রুপের ঘূর্ণন শেষ হওয়া পর্যন্ত অপেক্ষা করবে।
1 — ফাংশন কলে প্রদত্ত বেগে একটি নির্দিষ্ট দূরত্ব পর্যন্ত ঘোরে।
bool spinFor( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
2 — একটি দিক নির্দেশক প্যারামিটার গ্রহণ করে এবং ফাংশন কলে প্রদত্ত বেগে একটি নির্দিষ্ট দূরত্ব পর্যন্ত ঘোরে।
bool spinFor( directionType dir, double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
3 — বর্তমানে কনফিগার করা মোটর বেগ ব্যবহার করে একটি নির্দিষ্ট দূরত্বে ঘোরে।
bool spinFor( double rotation, rotationUnits units, bool waitForCompletion = true );
4 — একটি দিক নির্দেশক প্যারামিটার গ্রহণ করে এবং বর্তমানে কনফিগার করা মোটর বেগ ব্যবহার করে একটি নির্দিষ্ট দূরত্বে ঘোরে।
bool spinFor( directionType dir, double rotation, rotationUnits units, bool waitForCompletion = true );
5 — ফাংশন কলে প্রদত্ত বেগে একটি নির্দিষ্ট সময়ের জন্য ঘোরে।
bool spinFor( double time, timeUnits units, double velocity, velocityUnits units_v );
6 — একটি দিক নির্দেশক প্যারামিটার গ্রহণ করে এবং ফাংশন কলে প্রদত্ত বেগে একটি নির্দিষ্ট সময়ের জন্য ঘোরে।
bool spinFor( directionType dir, double time, timeUnits units, double velocity, velocityUnits units_v );
7 — Spins for a specific amount of time using the currently configured motor velocity.
bool spinFor( double time, timeUnits units );
Parameters8 — একটি দিক নির্দেশক প্যারামিটার গ্রহণ করে এবং বর্তমানে কনফিগার করা মোটর বেগ ব্যবহার করে একটি নির্দিষ্ট সময়ের জন্য ঘোরে।
bool spinFor( directionType dir, double time, timeUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মোটর বা মোটর গ্রুপের ঘোরার দিক: |
|
|
মোটর বা মোটর গোষ্ঠীর ঘূর্ণন দূরত্ব। |
|
|
The rotation unit:
|
|
|
মোটর বা মোটর গোষ্ঠীটি যে পরিমাণ সময় ধরে ঘোরে। |
|
|
সময়ের একক:
|
|
|
|
|
|
বেগ বোঝাতে ব্যবহৃত একক
|
|
|
|
একটি বুলিয়ান মান ফেরত দেয় যা দেখায় যে মোটর বা মোটর গ্রুপটি লক্ষ্যমাত্রায় পৌঁছেছে কিনা।
true— The motor or motor group reached the target value.false— The motor or motor group was not able to reach the target value orwaitForCompletionis set tofalse.
spinForচলাকালীন অন্য কোনো মোটর মুভমেন্ট ফাংশন (যেমনspinঅথবাstop) এক্সিকিউট করলে বর্তমান মুভমেন্টটি বাধাগ্রস্ত হবে।যেহেতু
spinForলক্ষ্য-ভিত্তিক (একটিrotationবাtimeপ্যারামিটার ব্যবহার করে),isDoneএবংisSpinningএর মতো ফাংশনগুলিspinForসাথে কাজ করে।
// Spin 1 turn fast, then 1 turn slow
Motor1.spinFor(forward, 1, turns, true);
Motor1.spinFor(reverse, 1, turns, 20, velocityUnits::pct, true);
spinToPosition#
spinToPosition একটি মোটর বা মোটর গ্রুপকে একটি নির্দিষ্ট অবস্থানে ঘোরায়।
একটি মোটর বা মোটর গ্রুপের অবস্থান হল এটি কতদূর ঘুরেছে, যা degrees বা turnsহিসাবে পরিমাপ করা হয়। এক পাক 360 ডিগ্রির সমান। একটি প্রকল্পের শুরুতে, মোটর বা মোটর গ্রুপের অবস্থান 0 ডিগ্রিতে সেট করা হয়। মোটর বা মোটর গ্রুপের অবস্থান setPosition ফাংশন ব্যবহার করেও সেট করা যেতে পারে।
অবস্থানের মানগুলো পরম। এর মানে হলো, ঘূর্ণনের দিকটি মোটর বা মোটর গ্রুপের বর্তমান অবস্থানের উপর নির্ভর করে।
উদাহরণস্বরূপ, যদি মোটর বা মোটর গ্রুপটি ০ ডিগ্রি থেকে শুরু করে ৭২০ ডিগ্রি অবস্থানে ঘোরে, তবে এটি সামনের দিকে দুইবার ঘুরবে। এরপর যদি এটি ৩৬০ ডিগ্রি অবস্থানে ঘোরে, তবে এটি পেছনের দিকে একবার ঘুরবে, কারণ ৩৬০ হলো ৭২০-এর চেয়ে কম।
Available Functions1 — ফাংশন কলে প্রদত্ত বেগে একটি নির্দিষ্ট অবস্থানে ঘোরে।
bool spinToPosition( double rotation, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Parameters2 — Spins to a specific position using the currently configured motor velocity.
bool spinToPosition( double rotation, rotationUnits units, bool waitForCompletion = true );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
যে অবস্থান মানে মোটর বা মোটর গোষ্ঠীটি ঘুরবে। |
|
|
The rotation unit:
|
|
|
|
|
|
বেগ বোঝাতে ব্যবহৃত একক
|
|
|
|
একটি বুলিয়ান মান ফেরত দেয় যা দেখায় যে মোটর বা মোটর গ্রুপ অনুরোধ করা লক্ষ্য-ভিত্তিক গতিবিধি শুরু করেছে কিনা।
true— The motor or motor group begins the requested target-based movement.false— The call fails orwaitForCompletionis set tofalse.
spinToPositionচলাকালীন অন্য কোনো মোটর মুভমেন্ট ফাংশন (যেমনspinঅথবাspinFor) এক্সিকিউট করলে বর্তমান মুভমেন্টটি বাধাগ্রস্ত হবে।যেহেতু
spinToPositionলক্ষ্য-ভিত্তিক (একটিrotationপ্যারামিটার ব্যবহার করে),isDoneএবংisSpinningএর মতো ফাংশনspinToPositionএর সাথে কাজ করে।
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);
stop#
stop একটি মোটর বা মোটর গ্রুপকে ঘোরা বন্ধ করে দেয়।
1 — Stops the motor or motor group using the currently configured brake mode.
void stop();
Parameters2 — ফাংশন কলে প্রদত্ত ব্রেক মোড ব্যবহার করে মোটর বা মোটর গ্রুপকে থামিয়ে দেয়।
void stop( brakeType mode );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ঐচ্ছিক। মোটর বা মোটর গ্রুপটি কীভাবে থামবে:
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesstopকমান্ডটি দিলে চলমান যেকোনো মোটর বা মোটর গ্রুপের চলাচল তাৎক্ষণিকভাবে বন্ধ হয়ে যায়।যদি কোনো ব্রেক মোড নির্দিষ্ট না করা হয়, তাহলে মোটর বা মোটর গ্রুপ বর্তমানে কনফিগার করা ব্রেক মোড ব্যবহার করে।
stopযেকোনো সক্রিয় লক্ষ্য-ভিত্তিক চলাচলকে বাধা দেয় (যেমনspinForঅথবাspinToPosition)।
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);
মিউটেটর#
setVelocity#
setVelocity setVelocity কত দ্রুত ঘুরবে। উচ্চতর শতাংশ মোটর বা মোটর গ্রুপকে আরও দ্রুত ঘোরায় এবং নিম্নতর শতাংশ মোটর বা মোটর গ্রুপকে আরও ধীরে ঘোরায়।
প্রতিটি প্রজেক্ট ডিফল্টরূপে প্রতিটি মোটর বা মোটর গ্রুপ ৫০% গতিতে ঘোরার মাধ্যমে শুরু হয়।
দ্রষ্টব্য: উচ্চ বেগ মোটর বা মোটর গ্রুপকে দ্রুত ঘোরায়, কিন্তু এটি কম নির্ভুল হতে পারে। নিম্ন বেগ মোটর বা মোটর গ্রুপকে ধীরে ঘোরায়, কিন্তু এটি আরও নির্ভুল হতে পারে।
Available Functionsvoid setVelocity(
double velocity,
velocityUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
|
|
|
বেগ বোঝাতে ব্যবহৃত একক
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesপরবর্তী যেকোনো মোটর মুভমেন্ট ফাংশন (যেমন
spin,spinFor, অথবাspinToPosition) যেখানে স্পষ্টভাবে বেগ উল্লেখ করা নেই, সেখানে এই মানটি ব্যবহৃত হবে।
// Try default, then slow, then fast
Motor1.spinFor(forward, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(20, percent);
Motor1.spinFor(reverse, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(100, percent);
Motor1.spinFor(forward, 180, degrees);
setMaxTorque#
টর্ক দেখায় যে একটি মোটর বা মোটর গোষ্ঠী ঘোরার সময় কতটা জোরে ধাক্কা দিতে বা টানতে পারে।
setMaxTorque একটি মোটর বা মোটর গ্রুপকে সর্বোচ্চ যে টর্ক ব্যবহার করার অনুমতি দেওয়া হয়, তা নির্ধারণ করে।
উচ্চতর শতাংশ মোটর বা মোটর গ্রুপকে আরও জোরে ধাক্কা দিতে সাহায্য করে, যেমন কোনো ভারী বস্তু তোলার সময়। নিম্নতর শতাংশ মোটর বা মোটর গ্রুপের ধাক্কা দেওয়ার ক্ষমতাকে সীমিত করে। যদি মোটর বা মোটর গ্রুপ আটকে যায় অথবা তার চলার শেষ সীমায় পৌঁছে যায়, তবে এটি রোবটকে রক্ষা করতে সাহায্য করতে পারে।
প্রতিটি প্রজেক্ট ডিফল্টরূপে প্রতিটি মোটর বা মোটর গ্রুপের টর্ক ৫০% এ শুরু হয়।
Available Functions1 — মোটর বা মোটর গ্রুপের রেটেড টর্কের শতাংশ হিসাবে সর্বোচ্চ টর্ক নির্ধারণ করে।
void setMaxTorque( double value, percentUnits units );
2 — ভৌত টর্কের একক ব্যবহার করে সর্বোচ্চ টর্ক নির্ধারণ করে।
void setMaxTorque( double value, torqueUnits units );
Parameters3 — মোটরের কারেন্ট সীমিত করে সর্বোচ্চ টর্ক নির্ধারণ করে।
void setMaxTorque( double value, currentUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মোটর বা মোটর গ্রুপটি সর্বোচ্চ যে টর্ক ব্যবহার করতে পারে। |
|
|
টর্ক শতাংশ হিসাবে উল্লেখ করে: |
|
|
টর্ককে ভৌত এককে নির্দিষ্ট করে, যেমন:
|
|
|
মোটর কারেন্ট সীমিত করে টর্ক নির্দিষ্ট করে:
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesযখন
currentUnitsব্যবহার করা হয়, তখন মোটর বা মোটর গ্রুপ কতটা বৈদ্যুতিক কারেন্ট ব্যবহার করতে পারবে তা সীমিত করার মাধ্যমে টর্ক সীমাবদ্ধ করা হয়।
setPosition#
একটি মোটর বা মোটর গ্রুপের অবস্থান হলো এটি কতটুকু ঘুরেছে, যা degrees বা turnsহিসাবে পরিমাপ করা হয়। এক পাক ৩৬০ ডিগ্রির সমান। setPosition মোটর বা মোটর গ্রুপের বর্তমান অবস্থানকে একটি নতুন মানে পরিবর্তন করে।
উদাহরণস্বরূপ, যদি কোনো মোটর বা মোটর গ্রুপ ১৮০ ডিগ্রি ঘুরে থাকে, তবে এর অবস্থান ০ ডিগ্রিতে সেট করলে সেই অবস্থানটি ১৮০ থেকে ০ ডিগ্রিতে রিসেট হয়ে যাবে। এরপর মোটর বা মোটর গ্রুপটি সেই নতুন মানের উপর ভিত্তি করে বিভিন্ন অবস্থানে ঘুরতে পারবে।
Available Functionsvoid setPosition(
double value,
rotationUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মোটর বা মোটর গ্রুপের জন্য নির্ধারণ করার অবস্থান মান। |
|
|
The position unit:
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
NotessetPositionকল করার পর,spinToPositionএর পরবর্তী কলগুলি আপডেট করা অবস্থানকে রেফারেন্স হিসাবে ব্যবহার করবে।
setStopping#
setStopping সেট করে একটি মোটর বা মোটর গ্রুপ কীভাবে থামবে: ব্রেক করে, গতি না বাড়িয়ে, বা স্থির থেকে।
void setStopping(
brakeType mode );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মোটর বা মোটর গ্রুপটি কীভাবে থামবে:
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesনির্দিষ্ট ব্রেক মোড ছাড়া
stop-এ পরবর্তী যেকোনো কল এই মানটি ব্যবহার করবে।
setTimeout#
setTimeout setTimeout নির্ধারণ করে যে একটি মোটর বা মোটর গ্রুপ তার চলাচল শেষ করার জন্য কতটুকু সময় চেষ্টা করবে। যদি মোটর বা মোটর গ্রুপটি সেই সময়ের মধ্যে তার চলাচল শেষ করতে না পারে, তবে এটি চেষ্টা করা বন্ধ করে দেবে এবং কোডের পরবর্তী লাইনে চলে যাবে। এটি মোটর বা মোটর গ্রুপকে কোনো একটি চলাচলে আটকে যাওয়া থেকে রক্ষা করে।
void setTimeout(
int32_t time,
timeUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মোটর বা মোটর গ্রুপটি একটি নড়াচড়া শেষ করার জন্য যে পরিমাণ সময় চেষ্টা করতে পারে। এটি অবশ্যই একটি ধনাত্মক পূর্ণসংখ্যা হতে হবে। |
|
|
সময়ের একক:
|
রিটার্ন মান
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesযেসব মুভমেন্ট তাদের লক্ষ্য অবস্থানে পৌঁছায় না, সেগুলো যাতে স্ট্যাকে থাকা অন্যান্য কমান্ডের নির্বাহ বন্ধ করে না দেয়, তা নিশ্চিত করতে মোটর বা মোটর গ্রুপ টাইমআউট ব্যবহার করা হয়।
যদি টাইমআউট শেষ হওয়ার আগে মোটর বা মোটর গ্রুপ তার লক্ষ্য অবস্থানে পৌঁছাতে না পারে, তবে এটি চেষ্টা করা বন্ধ করে দেবে এবং কোডের পরবর্তী লাইনে চলে যাবে।
টাইমআউট সেই ফাংশনগুলিতে প্রযোজ্য যাদের একটি লক্ষ্য মান আছে যেমন
spinForএবংspinToPosition।
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);
গেটার্স#
isDone#
isDone একটি বুলিয়ান মান হিসাবে ফেরত দেয় যে মোটর বা মোটর গ্রুপটির নড়াচড়া শেষ হয়েছে কিনা। মোটর বা মোটর গ্রুপের নড়াচড়ার উপর ভিত্তি করে অন্যান্য আচরণের সময় নিয়ন্ত্রণ করতে এটি ব্যবহার করা যেতে পারে।
true— মোটর বা মোটর গোষ্ঠীর চলাচল শেষ হয়েছে।false— মোটর বা মোটর গোষ্ঠী এখনও চলছে।
এই ফাংশনটি নিম্নলিখিত মোশন ফাংশনগুলির সাথে একত্রে কাজ করে যাদের waitForCompletion প্যারামিটার রয়েছে: spinFor এবং spinToPosition।
bool isDone();
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
Return Valuesমোটর বা মোটর গ্রুপের চলাচল শেষ হয়েছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।
true— The motor or motor group is finished moving.false— The motor or motor group is still moving.
isDoneনিম্নলিখিত Motion ফাংশনগুলির সাথে একত্রে কাজ করে যাদেরwaitForCompletionপ্যারামিটার রয়েছে:spinForএবংspinToPosition।
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
if (Motor1.isDone()) {
Drivetrain.stop();
} else {
Drivetrain.drive(forward);
}
}
isSpinning#
isSpinning isSpinning একটি বুলিয়ান মান হিসাবে ফেরত দেয় যে মোটর বা মোটর গ্রুপটি ঘুরছে কিনা। মোটর বা মোটর গ্রুপের নড়াচড়ার উপর ভিত্তি করে অন্যান্য আচরণের সময় নিয়ন্ত্রণ করতে এটি ব্যবহার করা যেতে পারে।
true— মোটর বা মোটর গ্রুপটি ঘুরছে।false— মোটর বা মোটর গ্রুপটি ঘুরছে না।
এই ফাংশনটি spin, spinFor, এবং spinToPosition এর মতো মোশন মুভমেন্ট ফাংশনগুলির সাথে একত্রে কাজ করে।
bool isSpinning();
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
Return Valuesমোটর বা মোটর গ্রুপটি ঘুরছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।
true— The motor or motor group is spinning.false— The motor or motor group is not spinning.
isSpinning,spin,spinFor, এবংspinToPositionএর মতো মোশন মুভমেন্ট ফাংশনগুলির সাথে কাজ করে।
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
if (Motor1.isSpinning()) {
Drivetrain.drive(forward);
} else {
Drivetrain.stop();
}
}
position#
একটি মোটর বা মোটর গ্রুপের অবস্থান হলো এটি কতটুকু ঘুরেছে, যা degrees বা turnsহিসেবে পরিমাপ করা হয়। এক পাক ৩৬০ ডিগ্রির সমান। position মোটর বা মোটর গ্রুপের বর্তমান অবস্থান ফেরত দেয়।
প্রজেক্টের শুরুতে, মোটর বা মোটর গ্রুপের অবস্থান ০ ডিগ্রিতে সেট করা হয়। যদি মোটর বা মোটর গ্রুপটি সামনের দিকে এক পাক ঘোরে, তাহলে অবস্থানটি ৩৬০ ডিগ্রি বা ১ পাক হবে। যদি মোটর বা মোটর গ্রুপটি বিপরীত দিকে ঘোরে, তাহলে অবস্থানটি ঋণাত্মক হবে।
Available Functionsdouble position(
rotationUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
The unit to return the motor or motor group position in:
|
নির্দিষ্ট এককে মোটর বা মোটর গ্রুপের বর্তমান অবস্থান বোঝাতে একটি double (ওয়ান) রিটার্ন করে।
setPositionকল করলে এই মানের জন্য রেফারেন্স পয়েন্ট পরিবর্তিত হয়।প্রত্যাবর্তিত মানটি বর্তমান এনকোডার পাঠকে প্রতিফলিত করে এবং মোটর বা মোটর গোষ্ঠী সক্রিয়ভাবে চলমান কিনা তা নির্দেশ করে না।
যখন একটি
motor_groupএর উপর কল করা হয়, তখন এই ফাংশনটি গ্রুপের প্রথম মোটরের অবস্থান ফেরত দেয়।
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));
velocity#
velocity মোটর বা মোটর গ্রুপটি কত দ্রুত ঘুরছে তা নির্দেশ করে।
ধনাত্মক মানের অর্থ হলো মোটর বা মোটর গ্রুপটি সামনের দিকে ঘুরছে। ঋণাত্মক মানের অর্থ হলো এটি বিপরীত দিকে ঘুরছে।
Available Functionsdouble velocity(
velocityUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
বেগ প্রকাশের একক:
|
নির্দিষ্ট এককে মোটর বা মোটর গ্রুপটি কত দ্রুত ঘুরছে তা বোঝাতে একটি double রিটার্ন করে।
নোট
যখন একটি
motor_groupএর উপর কল করা হয়, তখন এই ফাংশনটি গ্রুপের প্রথম মোটরের বেগ ফেরত দেয়।
current#
current নির্দেশ করে যে মোটর বা মোটর গ্রুপটি কী পরিমাণ বৈদ্যুতিক কারেন্ট ব্যবহার করছে। কারেন্ট হলো মোটর বা মোটর গ্রুপের মধ্য দিয়ে প্রবাহিত বিদ্যুতের পরিমাণ। যখন অ্যাম্পিয়ারে (amps) প্রকাশ করা হয়, তখন কারেন্টের মান ০.০ থেকে ১.২ A পর্যন্ত হয়ে থাকে।
উচ্চ কারেন্টের মান মানে হলো মোটর বা মোটর গ্রুপটি বেশি বিদ্যুৎ ব্যবহার করছে। এটি তখন ঘটতে পারে যখন মোটর বা মোটর গ্রুপটি কোনো ভারী জিনিস তোলে, কোনো বস্তুকে ধাক্কা দেয়, অথবা আটকে গেলে নড়াচড়া করার চেষ্টা করে।
কোনো নড়াচড়ার সময় মোটর বা মোটর গ্রুপটি কোনো সমস্যায় পড়ছে কিনা, তা পরীক্ষা করতে এটি ব্যবহার করা যেতে পারে। যদি কারেন্ট বেশি থাকে, তাহলে মোটরটি গরম হয়ে যেতে পারে অথবা কম দক্ষতার সাথে শক্তি ব্যবহার করতে পারে।
Available Functions1 — মোটর বা মোটর গ্রুপের বৈদ্যুতিক প্রবাহ অ্যাম্পিয়ারে ফেরত দেয়।
double current( currentUnits units = amp );
Parameters2 — মোটর বা মোটর গ্রুপের বৈদ্যুতিক কারেন্টকে সর্বোচ্চ রেটেড কারেন্টের শতাংশ হিসাবে ফেরত দেয়।
double current( percentUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
কারেন্ট প্রকাশের একক: |
|
|
মোটরের সর্বোচ্চ রেটেড কারেন্টের শতাংশ হিসাবে বর্তমান প্রবাহকে প্রকাশ করে: |
মোটর বা মোটর গ্রুপটি নির্দিষ্ট এককে কী পরিমাণ বৈদ্যুতিক কারেন্ট ব্যবহার করছে, তা বোঝাতে একটি double রিটার্ন করে।
নোট
যখন
motor_groupএর উপর কল করা হয়, এই ফাংশনটি গ্রুপের সমস্ত মোটরের মোট বৈদ্যুতিক কারেন্ট ফেরত দেয়।
power#
power দেখায় যে মোটর বা মোটর গ্রুপটি ওয়াটে কত শক্তি ব্যবহার করছে। পাওয়ার দেখায় যে মোটর বা মোটর গ্রুপটি কত দ্রুত শক্তি ব্যবহার করছে।
পাওয়ারের মান বেশি হওয়ার অর্থ হলো মোটর বা মোটর গ্রুপটি দ্রুত শক্তি ব্যবহার করছে। এমনটা হতে পারে যখন মোটর বা মোটর গ্রুপটি কোনো ভারী জিনিস তোলে, কোনো বস্তুকে ধাক্কা দেয়, অথবা আটকে গেলে নড়াচড়া করার চেষ্টা করে।
এটি নড়াচড়া তুলনা করতে বা মোটর বা মোটর গ্রুপটি সমস্যায় পড়ছে কিনা তা পরীক্ষা করতে ব্যবহার করা যেতে পারে। যদি পাওয়ার বেশি থাকে, তাহলে মোটরটি গরম হয়ে যেতে পারে বা কম দক্ষতার সাথে শক্তি ব্যবহার করতে পারে।
Available Functionsdouble power(
powerUnits units = watt );
প্যারামিটার
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মোটরের শক্তি বোঝানোর একক:
|
রিটার্ন মান
মোটর বা মোটর গ্রুপটি ওয়াটে কী পরিমাণ শক্তি ব্যবহার করছে, তা বোঝাতে double এর একটি ডাবল রিটার্ন করে।
নোট
যখন
motor_groupএর উপর কল করা হয়, এই ফাংশনটি গ্রুপের প্রথম মোটরের বৈদ্যুতিক শক্তি ফেরত দেয়।
torque#
টর্ক দেখায় যে একটি মোটর বা মোটর গ্রুপ ঘোরার সময় কতটা জোরে মোচড় দিচ্ছে, ধাক্কা দিচ্ছে বা টানছে।
torque দেখায় মোটর বা মোটর গ্রুপটি কী পরিমাণ টর্ক ব্যবহার করছে।
টর্কের মান বেশি হওয়ার অর্থ হলো মোটর বা মোটর গ্রুপটি আরও জোরে ধাক্কা দিচ্ছে বা টানছে। এমনটা হতে পারে যখন মোটর বা মোটর গ্রুপটি কোনো ভারী জিনিস তোলে, কোনো বস্তুকে ধাক্কা দেয়, অথবা আটকে গেলে নড়াচড়া করার চেষ্টা করে।
মোটর বা মোটর গ্রুপটি সমস্যায় পড়ছে কিনা তা পরীক্ষা করতে, কিংবা বিভিন্ন নড়াচড়ার জন্য কতটা ধাক্কা প্রয়োজন তা তুলনা করতে এটি ব্যবহার করা যেতে পারে।
একটি মোটর বা মোটর গ্রুপের টর্ক সেট করতে, setMaxTorque ব্যবহার করুন।
double torque(
torqueUnits units = Nm );
প্যারামিটার
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মোটরের টর্ক প্রকাশ করার জন্য ব্যবহৃত একক:
|
রিটার্ন মান
নির্দিষ্ট এককে মোটর বা মোটর গ্রুপটি কী পরিমাণ টর্ক ব্যবহার করছে তা বোঝাতে একটি double রিটার্ন করে।
নোট
যখন একটি
motor_groupউপর কল করা হয়, তখন এই ফাংশনটি গ্রুপের প্রথম মোটরের যান্ত্রিক আউটপুট টর্ক ফেরত দেয়।
efficiency#
efficiency দেখায় যে মোটর বা মোটর গ্রুপটি কতটা দক্ষতার সাথে শক্তি ব্যবহার করছে, যা ০% থেকে ১০০% পর্যন্ত শতাংশে প্রকাশ করা হয়।
দক্ষতা দেখায় যে মোটর বা মোটর গ্রুপের শক্তির কতটুকু চলাচলের জন্য ব্যবহৃত হচ্ছে। দক্ষতার মান যত বেশি হবে, মোটর বা মোটর গ্রুপের শক্তির তত বেশি অংশ চলাচলের জন্য ব্যবহৃত হবে। দক্ষতার মান কম হতে পারে যখন মোটর বা মোটর গ্রুপ কঠোর পরিশ্রম করেও খুব বেশি নড়াচড়া করে না, যেমন যখন এটি আটকে যায় বা কোনো বস্তুকে ধাক্কা দেয়।
এটি নড়াচড়া তুলনা করতে অথবা মোটর বা মোটর গ্রুপটি নড়াচড়ার জন্য শক্তি ব্যবহার না করে অপচয় করছে কিনা তা পরীক্ষা করতে ব্যবহার করা যেতে পারে।
Available Functionsdouble efficiency(
percentUnits units = percent );
প্যারামিটার
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মোটরের কর্মদক্ষতা বোঝানোর জন্য ব্যবহৃত একক:
|
রিটার্ন মান
মোটর বা মোটর গ্রুপটি কতটা দক্ষতার সাথে শক্তি ব্যবহার করছে, তা শতাংশ হিসাবে প্রকাশ করে একটি double রিটার্ন করে।
নোট
যখন একটি
motor_groupউপর কল করা হয়, তখন এই ফাংশনটি গ্রুপের প্রথম মোটরের দক্ষতা ফেরত দেয়।
temperature#
temperature মোটর বা মোটর গ্রুপের তাপমাত্রা ফেরত দেয়।
মোটরের তাপমাত্রা দেখায় মোটর বা মোটর গ্রুপটি কতটা গরম। তাপমাত্রা বেশি হওয়ার অর্থ হলো, কাজ করার সময় মোটর বা মোটর গ্রুপটি গরম হচ্ছে। পূর্ণ কর্মক্ষমতায় কাজ চালিয়ে যাওয়ার জন্য মোটরের তাপমাত্রা 55°C
যদি মোটর বা মোটর গ্রুপ অতিরিক্ত গরম হয়ে যায়, তবে এটি নিজেকে রক্ষা করার জন্য এর সর্বোচ্চ কারেন্ট কমিয়ে দেবে। 70°C, একটি মোটর ঠান্ডা না হওয়া পর্যন্ত চলা বন্ধ করে দেবে।
বারবার নড়াচড়া, দীর্ঘক্ষণ ধরে চলা, বা কোনো বস্তুকে ধাক্কা দেওয়ার সময় মোটর বা মোটর গ্রুপটি অতিরিক্ত গরম হয়ে যাচ্ছে কিনা, তা পরীক্ষা করতে এটি ব্যবহার করা যেতে পারে।
Available Functions1 — মোটর বা মোটর গ্রুপের তাপমাত্রা সর্বোচ্চ কার্যকরী তাপমাত্রার শতাংশ হিসাবে ফেরত দেয়।
double temperature( percentUnits units = percent );
2 — মোটর বা মোটর গ্রুপের তাপমাত্রা ভৌত তাপমাত্রার এককে ফেরত দেয়।
double temperature( temperatureUnits units );
প্যারামিটার
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
মোটর বা মোটর গ্রুপের তাপমাত্রা শতাংশে প্রকাশ করার জন্য ব্যবহৃত একক:
|
|
|
মোটর বা মোটর গ্রুপের তাপমাত্রা ডিগ্রিতে প্রকাশ করার একক:
|
রিটার্ন মান
নির্দিষ্ট এককে মোটর বা মোটর গ্রুপের তাপমাত্রা বোঝাতে একটি double রিটার্ন করে।
নোট
মোটরের কার্যকরী তাপমাত্রার পরিসীমা প্রায়
20°C(68°F) থেকে70°C(158°F)।যখন
motor_groupএর উপর কল করা হয়, এই ফাংশনটি গ্রুপের প্রথম মোটরের তাপমাত্রা রিটার্ন করে।
voltage#
voltage মোটর বা মোটর গ্রুপে সরবরাহকৃত বৈদ্যুতিক ভোল্টেজ ফেরত দেয়।
double voltage(
voltageUnits units = volt );
প্যারামিটার
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ভোল্টেজ প্রকাশের একক:
|
রিটার্ন মান
নির্দিষ্ট এককে মোটর বা মোটর গ্রুপে সরবরাহকৃত বৈদ্যুতিক ভোল্টেজ বোঝাতে একটি double রিটার্ন করে।
নোট
যখন একটি
motor_groupউপর কল করা হয়, তখন এই ফাংশনটি গ্রুপের প্রথম মোটরের বৈদ্যুতিক ভোল্টেজ ফেরত দেয়।
direction#
direction মোটর বা মোটর গ্রুপটি যে দিকে ঘুরছে তা নির্দেশ করে।
directionType direction();
প্যারামিটার
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন মান
একটি directionType রিটার্ন করে যা মোটর বা মোটর গ্রুপের বর্তমান দিক নির্দেশ করে:
forward— The motor or motor group is spinning forward.reverse— The motor or motor group is spinning in reverse.
installed#
installed রিটার্ন করে যে মোটর বা মোটর গ্রুপটি আইকিউ (১ম প্রজন্ম) ব্রেইনের সাথে সংযুক্ত কিনা।
bool installed();
প্যারামিটার
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন মান
মোটর বা মোটর গ্রুপ সংযুক্ত আছে কিনা তা নির্দেশ করতে একটি bool (বুলিয়ান) রিটার্ন করে।
true— The motor or motor group is connected.false— The motor or motor group is not connected.
count#
count একটি মোটর গ্রুপে থাকা মোটরের সংখ্যা ফেরত দেয়।
int32_t count();
প্যারামিটার
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
রিটার্ন মান
মোটর গ্রুপে থাকা মোটরের সংখ্যা নির্দেশকারী একটি int32_t রিটার্ন করে।