استخدام قالب مسابقة بايثون في VEXcode V5

قالب المسابقة هو مشروع نموذجي يحتوي على أوامر مضمنة بالفعل للتواصل مع نظام التحكم الميداني أثناء المسابقات، ويضمن توافق الأوامر مع اللوائح الميدانية، ويساعد في إعداد المشاريع لتجنب التعقيدات والاستبعاد ("المسابقة" تشير إلى حدث مسابقة VEX V5 للروبوتات باستخدام أجهزة التحكم الميدانية الرسمية).  


افتح نموذج المسابقة من صفحة الأمثلة

شريط أدوات VEXcode V5 مع فتح قائمة الملفات وتحديد خيار "فتح الأمثلة". يُعد خيار "فتح الأمثلة" الخيار الخامس في القائمة، أسفل "مشروع كتل جديد" و"مشروع نص جديد" و"فتح" و"فتح الأمثلة الأخيرة".


قائمة "المشاريع النموذجية" في فئة "القوالب" مع تسليط الضوء على مشروع نموذج "قالب المسابقة".


ثلاثة أقسام من النموذج: ما قبل الوضع المستقل، والوضع المستقل، وتحكم السائق

# بدء كود المشروع

def pre_autonomous():
  # الإجراءات التي يتم تنفيذها عند بدء تشغيل البرنامج
  brain.screen.clear_screen()
  brain.screen.print("pre auton code")
  wait(1, SECONDS)
  
def autonomous():
  brain.screen.clear_screen()
  brain.screen.print("autonomous code")
  # ضع كود التشغيل الذاتي هنا
  
def user_control():
  brain.screen.clear_screen()
  # ضع تحكم السائق في حلقة while هذه
  while True:
    wait(20, MSEC)
    
# إنشاء مثيل المنافسة
comp = Competition(user_control, autonomous)
pre_autonomous()

: لكي ينجح مشروعك في المسابقة، يجب عليك ترك هذه الوظائف في مشروعك. أضف الأوامر حيث تشير التعليقات لكل قسم.


استخدم الدالة pre_autonomous لأي ​​إعداد

def pre_autonomous():
  # الإجراءات التي يتم تنفيذها عند بدء تشغيل البرنامج
  brain.screen.clear_screen()
  brain.screen.print("pre auton code")
  wait(1, SECONDS)

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

مشروع قالب مسابقة بايثون VEXcode V5 مع عرض وظيفة pre_autonomous(). يتم تمييز الأسطر ذات المسافة البادئة بعد تعريف الدالة للإشارة إلى أنه يجب أن تكون كل سطر داخل الدالة مسافة بادئة.

تأكد من أن جميع الأوامر مُنسقة بشكل صحيح بحيث يكون الخط الإرشادي مرئيًا بين الوظائفpre_autonomous وautonomous.

: إذا لم تكن هناك حاجة إلى إعداد، فيمكن أن تظل هذه الوظيفة فارغة.


مستقل

def autonomous():
  brain.screen.clear_screen()
  brain.screen.print("autonomous code")
  # ضع الكود المستقل هنا

تُستخدم وظيفة المستقلة للتحكم في الروبوت الخاص بك أثناء الجزء المستقل من مباراة VRC. سيتم تنفيذ الأوامر داخل هذه الوظيفة عندما تبدأ المباراة فترة اللعب المستقل.

مشروع قالب مسابقة بايثون VEXcode V5 مع عرض الدالة autonomous(). يتم تمييز الأسطر ذات المسافة البادئة بعد تعريف الدالة للإشارة إلى أنه يجب أن تكون كل سطر داخل الدالة مسافة بادئة.

تأكد من أن جميع الأوامر مُنسقة بشكل صحيح بحيث يكون الخط الإرشادي مرئيًا بين الوظائفpre_autonomous وautonomous.

: إذا لم تكن هناك حاجة إلى إعداد، فيمكن أن تظل هذه الوظيفة فارغة.


تحكم المستخدم

دالة التحكم للمستخدم():
  brain.screen.clear_screen()
  # ضع عنصر تحكم السائق في حلقة while هذه
  while True:
    wait(20, MSEC)

تُستخدم وظيفة user_control للتحكم في الروبوت الخاص بك أثناء جزء التحكم في السائق من مباراة VRC.  سيتم تنفيذ الأوامر الموجودة ضمن هذه الوظيفة عندما تبدأ المباراة فترة التحكم في السائق.

: تم عرض حلقة while True أعلاه حتى يستجيب الروبوت للإدخال من وحدة التحكم V5 طوال المباراة.

مشروع قالب مسابقة بايثون VEXcode V5 مع عرض وظيفة user_control(). تم تمييز عدة أسطر فارغة ذات مسافة بادئة مزدوجة داخل حلقة while True للإشارة إلى أنه يجب أن تكون كل سطر داخل هذه الحلقة مسافة بادئة مرتين.

تأكد من أن جميع الأوامر مُرتبة بشكل صحيح داخل حلقةwhile True أثناء كتابة جزء التحكم الخاص بالمستخدم. يجب أن يكون هناك خطان إرشاديان مرئيان كما هو موضح هنا. واحد لأنبينما صحيح يقع داخلuser_control دالة. أما الآخر فهو التأكد من أن الأوامر تقع ضمن حلقةwhile True.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: