وحدة التحكم#

مقدمة#

يحتوي جهاز التحكم V5 على أزرار، وعصا تحكم مزدوجة، ومحرك اهتزاز، وشاشة. يمكن استخدام وحدات التحكم للتحقق من ضغطات الأزرار، وقراءة حركة عصا التحكم، واهتزاز جهاز التحكم، وتفعيل أو تعطيل إجراءات جهاز التحكم المُهيأة، وتشغيل الوحدات عند وقوع أحداث معينة في جهاز التحكم، أو عرض نص على شاشة جهاز التحكم.

إجراءات وحدة التحكم المُهيأة هي سلوكيات وحدة التحكم التي يتم ضبطها في قائمة الأجهزة. استخدم كتلة تمكين/تعطيل وحدة التحكم لتمكين أو تعطيل هذه الإجراءات المُهيأة مؤقتًا أثناء المشروع.

فيما يلي قائمة بالكتل المتاحة:

القيم — تحقق من حالة أزرار وحدة التحكم أو اقرأ موضع عصا التحكم.

الإجراءات — هز وحدة التحكم، أو تفعيل/تعطيل إجراءات وحدة التحكم المُهيأة، أو تشغيل الكتل البرمجية عند تغيير مدخلات وحدة التحكم.

الشاشة — عرض النصوص والأرقام على شاشة وحدة التحكم.

قيم#

هل تم الضغط على زر التحكم؟#

تقوم كتلة Controller pressed? المنطقية بإرجاع ما إذا كان يتم الضغط على زر معين في وحدة التحكم.

الجانبان الأمامي والخلفي لوحدة التحكم V5 مع تمييز الأزرار باللون الأصفر. على سطح وحدة التحكم، توجد أزرار الأسهم لأعلى، ولأسفل، ولليسار، ولليمين على اليسار، وأزرار X، وA، وB، وY باتجاه عقارب الساعة بدءًا من الساعة 12 على اليمين. على الجانب الخلفي لوحدة التحكم، توجد أزرار L1، وL2، وR1، وR2 على الجانبين الأيسر والأيمن على التوالي.

هل تم الضغط على وحدة التحكم؟ كتلة منطقية#
<[Controller1 v] [▲ v] مضغوط؟>

المعلمة

وصف

جهاز

وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة.

زر

الزر المراد التحقق منه:

  • ▲
  • ▼
  • ◀
  • ▶
  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

مثال

عند بدء التشغيل، تتحرك السيارة للأمام أثناء الضغط على زر X.#
عند البدء
[Drive forward while X is pressed.]
للأبد
إذا <[Controller1 v] [X v] مضغوط؟> إذن
تشغيل [للأمام v]
وإلا
إيقاف القيادة
fin
fin

موقع المراقب#

تقوم كتلة الإبلاغ عن موضع وحدة التحكم بإرجاع موضع عصا التحكم على طول محور محدد كرقم من -100 إلى 100.

وحدة تحكم VEX V5 مع تسمية المحاور المحيطة بعصا التحكم. المحوران 1 و2 حول عصا التحكم اليمنى، والمحوران 3 و4 حول اليسرى.

وحدة الإبلاغ عن موضع وحدة التحكم#
([Controller1 v] [1 v] position :: sensing)

المعلمة

وصف

جهاز

وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة.

محور

محاور عصا التحكم المطلوب الإبلاغ عنها:

  • 1 — المحور الأفقي لعصا التحكم اليمنى
  • 2 — المحور الرأسي لعصا التحكم اليمنى
  • 3 — المحور الرأسي لعصا التحكم اليسرى
  • 4 — المحور الأفقي لعصا التحكم اليسرى

مثال

عند بدء التشغيل، تتحرك السيارة للأمام بينما يتم دفع عصا التحكم اليسرى لأعلى.#
عند البدء
[Drive forward while the left joystick is pushed up.]
للأبد
إذا <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> إذن
تشغيل [للأمام v]
وإلا
إيقاف القيادة
fin
fin

الإجراءات#

قم بتشغيل خاصية الاهتزاز على وحدة التحكم#

تقوم كتلة “تشغيل الاهتزاز على وحدة التحكم” بتشغيل نمط اهتزاز على وحدة التحكم.

قم بتشغيل خاصية الاهتزاز على وحدة التحكم.#
تشغيل اهتزاز [طويل v] على [Controller1 v]

المعلمة

وصف

نمط

نمط الاهتزاز الذي يتم تشغيله على وحدة التحكم:

  • طويل — اهتزاز طويل واحد
  • قصير — اهتزاز قصير واحد
  • نبضي — نمط من الاهتزازات المتقطعة

جهاز

وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة.

مثال

عند الضغط على زر R1، يصدر صوت اهتزاز قصير على وحدة التحكم.#
عند[Controller1 v] زر [R1 v] [مضغوط v] :: hat events
تشغيل اهتزاز [قصير v] على [Controller1 v]

تفعيل/تعطيل وحدة التحكم#

تتيح كتلة تمكين/تعطيل وحدة التحكم أو تعطل الإجراءات التي تم تكوينها بواسطة وحدة التحكم من قائمة الأجهزة لجميع وحدات التحكم المتصلة.

تمكين/تعطيل كتلة المكدس بواسطة وحدة التحكم#
وحدة التحكم [تعطيل v]

المعلمة

وصف

ولاية

تم تكوين حالة الإجراء في وحدة التحكم: تعطيل أو تمكين.

مثال

عند بدء التشغيل، يتم تعطيل إجراءات وحدة التحكم المُكوّنة أثناء تحرك الروبوت للأمام.#
عند البدء
[Disable Controller configured actions until the drive movement is done.]
وحدة التحكم [تعطيل v]
تشغيل [للأمام v] لمسافة (6) [بوصة v] ▶
وحدة التحكم [تفعيل v]

عند الضغط على زر وحدة التحكم#

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

الجانبان الأمامي والخلفي لوحدة التحكم V5 مع تمييز الأزرار باللون الأصفر. على سطح وحدة التحكم، توجد أزرار الأسهم لأعلى، ولأسفل، ولليسار، ولليمين على اليسار، وأزرار X، وA، وB، وY باتجاه عقارب الساعة بدءًا من الساعة 12 على اليمين. على الجانب الخلفي لوحدة التحكم، توجد أزرار L1، وL2، وR1، وR2 على الجانبين الأيسر والأيمن على التوالي.

عند الضغط على زر وحدة التحكم، يتم تشغيل كتلة القبعة#
عند[Controller1 v] زر [▲ v] [مضغوط v] :: hat events

المعلمة

وصف

جهاز

وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة.

زر

الزر المراد التحقق منه:

  • ▲
  • ▼
  • ◀
  • ▶
  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

حالة الزر

حدث الزر الذي يؤدي إلى تشغيل المكدس المرفق: مضغوط أو محرر.

مثال

عند الضغط على زر R1، تتحرك السيارة للأمام لمسافة 200 مليمتر.#
عند[Controller1 v] زر [R1 v] [مضغوط v] :: hat events
[Drive forward when R1 is pressed.]
تشغيل [للأمام v] لمسافة (200) [مم v] ▶

عند تغيير محور وحدة التحكم#

تقوم كتلة “عند تغيير محور التحكم” بتشغيل المكدس المرفق عندما يتغير موضع عصا التحكم على طول المحور المحدد.

وحدة تحكم VEX V5 مع تسمية المحاور المحيطة بعصا التحكم. المحوران 1 و2 حول عصا التحكم اليمنى، والمحوران 3 و4 حول اليسرى.

عند تغيير محور وحدة التحكم، كتلة القبعة#
when [Controller1 v] axis [1 v] is changed :: hat events

المعلمة

وصف

جهاز

وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة.

محور

محاور عصا التحكم المراد فحصها:

  • 1 — المحور الأفقي لعصا التحكم اليمنى
  • 2 — المحور الرأسي لعصا التحكم اليمنى
  • 3 — المحور الرأسي لعصا التحكم اليسرى
  • 4 — المحور الأفقي لعصا التحكم اليسرى

مثال

عندما يتغير موضع عصا التحكم على طول محور وحدة التحكم 3، فإنها تتحرك للأمام لمسافة 200 مليمتر.#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
تشغيل [للأمام v] لمسافة (200) [مم v] ▶

شاشة#

قم بتعيين المؤشر إلى الصف والعمود في وحدة التحكم#

تقوم كتلة تعيين المؤشر إلى صف وعمود في وحدة التحكم بنقل المؤشر إلى صف وعمود محددين على شاشة وحدة التحكم. ستظهر القيمة المطبوعة التالية في ذلك الموضع.

قم بتعيين المؤشر إلى الصف والعمود في كتلة مكدس وحدة التحكم#
اضبط المؤشر على الصف [1] العمود [1] على [Controller1 v] :: custom-controller-inertial-timer

المعلمة

وصف

صف

الصف الذي يجب تحريك المؤشر إليه على شاشة وحدة التحكم.

عمود

العمود الذي يجب تحريك المؤشر إليه على شاشة وحدة التحكم.

جهاز

وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة.

مثال

عند بدء التشغيل، يقوم البرنامج بطباعة النص في الصف الثاني، العمود الأول على شاشة التحكم.#
عند البدء
[Display a message on row 2.]
اضبط المؤشر على الصف [2] العمود [1] على [Controller1 v] :: custom-controller-inertial-timer
اطبع [Ready] على [Controller1 v] ▶ :: custom-controller-inertial-timer

قم بتعيين المؤشر إلى الصف التالي في وحدة التحكم#

تقوم كتلة تعيين المؤشر إلى الصف التالي في وحدة التحكم بنقل المؤشر إلى العمود 1 في الصف التالي من شاشة وحدة التحكم. ستظهر القيمة المطبوعة التالية في ذلك الصف.

قم بتعيين المؤشر إلى الصف التالي في كتلة مكدس وحدة التحكم#
انتقل للصف التالي على [Controller1 v] :: custom-controller-inertial-timer

المعلمة

وصف

جهاز

وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة.

مثال

عند بدء التشغيل، يقوم البرنامج بطباعة سطرين على شاشة وحدة التحكم.#
عند البدء
[Display two rows of text.]
اطبع [Row 1] على [Controller1 v] ▶ :: custom-controller-inertial-timer
انتقل للصف التالي على [Controller1 v] :: custom-controller-inertial-timer
اطبع [Row 2] على [Controller1 v] ▶ :: custom-controller-inertial-timer

اضبط دقة الطباعة على وحدة التحكم#

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

ضبط دقة الطباعة على كتلة مكدس وحدة التحكم#
اضبط دقة الطباعة إلى [0.1 v] على [Controller1 v] :: custom-controller-inertial-timer

المعلمة

وصف

دقة

دقة الطباعة المطلوبة:

  • 1 — بدون منازل عشرية
  • 0.1 — منزلة عشرية واحدة
  • 0.01 — منزلتان عشريتان
  • 0.001 — ثلاث منازل عشرية
  • جميع الأرقام — جميع المنازل العشرية المتاحة

جهاز

وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة.

مثال

عند بدء التشغيل، يعرض 1/3 مع منزلتين عشريتين على شاشة وحدة التحكم.#
عند البدء
[Display 1/3 with two decimals.]
اضبط دقة الطباعة إلى [0.01 v] على [Controller1 v] :: custom-controller-inertial-timer
اطبع ([1] [math_division v] [3]) على [Controller1 v] ▶ :: custom-controller-inertial-timer

وحدة تحكم واضحة#

تقوم كتلة المكدس مسح وحدة التحكم بمسح جميع الصفوف على شاشة وحدة التحكم وإعادة المؤشر إلى الصف الأول.

كتلة تحكم واضحة#
امسح [Controller1 v] :: custom-controller-inertial-timer

المعلمة

وصف

جهاز

وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة.

مثال

عند بدء التشغيل، يقوم البرنامج بطباعة النص، ثم ينتظر، ثم يمسح شاشة وحدة التحكم.#
عند البدء
[Clear the Controller screen after printing.]
اطبع [This will disappear...] على [Controller1 v] ▶ :: custom-controller-inertial-timer
انتظر [2] ثانية
امسح [Controller1 v] :: custom-controller-inertial-timer

صف فارغ على وحدة التحكم#

تقوم كتلة المكدس مسح الصف على وحدة التحكم بمسح صف واحد على شاشة وحدة التحكم.

مسح صف في كتلة مكدس وحدة التحكم#
امسح الصف [1] على [Controller1 v] :: custom-controller-inertial-timer

المعلمة

وصف

صف

الصف المراد مسحه على شاشة وحدة التحكم.

جهاز

وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة.

مثال

عند بدء التشغيل، يتم مسح الصف 1 على شاشة وحدة التحكم.#
عند البدء
[Clear one row on the Controller screen.]
اطبع [Row 1] على [Controller1 v] ▶ :: custom-controller-inertial-timer
انتقل للصف التالي على [Controller1 v] :: custom-controller-inertial-timer
اطبع [Row 2] على [Controller1 v] ▶ :: custom-controller-inertial-timer
انتظر [2] ثانية
امسح الصف [1] على [Controller1 v] :: custom-controller-inertial-timer