وحدة التحكم#
مقدمة#
يحتوي جهاز التحكم V5 على أزرار، وعصا تحكم مزدوجة، ومحرك اهتزاز، وشاشة. يمكن استخدام وحدات التحكم للتحقق من ضغطات الأزرار، وقراءة حركة عصا التحكم، واهتزاز جهاز التحكم، وتفعيل أو تعطيل إجراءات جهاز التحكم المُهيأة، وتشغيل الوحدات عند وقوع أحداث معينة في جهاز التحكم، أو عرض نص على شاشة جهاز التحكم.
إجراءات وحدة التحكم المُهيأة هي سلوكيات وحدة التحكم التي يتم ضبطها في قائمة الأجهزة. استخدم كتلة تمكين/تعطيل وحدة التحكم لتمكين أو تعطيل هذه الإجراءات المُهيأة مؤقتًا أثناء المشروع.
فيما يلي قائمة بالكتل المتاحة:
القيم — تحقق من حالة أزرار وحدة التحكم أو اقرأ موضع عصا التحكم.
هل تم الضغط على وحدة التحكم؟ — تُرجع ما إذا كان يتم الضغط على زر وحدة التحكم المحدد.
موضع وحدة التحكم — يعيد موضع عصا التحكم على طول محور محدد.
الإجراءات — هز وحدة التحكم، أو تفعيل/تعطيل إجراءات وحدة التحكم المُهيأة، أو تشغيل الكتل البرمجية عند تغيير مدخلات وحدة التحكم.
تشغيل الاهتزاز على وحدة التحكم — يقوم بتشغيل نمط الاهتزاز على وحدة التحكم.
تمكين/تعطيل وحدة التحكم — يقوم بتمكين أو تعطيل إجراءات وحدة التحكم التي تم تكوينها في قائمة الأجهزة لجميع وحدات التحكم المتصلة.
عند الضغط على زر وحدة التحكم — يقوم بتشغيل المكدس المرفق عند الضغط على زر محدد أو تحريره.
عند تغيير محور وحدة التحكم — يقوم بتشغيل المكدس المرفق عندما يتغير موضع عصا التحكم على طول المحور المحدد.
الشاشة — عرض النصوص والأرقام على شاشة وحدة التحكم.
print on controller — يعرض النص أو الأرقام أو قيم المتغيرات على شاشة وحدة التحكم.
تعيين المؤشر إلى صف وعمود محددين في وحدة التحكم — ينقل المؤشر إلى صف وعمود محددين على شاشة وحدة التحكم.
تعيين المؤشر إلى الصف التالي في وحدة التحكم — ينقل المؤشر إلى الصف التالي في شاشة وحدة التحكم.
ضبط دقة الطباعة على وحدة التحكم — يحدد عدد المنازل العشرية التي يتم عرضها عند طباعة الأرقام على شاشة وحدة التحكم.
مسح وحدة التحكم — يمسح جميع الصفوف على شاشة وحدة التحكم.
مسح صف واحد على وحدة التحكم — يمسح صفًا واحدًا على شاشة وحدة التحكم.
قيم#
هل تم الضغط على زر التحكم؟#
تقوم كتلة Controller pressed? المنطقية بإرجاع ما إذا كان يتم الضغط على زر معين في وحدة التحكم.

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

([Controller1 v] [1 v] position :: sensing)
المعلمة |
وصف |
|---|---|
جهاز |
وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة. |
محور |
محاور عصا التحكم المطلوب الإبلاغ عنها:
|
مثال
عند البدء
[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]
المعلمة |
وصف |
|---|---|
نمط |
نمط الاهتزاز الذي يتم تشغيله على وحدة التحكم:
|
جهاز |
وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة. |
مثال
عند[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]
عند تغيير محور وحدة التحكم#
تقوم كتلة “عند تغيير محور التحكم” بتشغيل المكدس المرفق عندما يتغير موضع عصا التحكم على طول المحور المحدد.

when [Controller1 v] axis [1 v] is changed :: hat events
المعلمة |
وصف |
|---|---|
جهاز |
وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة. |
محور |
محاور عصا التحكم المراد فحصها:
|
مثال
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
تشغيل [للأمام v] لمسافة (200) [مم v] ▶
شاشة#
الطباعة على وحدة التحكم#
يعرض عنصر “الطباعة على وحدة التحكم” المكدس النصوص أو الأرقام أو القيم المتغيرة على شاشة وحدة التحكم عند موضع المؤشر الحالي.
اطبع [VEXcode] على [Controller1 v] ▶ :: custom-controller-inertial-timer
المعلمة |
وصف |
|---|---|
قيمة |
النص أو الرقم أو قيمة المتغير المراد عرضها على شاشة وحدة التحكم. |
جهاز |
وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة. |
سهم متوسع |
يُوسّع هذا الخيار الكتلة لتشمل وضع المؤشر في الصف التالي، مما ينقل المؤشر إلى الصف التالي بعد طباعة القيمة. في حال عدم استخدام هذا الخيار، تظهر القيمة المطبوعة التالية مباشرةً بعد القيمة السابقة في نفس الصف. |
مثال
عند البدء
[Display a message on the Controller screen.]
اطبع [Hello, robot!] على [Controller1 v] ▶ :: custom-controller-inertial-timer
قم بتعيين المؤشر إلى الصف والعمود في وحدة التحكم#
تقوم كتلة تعيين المؤشر إلى صف وعمود في وحدة التحكم بنقل المؤشر إلى صف وعمود محددين على شاشة وحدة التحكم. ستظهر القيمة المطبوعة التالية في ذلك الموضع.
اضبط المؤشر على الصف [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
المعلمة |
وصف |
|---|---|
دقة |
دقة الطباعة المطلوبة:
|
جهاز |
وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة. |
مثال
عند البدء
[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
المعلمة |
وصف |
|---|---|
صف |
الصف المراد مسحه على شاشة وحدة التحكم. |
جهاز |
وحدة التحكم المراد استخدامها، والتي تم تكوينها في نافذة الأجهزة. |
مثال
عند البدء
[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