المشفر#

مقدمة#

يُستخدم مُشفّر الفئة encoder مع مُشفّر العمود البصري، الذي يقيس موضع دوران العمود وسرعته. ويستخدم مستشعرات بصرية داخلية للكشف عن مدى وسرعة دوران العمود، مما يجعله مفيدًا لتتبع دوران العجلات، أو موضع الذراع، أو غيرها من الآليات.

مشفّر العمود البصري VEX.

مُنشئ الفئة#

encoder(
  triport::port &port );

مُدمِّر الفئة#

يقوم بتدمير الكائن encoder وتحرير الموارد المرتبطة به.

virtual ~encoder();

حدود#

المعلمة

يكتب

وصف

port

triport::port &

المنفذ الأول ثلاثي الأسلاك من مجموعة منافذ ثنائية مطلوبة يستخدمها مشفر العمود البصري. يشغل المشفر منفذين متجاورين (A–B، C–D، E–F، أو G–H) إما على وحدة التحكم الرئيسية أو على موسع ثلاثي الأسلاك. حدد المنفذ الأول في الزوج (A، C، E، أو G)، ويكتب كالتالي: Brain.ThreeWirePort.X أو ExpanderName.X حيث X هو حرف المنفذ (على سبيل المثال، Brain.ThreeWirePort.A أو Expander1.C).

أمثلة#

// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);

الدوال الأعضاء#

تتضمن فئة المشفر encoder الدوال الأعضاء التالية:

  • setPosition — يضبط الموضع الحالي للمشفر على قيمة محددة.

  • position — تُرجع هذه الدالة مقدار دوران المشفر.

  • velocity — تُرجع السرعة الدورانية الحالية للمشفر.

قبل استدعاء أي من الدوال الأعضاء في المشفر encoder يجب إنشاء مثيل للمشفر encoder كما هو موضح أدناه:

/* This constructor is required when using VS Code.
Encoder configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create an encoder instance in Ports A and B
encoder EncoderA = encoder(Brain.ThreeWirePort.A);

setPosition#

يضبط هذا الخيار موضع المشفر الحالي على قيمة محددة. ويمكن استخدامه لضبط الموضع المراد تتبعه يدويًا دون تدوير محرك أو آلية أخرى.

Available Functions
void setPosition(
  double        value,
  rotationUnits units);

Parameters

حدود

يكتب

وصف

value

double

الوضع الدوراني المراد ضبطه.

units

rotationUnits

الوحدة التي تمثل الموضع:

  • deg / degrees — درجات
  • turns / rev — دورات

Return Values

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

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

The unit used to represent the velocity:

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

Return Values

تُرجع قيمة double تمثل السرعة بالوحدات المحددة.