محرك فيكتور 883#
مقدمة#
تُستخدم الفئة motor_victor للتحكم في وحدة تحكم المحرك Victor 883 المتصلة بمنفذ ثلاثي الأسلاك. تُرسل وحدة تحكم المحرك Victor 883 إشارة PWM من وحدة EXP Brain للتحكم في محركات VEXpro أو VEX EDR DC المتوافقة التي لا يمكن توصيلها مباشرةً بالمنافذ الذكية.
لا يمكن تهيئة وحدة التحكم في المحرك Victor 883 في VEXcode ويجب إنشاؤها يدويًا في الكود لكي يتم استخدامها.
مُنشئات الفئات#
1 — يقوم بإنشاء كائن
motor_victorالتحكم في المحرك Victor 883 المتصلة بمنفذ 3-Wire المحدد.motor_victor( triport::port& port );
2 — يقوم بإنشاء كائن motor_victor
motor_victorويمكنه عكس اتجاهه اختيارياً.motor_victor( triport::port& port, bool reverse );
مُدمِّر الفئة#
يقوم بتدمير الكائن motor_victor وتحرير الموارد المرتبطة به.
~motor_victor();
حدود#
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
المنفذ ذو الثلاثة أسلاك الذي يتصل به محرك Victor 883، مكتوبًا على النحو التالي: |
|
|
يُحدد ما إذا كان اتجاه دوران المحرك معكوسًا:
|
مثال#
// Create the motor_victor instance on 3-Wire Port A
motor_victor victor = motor_victor(Brain.ThreeWirePort.A);
// Create the motor_victor instance with reversed direction
motor_victor victor2 = motor_victor(Brain.ThreeWirePort.B, true);
الدوال الأعضاء#
تتضمن فئة motor_victor الدوال الأعضاء التالية:
spin— يدور المحرك في اتجاه محدد.stop— يوقف المحرك.setVelocity— يخبر المحرك بمدى سرعة دورانه.setReversed— يحدد اتجاه المحرك ليكون معكوسًا أم لا.
قبل استدعاء أي من الدوال الأعضاء motor_victor ، يجب إنشاء مثيل motor_victor ، كما هو موضح أدناه:
/* This constructor is required to use a
Victor 883 Motor. Replace the values
as needed. */
// Create the motor_victor instance on 3-Wire Port A
motor_victor victor = motor_victor(Brain.ThreeWirePort.A);
spin#
يدور المحرك في الاتجاه المحدد إلى الأبد.
Available Functions1 — يقوم بتدوير المحرك باستخدام سرعة المحرك المُهيأة حاليًا.
void spin( directionType dir );
Parameters2 — يدير المحرك بالسرعة المحددة.
void spin( directionType dir, double velocity, velocityUnits units );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
اتجاه دوران المحرك: |
|
|
سرعة الدوران من 0% إلى 100% عند استخدام |
|
|
The velocity unit:
|
هذه الدالة لا تُرجع قيمة.
Notesسيستمر المحرك في الدوران حتى يتم استدعاء
stopأو يتم تنفيذ وظيفة حركة أخرى.
// Spin forward, then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();
// Spin forward at 100 rpm
victor.spin(forward, 100, rpm);
wait(1, seconds);
victor.stop();
stop#
يوقف دوران المحرك.
Available Functionsvoid stop();
لا تقبل هذه الدالة أي معلمات.
Return Valuesهذه الدالة لا تُرجع قيمة.
Notesيؤدي استدعاء الأمر
stopإلى إيقاف أي حركة حالية للمحرك على الفور.
// Spin and then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();
setVelocity#
يُحدد هذا الإعداد سرعة دوران المحرك. فزيادة النسبة المئوية تجعل المحرك يدور بسرعة أكبر، بينما انخفاضها يجعله يدور بسرعة أقل.
يبدأ كل مشروع بدوران كل محرك متصل بسرعة 50% بشكل افتراضي.
Available Functionsvoid setVelocity(
double velocity,
percentUnits units );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
سرعة الدوران من 0% إلى 100% عند استخدام |
|
|
The velocity unit: |
هذه الدالة لا تُرجع قيمة.
Notesأي وظيفة حركة لاحقة لمحرك Victor 883 (مثل
spin) لا تحدد السرعة بشكل صريح ستستخدم هذه القيمة.
// Set velocity to 50%, then spin
victor.setVelocity(50, percent);
victor.spin(forward);
setReversed#
يحدد اتجاه دوران المحرك، سواء كان معكوساً أم لا.
Available Functionsvoid setReversed( bool value );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
ما إذا كان اتجاه دوران المحرك معكوسًا:
|
هذه الدالة لا تُرجع قيمة.
Notesهذا يشبه تغيير المعامل
reverseفي المنشئ.
// Reverse the motor direction
victor.setReversed(true);
victor.spin(forward); // Will actually spin in reverse