การใช้เทมเพลตการแข่งขัน Python ใน VEXcode V5

แม่แบบการแข่งขันเป็นตัวอย่างโครงการที่มีคำสั่งต่างๆ รวมอยู่แล้ว เพื่อใช้ในการสื่อสารกับระบบควบคุมภาคสนามระหว่างการแข่งขัน ช่วยให้มั่นใจได้ว่าคำสั่งต่างๆ เป็นไปตามข้อกำหนดของสนาม และช่วยในการตั้งค่าโครงการเพื่อหลีกเลี่ยงปัญหาและความผิดฐานถูกตัดสิทธิ์ ("การแข่งขัน" หมายถึงกิจกรรมการแข่งขันหุ่นยนต์ VEX V5 โดยใช้ฮาร์ดแวร์ควบคุมภาคสนามอย่างเป็นทางการ)  


เปิดเทมเพลตการแข่งขันจากหน้าตัวอย่าง

แถบเครื่องมือ VEXcode V5 โดยที่เมนู File เปิดอยู่ และตัวเลือก Open Examples ถูกไฮไลต์อยู่ "เปิดตัวอย่าง" เป็นตัวเลือกที่ห้าในเมนู ถัดจาก "โครงการบล็อกใหม่", "โครงการข้อความใหม่", "เปิด" และ "เปิดล่าสุด"


เมนูโครงการตัวอย่างในหมวดหมู่เทมเพลต โดยไฮไลต์โครงการตัวอย่างเทมเพลตการแข่งขัน


แม่แบบประกอบด้วยสามส่วน: โหมดก่อนการขับขี่อัตโนมัติ, โหมดขับขี่อัตโนมัติ และการควบคุมโดยผู้ขับขี่

# เริ่มโค้ดโปรเจ็กต์

def pre_autonomous():
  # การกระทำที่จะทำเมื่อโปรแกรมเริ่มต้น
  brain.screen.clear_screen()
  brain.screen.print("pre autonomous 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 autonomous code")
  wait(1, SECONDS)

ฟังก์ชันpre_autonomous ใช้สำหรับการตั้งค่าใดๆ ที่หุ่นยนต์ของคุณอาจต้องการ เช่น การปรับเทียบไจโร การตั้งค่าตัวแปร หรือการตั้งค่าอุปกรณ์อื่นๆ คำสั่งเหล่านี้จะทำงานทันทีเมื่อเริ่มโครงการ ก่อนที่ส่วนที่เป็นการทำงานอัตโนมัติของเกมจะเริ่มต้นขึ้น

ตัวอย่างโปรเจ็กต์เทมเพลตการแข่งขัน Python VEXcode V5 พร้อมฟังก์ชัน pre_autonomous() ที่แสดงอยู่ บรรทัดที่เยื้องเข้าไปหลังการประกาศฟังก์ชันจะถูกไฮไลต์เพื่อแสดงว่าทุกบรรทัดภายในฟังก์ชันควรมีการเยื้องเข้าไปด้วย

ตรวจสอบให้แน่ใจว่าคำสั่งทั้งหมดมีการเยื้องอย่างถูกต้องเพื่อให้เห็นเส้นนำทางระหว่างฟังก์ชันpre_autonomous และautonomous

: หากไม่จำเป็นต้องตั้งค่าใดๆ ฟังก์ชันนี้สามารถเว้นว่างไว้ได้


อิสระ

def autonomous():
  brain.screen.clear_screen()
  brain.screen.print("โค้ดอัตโนมัติ")
  # วางโค้ดอัตโนมัติไว้ที่นี่

ฟังก์ชัน อัตโนมัติ ใช้สำหรับควบคุมหุ่นยนต์ของคุณในระหว่างช่วงการทำงานอัตโนมัติของการแข่งขัน VRC คำสั่งต่างๆ ภายในฟังก์ชันนี้จะทำงานเมื่อการแข่งขันเริ่มต้นช่วงอัตโนมัติ

ตัวอย่างโปรเจ็กต์เทมเพลตการแข่งขัน Python VEXcode V5 พร้อมฟังก์ชัน autonomous() ที่แสดงอยู่ บรรทัดที่เยื้องเข้าไปหลังการประกาศฟังก์ชันจะถูกไฮไลต์เพื่อแสดงว่าทุกบรรทัดภายในฟังก์ชันควรมีการเยื้องเข้าไปด้วย

ตรวจสอบให้แน่ใจว่าคำสั่งทั้งหมดมีการเยื้องอย่างถูกต้องเพื่อให้เห็นเส้นนำทางระหว่างฟังก์ชันpre_autonomous และautonomous

: หากไม่จำเป็นต้องตั้งค่าใดๆ ฟังก์ชันนี้สามารถเว้นว่างไว้ได้


การควบคุมของผู้ใช้

def user_control():
  brain.screen.clear_screen()
  # วางการควบคุมของคนขับไว้ในลูป while นี้
  while True:
    wait(20, MSEC)

ฟังก์ชัน user_control ใช้สำหรับควบคุมหุ่นยนต์ของคุณในระหว่างช่วงการควบคุมของคนขับในการแข่งขัน VRC  คำสั่งต่างๆ ภายในฟังก์ชันนี้จะทำงานเมื่อการแข่งขันเริ่มต้นช่วงควบคุมผู้ขับขี่ (Driver Control)

: ลูป ในขณะที่เป็นจริง แสดงอยู่ด้านบนเพื่อให้หุ่นยนต์ตอบสนองต่ออินพุตจากตัวควบคุม V5 ตลอดการแข่งขัน

ตัวอย่างโปรเจ็กต์เทมเพลตการแข่งขัน Python VEXcode V5 พร้อมฟังก์ชัน user_control() ที่แสดงอยู่ บรรทัดว่างหลายบรรทัดที่มีการเยื้องสองครั้งภายในลูป while True ถูกไฮไลต์เพื่อแสดงว่าทุกบรรทัดภายในลูปนี้ควรมีการเยื้องสองครั้ง

ตรวจสอบให้แน่ใจว่าคำสั่งทั้งหมดมีการเยื้องอย่างถูกต้องภายในลูปwhile True ขณะเขียนโค้ดส่วนควบคุมผู้ใช้ ควรมีเส้นนำทางสองเส้นปรากฏให้เห็นดังที่แสดงไว้ในภาพนี้ หนึ่งเพราะในขณะที่ True อยู่ภายในฟังก์ชัน user_control อีกวิธีหนึ่งคือเพื่อให้แน่ใจว่าคำสั่งต่างๆ อยู่ภายในลูปในขณะที่ True

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

Last Updated: