Skip to main content
พอร์ทัลครู

ตัวควบคุมและลูป

ในการแข่งขันทีมจะต้องจัดการหุ่นยนต์ของพวกเขาแบบไร้สายด้วยตัวควบคุม ตัวควบคุมถูกตั้งโปรแกรมให้อัปเดตหุ่นยนต์ตามอินพุตจากผู้ใช้ ลูปถูกใช้ในโครงการเพื่อให้หุ่นยนต์ตรวจสอบข้อมูลอินพุตที่อัปเดตซ้ำๆ ลูปช่วยให้โครงการสามารถตรวจสอบได้อย่างรวดเร็วว่ามีการกดปุ่มใดหรือกดจอยสติ๊กไกลแค่ไหน เมื่อตรวจสอบแล้วข้อมูลนี้จะถูกส่งต่อไปยังหุ่นยนต์อย่างรวดเร็วเพื่อให้ตอบสนองต่อคำสั่งของตัวควบคุมได้อย่างรวดเร็ว

ต่อไปนี้เป็นโครงการตัวอย่าง Tank Drive จาก VEXcode V5  ห่วง ตลอดไปในโครงการนี้จะตรวจสอบตำแหน่งของแกน 2 และ 3 ตลอดไปเพื่อตั้งค่าความเร็วของมอเตอร์

// รวมไลบรารี V5
# รวมถึง "vex.h"

// ช่วยให้ใช้ไลบรารี vex ได้ง่ายขึ้น
โดยใช้ namespace vex;

int main () {
  // การเริ่มต้นการกำหนดค่าหุ่นยนต์ ห้ามนำออก!
  vexcodeInit ();
  // เริ่มรหัสโครงการ
  // ห่วงตัวควบคุมหลักเพื่อตั้งค่ามอเตอร์ให้กับตำแหน่งแกนควบคุมใน

    ขณะที่ (จริง) {LeftMotor.setVelocity (
    Controller1.Axis3.position (), percent); RightMotor.setVelocity (Controller1.Axis2.position (),
    percent); LeftMotor.spin (
    forward); RightMotor.spin (forward);

    wait (5, msec
  );}

  return 0
;}

ลูปมีความสำคัญแม้สำหรับการเขียนโปรแกรมอัตโนมัติโดยไม่มีตัวควบคุม ลูปช่วยลดความซับซ้อนและจัดระเบียบคำสั่งซ้ำๆภายในโครงการ

ไอคอนขยายการเรียนรู้ของคุณ ขยายการเรียนรู้ของท่าน

หากต้องการขยายกิจกรรมนี้ขอให้นักเรียนสำรวจความแตกต่างระหว่างการควบคุมอาร์เคดและการควบคุมรถถัง นักเรียนสามารถทำตามโครงการตัวอย่างที่พบใน VEXcode V5

มีสี่โครงการตัวอย่าง: อาร์เคดซ้ายอาร์เคดขวาอาร์เคดแยกและไดรฟ์รถถัง

อภิปรายว่าลูปภายในโปรแกรมทำงานอย่างไรรวมถึงข้อดีและข้อเสียของการควบคุมแต่ละประเภท

หากต้องการเชื่อมโยงกิจกรรมนี้กับคณิตศาสตร์ให้ใช้โครงการอาร์เคดซ้าย/ขวา (หนึ่งจอยสติ๊ก) และโครงการอาร์เคด/รถถังแยก (ทั้งสองจอยสติ๊ก) ด้านบนเพื่อหารือเกี่ยวกับบทบาทของแกน X และ Y ภายในโครงการ