ตัวควบคุมและลูป
ในการแข่งขันทีมจะต้องจัดการหุ่นยนต์ของพวกเขาแบบไร้สายด้วยตัวควบคุม ตัวควบคุมถูกตั้งโปรแกรมให้อัปเดตหุ่นยนต์ตามอินพุตจากผู้ใช้ ลูปถูกใช้ในโครงการเพื่อให้หุ่นยนต์ตรวจสอบข้อมูลอินพุตที่อัปเดตซ้ำๆ ลูปช่วยให้โครงการสามารถตรวจสอบได้อย่างรวดเร็วว่ามีการกดปุ่มใดหรือกดจอยสติ๊กไกลแค่ไหน เมื่อตรวจสอบแล้วข้อมูลนี้จะถูกส่งต่อไปยังหุ่นยนต์อย่างรวดเร็วเพื่อให้ตอบสนองต่อคำสั่งของตัวควบคุมได้อย่างรวดเร็ว
ต่อไปนี้แสดงโครงการตัวอย่างการควบคุมรถถังจาก VEXcode V5 ใน ขณะที่ True infinite loop ในโครงการนี้จะตรวจสอบตำแหน่งของ Axes 2 และ 3 ตลอดไปเพื่อตั้งค่าความเร็วของมอเตอร์
# Library import
from vex import *
# Begin project code
# Main Controller loop to set motors to controller axis position
while
True: left_motor.set_velocity (controller_1.axis3.position (), PERCENT)
right_motor.set_velocity (controller_1.axis2.position (), PERCENT) left_motor.spin
(FORWARD) right_motor.spin
(FORWARD)
wait (5, MSEC)
ลูปมีความสำคัญแม้สำหรับการเขียนโปรแกรมอัตโนมัติโดยไม่มีตัวควบคุม ลูปช่วยลดความซับซ้อนและจัดระเบียบคำสั่งซ้ำๆภายในโครงการ
ขยายการเรียนรู้ของท่าน
หากต้องการขยายกิจกรรมนี้ขอให้นักเรียนสำรวจความแตกต่างระหว่างการควบคุมอาร์เคดและการควบคุมรถถัง นักเรียนสามารถทำตามโครงการตัวอย่างที่พบใน VEXcode V5
มีสี่โครงการตัวอย่าง: อาร์เคดซ้ายอาร์เคดขวาอาร์เคดแยกและการควบคุมรถถัง
อภิปรายว่าลูปภายในโปรแกรมทำงานอย่างไรรวมถึงข้อดีและข้อเสียของการควบคุมแต่ละประเภท
หากต้องการเชื่อมโยงกิจกรรมนี้กับคณิตศาสตร์ให้ใช้โครงการอาร์เคดซ้าย/ขวา (หนึ่งจอยสติ๊ก) และโครงการอาร์เคด/รถถังแยก (ทั้งสองจอยสติ๊ก) ด้านบนเพื่อหารือเกี่ยวกับบทบาทของแกน X และ Y ภายในโครงการ