محرك فيكتور 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();

حدود#

المعلمة

يكتب

وصف

port

triport::port&

المنفذ ذو الثلاثة أسلاك الذي يتصل به محرك Victor 883، مكتوبًا على النحو التالي: Brain.ThreeWirePort.X أو ExpanderName.X، حيث X هو حرف المنفذ (على سبيل المثال، Brain.ThreeWirePort.A أو Expander1.A).

reverse

bool

يُحدد ما إذا كان اتجاه دوران المحرك معكوسًا:

  • false (افتراضي) — لا يعكس اتجاه دوران المحرك.
  • true — يعكس اتجاه دوران المحرك.

مثال#

// 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 Functions

1 — يقوم بتدوير المحرك باستخدام سرعة المحرك المُهيأة حاليًا.

void spin(
 directionType dir );

2 — يدير المحرك بالسرعة المحددة.

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

Parameters

المعلمة

يكتب

وصف

dir

directionType

اتجاه دوران المحرك: forward أو reverse.

velocity

double

سرعة الدوران من 0% إلى 100% عند استخدام percent.

units

velocityUnits

The velocity unit:

  • percent / pct — percent
  • rpm — rotations per minute
  • dps — degrees per second

Return Values

هذه الدالة لا تُرجع قيمة.

Notes
  • سيستمر المحرك في الدوران حتى يتم استدعاء stop أو يتم تنفيذ وظيفة حركة أخرى.

Examples
// 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 Functions
void stop();

Parameters

لا تقبل هذه الدالة أي معلمات.

Return Values

هذه الدالة لا تُرجع قيمة.

Notes
  • يؤدي استدعاء الأمر stop إلى إيقاف أي حركة حالية للمحرك على الفور.

Examples
// Spin and then stop
victor.spin(forward);
wait(1, seconds);
victor.stop();

setVelocity#

يُحدد هذا الإعداد سرعة دوران المحرك. فزيادة النسبة المئوية تجعل المحرك يدور بسرعة أكبر، بينما انخفاضها يجعله يدور بسرعة أقل.

يبدأ كل مشروع بدوران كل محرك متصل بسرعة 50% بشكل افتراضي.

Available Functions
void setVelocity(
    double       velocity,
    percentUnits units );

Parameters

المعلمة

يكتب

وصف

velocity

double

سرعة الدوران من 0% إلى 100% عند استخدام percent.

units

percentUnits

The velocity unit:percent / pct — percent

Return Values

هذه الدالة لا تُرجع قيمة.

Notes
  • أي وظيفة حركة لاحقة لمحرك Victor 883 (مثل spin) لا تحدد السرعة بشكل صريح ستستخدم هذه القيمة.

Examples
// Set velocity to 50%, then spin
victor.setVelocity(50, percent);
victor.spin(forward);

setReversed#

يحدد اتجاه دوران المحرك، سواء كان معكوساً أم لا.

Available Functions
void setReversed( bool value );

Parameters

المعلمة

يكتب

وصف

value

bool

ما إذا كان اتجاه دوران المحرك معكوسًا:

  • true — يعكس اتجاه دوران المحرك.
  • false — يعيد اتجاه دوران المحرك إلى وضعه الافتراضي.

Return Values

هذه الدالة لا تُرجع قيمة.

Notes
  • هذا يشبه تغيير المعامل reverse في المنشئ.

Examples
// Reverse the motor direction
victor.setReversed(true);
victor.spin(forward); // Will actually spin in reverse