Skip to main content

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู - โครงร่าง กิจกรรม

  • การสำรวจนี้จะแนะนำให้นักเรียนรู้จักการเขียนโปรแกรมพฤติกรรมซ้ำๆโดยใช้ลูปซ้ำหรือตลอดไป

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

Clawbot V5 พร้อมแล้ว!

การสำรวจนี้จะให้เครื่องมือเพื่อให้คุณสามารถเริ่มสร้างโปรเจกต์เจ๋งๆที่ใช้ลูป

  • คำแนะนำ VEXcode V5 ที่จะใช้ในการสำรวจนี้:

    • Drivetrain.driveFor (forward, 300, mm);

    • Drivetrain.turnFor (ขวา, 90, องศา);

    • ClawMotor.spinFor (ย้อนกลับ, 70, องศา);

    • ArmMotor.spinFor (ไปข้างหน้า, 360, องศา);

    • ในขณะที่ (จริง) {}

    • ทำซ้ำ (4) {}

    • รอ (5, วินาที);

หากต้องการเข้าถึงข้อมูลเพิ่มเติมให้คลิกขวาที่ชื่อคำสั่งในพื้นที่ทำงานของคุณเพื่อดู ความช่วยเหลือ สำหรับคำสั่งนั้น

ไอคอนเคล็ดลับสำหรับครู เคล็ดลับสำหรับครู

หากนี่เป็นครั้งแรกที่นักเรียนใช้ VEXcode V5 พวกเขาสามารถอ่านบทความที่หลากหลายใน ไลบรารี vex

ไอคอนเคล็ดลับสำหรับครู เคล็ดลับสำหรับครู - การใช้การเติมข้อความอัตโนมัติ

การกรอกข้อมูลอัตโนมัติเป็นคุณลักษณะใน VEXcode V5 ที่คาดการณ์ส่วนที่เหลือของคำสั่งที่คุณกำลังพิมพ์ ในขณะที่นักเรียนกำลังทำงานใน VEXcode V5 กระตุ้นให้พวกเขาใช้คุณลักษณะการเติมข้อความอัตโนมัติเพื่อช่วยในการทำ ไวยากรณ์

การ เติมข้อความอัตโนมัติ - บทความบทแนะนำครอบคลุมวิธีการใช้คุณลักษณะการเติมข้อความอัตโนมัติ สำหรับข้อมูลเพิ่มเติมโปรดดูวิดีโอแนะนำภายใน VEXcode V5

เลือกบทแนะนำการเติมข้อความอัตโนมัติ

 

ตรวจสอบให้แน่ใจว่าคุณมีฮาร์ดแวร์ที่จำเป็นโน้ตบุ๊ควิศวกรรมและ VEXcode V5 ดาวน์โหลดและพร้อมใช้งาน

วัสดุที่ต้องใช้:
จำนวน วัสดุที่จำเป็น
1

ชุดเริ่มต้นห้องเรียน VEX V5 (พร้อมเฟิร์มแวร์ล่าสุด)

1

VEXcode V5 (เวอร์ชันล่าสุด, Windows, macOS)

1

สมุดบันทึกวิศวกรรม

1

เทมเพลต Clawbot (Drivetrain 2 - motor, No Gyro) ตัวอย่างโครงการ

ขั้นตอนที่ 1:  มาเริ่มเขียนโปรแกรมด้วยลูป

  • ก่อนที่คุณจะเริ่มโปรเจกต์ให้เลือกโปรเจกต์เทมเพลตที่ถูกต้อง โครงการตัวอย่างเทมเพลต Clawbot (Drivetrain 2 - motor, No Gyro) ประกอบด้วยการกำหนดค่ามอเตอร์ของ Clawbot หากไม่ได้ใช้เทมเพลตหุ่นยนต์ของคุณจะไม่สามารถเรียกใช้โปรเจกต์ได้อย่างถูกต้อง

    ภาพแสดงเมนูไฟล์ที่เปิดใน VEXcode V5 แสดงตัวเลือกเปิดตัวอย่าง

     

  • เลือก  ไฟล์และ เปิดตัวอย่าง
  • เลื่อนดู ตัวอย่าง โปรเจกต์ต่างๆ โปรเจกต์เหล่านี้แสดงให้เห็นถึงการกระทำที่หลากหลายที่ Clawbot ของคุณสามารถทำได้ เลือกและเปิดโป รเจกต์ตัวอย่าง Clawbot (Drivetrain 2 - motor, No Gyro)

     

  • ตั้งชื่อโปรเจกต์ RepeatingActions

    ภาพแสดงชื่อโครงการการกระทำซ้ำใน VEXcode V5

  • พิมพ์รหัสต่อไปนี้:

    int main (){// การเริ่ม
      ต้นการกำหนดค่าหุ่นยนต์ ห้ามนำออก!
      vexcodeInit ();
    
      // ขับเคลื่อนไปข้างหน้าและหมุน 90 องศาสำหรับการ 
      ทำซ้ำ 4 ครั้ง (4
        ) {Drivetrain.driveFor (forward, 300,
        mm); Drivetrain.turnFor (right, 90, degrees);
        รอ (5, seconds);
    
    
    }}

ดูโครงการแล้วทำสิ่งต่อไปนี้ในสมุดบันทึกวิศวกรรมของคุณ

  1. คาดการณ์ว่าโปรเจกต์นี้จะให้ Clawbot ทำอะไร อธิบายมากกว่าความจริงที่ว่าโปรเจกต์ซ้ำแล้วซ้ำอีก

    มันเกิดอะไรขึ้นซ้ำแล้วซ้ำอีก? Clawbot กำลังทำอะไรอยู่?

  2. เขียนคำทำนายของคุณแต่อย่าแบ่งโครงการระยะสั้นออกเป็นมากกว่าสองส่วน

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู - คำตอบ

  1. โปรเจกต์นี้จะมีหุ่นยนต์: ขับไปข้างหน้า 300 มิลลิเมตรเลี้ยวขวา 90 องศาจากนั้นรอ 5 วินาที 4 ครั้งเพื่อให้ได้สี่เหลี่ยมจัตุรัส แทนที่จะใช้ 3 คำแนะนำเดียวกัน 4 ครั้งคำ แนะนำการ ทำซ้ำจะลดปริมาณลงเหลือเพียง 1 ครั้ง  คำแนะนำการ ทำซ้ำจะทำซ้ำการกระทำของการขับรถไปข้างหน้าแล้วเลี้ยว

  2. คำทำนายอาจเป็น "คลอว์บอทเคลื่อนไหวเป็นสี่เหลี่ยมจัตุรัส" นี่จะเป็นวิธีที่สั้นที่สุดในการจับภาพการเคลื่อนไหวซ้ำๆของ Clawbot ในขณะที่ขาดบริบทใดๆ

สมุดบันทึกวิศวกรรมของนักศึกษาสามารถได้รับการบำรุงรักษาและให้คะแนนเป็น รายบุคคล หรือเป็น ทีม ลิงก์ก่อนหน้านี้ให้รูบริกที่แตกต่างกันสำหรับแต่ละวิธี เมื่อใดก็ตามที่มีรูบริกรวมอยู่ในการวางแผนการศึกษาเป็นแนวปฏิบัติที่ดีในการอธิบายรูบริกหรืออย่างน้อยก็ให้สำเนาแก่นักเรียนก่อนที่กิจกรรมจะเริ่มต้น

  • บันทึกดาวน์โหลดและเรียกใช้ โครงการการดำเนินการซ้ำ

    รูปภาพของชื่อโครงการการทำซ้ำในแถบเครื่องมือใน VEXcode V5

  • ตรวจสอบคำอธิบายของคุณเกี่ยวกับโครงการในสมุดบันทึกวิศวกรรมของคุณและเพิ่มบันทึกเพื่อแก้ไขตามความจำเป็น

ขั้นตอนที่ 2: เรียกใช้โครงการและสังเกตหุ่นยนต์

การเปรียบเทียบข้อมูลโค้ด C ++ สองรายการใน VEXcode ข้อมูลโค้ดด้านซ้ายใช้อินพุตเซ็นเซอร์เพื่อกำหนดว่าจะหมุนเมื่อใดโดยมีลูปในขณะที่ตรวจสอบว่ากดสวิตช์กันชนหรือไม่หากกดหุ่นยนต์จะหมุนไปทางขวา 90 องศามิฉะนั้นจะเคลื่อนที่ไปข้างหน้า ข้อมูลโค้ดด้านขวาใช้ระยะทางคงที่เพื่อกำหนดเวลาที่จะหมุนด้วยลูปซ้ำที่ขับเคลื่อนหุ่นยนต์ไปข้างหน้า 300 มม. เลี้ยวขวา 90 องศาและรอ 5 วินาทีทำซ้ำลำดับนี้สี่ครั้ง

ดูที่โครงการการดำเนินการซ้ำ (ด้านขวา) อีกครั้ง โครงการนี้จะทำซ้ำไปข้างหน้าแล้วเปลี่ยนพฤติกรรมสี่ครั้ง โครงสร้างลูป "ทำซ้ำ" ถูกใช้เมื่อคุณต้องการใช้ชุดของพฤติกรรมเป็นจำนวนครั้งที่แน่นอน

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

ในโครงการทางด้านซ้ายอินพุตของเซ็นเซอร์จะถูกใช้เพื่อกำหนดเวลาที่จะเริ่มหมุน โครงการทางด้านขวาใช้ระยะทาง Drivetrain คงที่เพื่อกำหนดเวลาที่จะเริ่มเลี้ยว

ในการตรวจสอบอินพุตของเซ็นเซอร์อย่างต่อเนื่องข้อความ "if/else" จะถูกใช้ร่วมกันเป็นวง "while" ในโครงการทางซ้ายหุ่นยนต์จะเลี้ยวขวาเมื่อกดเซ็นเซอร์ "BumperB" มิฉะนั้นหุ่นยนต์จะขับเคลื่อนไปข้างหน้าตลอดไปหากไม่กดเซ็นเซอร์ "BumperB" ในการตรวจสอบค่าของเซ็นเซอร์ BumperB อย่างต่อเนื่องข้อความ "ถ้า" อยู่ภายในลูป "ในขณะที่เป็นจริง"

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

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

หากต้องการสำรวจเพิ่มเติมว่าการใช้ลูปที่มีเงื่อนไขอย่างไรให้นักเรียนสร้างโครงการเครื่องกวาดพื้นใน VEXcode V5

  • เริ่มต้นด้วยการให้นักเรียน ติดตั้งและเดินสายสวิตช์กันชน
  • ขอให้นักเรียนเปิดโครงการ  ตัวอย่าง Clawbot Template (Drivetrain 2 - motor, No Gyro)

     

  • ให้นักเรียนตั้งชื่อโครงการว่าเครื่องกวาดพื้น

  • ขอให้นักเรียนสร้างโครงการต่อไปนี้

    // รวมไลบรารี V5
    # รวมถึง "vex.h"
      
    // ช่วยให้สามารถใช้ไลบรารี vex ได้ง่ายขึ้น
    โดยใช้ namespace vex;
    
    // ฟังก์ชัน pickRandom จะส่งกลับจำนวนเต็มแบบสุ่มระหว่างค่าต่ำสุดและ
    // สูงสุดที่ส่งผ่านเป็นพารามิเตอร์
    int pickRandom (int min, int max) {
      return min + rand ()/(RAND_MAX /( สูงสุด - นาที + 1));
    }
    
    int main () {
      // การเริ่มต้นการกำหนดค่าหุ่นยนต์ ห้ามนำออก!
      vexcodeInit ();
    
      // เพิ่มความเข้มของตัวสร้างตัวเลขแบบสุ่ม
      srand (randomSeed);
    
      while (true) {
        while (! BumperB.pressing ()) {
          Drivetrain.drive (forward);
          wait (5,
        msec
        );} Drivetrain.stop ();
        Drivetrain.turnFor ((90 + pickRandom (0, 90)), degrees);
        wait (5, msec
    
    );}}

หากนักเรียนต้องการความช่วยเหลือเกี่ยวกับคำแนะนำให้ดู ข้อมูล ความช่วยเหลือ

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

ควรทราบว่ามีการใช้ โครงสร้าง ตลอดไปเพราะโครงการนี้จะตรวจสอบอย่างต่อเนื่องเพื่อดูว่ามีการกดสวิทช์กันชนหรือไม่

ขั้นตอนที่ 3: การท้าทายลูปที่สอง!

แผนภาพแสดงทางเดินสี่เหลี่ยมสีเขียวที่มีลูกศรแสดงทิศทางการเคลื่อนที่รอบสี่เหลี่ยม A diagram showing a green square pathway with arrow indicating the direction of movement around the square. ลูกศรสีส้มเพิ่มเติมนอกจุดสี่เหลี่ยมในทิศทางที่แตกต่างกันซึ่งสอดคล้องกับการเลี้ยวและการเคลื่อนไหวที่จำเป็นในการเดินตามทางเดิน

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

รูปภาพของชื่อโปรเจกต์ Squared Loops ในแถบเครื่องมือ VEXcode V5

ในสมุดบันทึกวิศวกรรมของคุณให้วางแผนสิ่งต่อไปนี้:

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

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู - การ แก้ปัญหา

ต่อไปนี้เป็นทางออกที่เป็นไปได้สำหรับการท้าทายลูปที่สอง:

int main (){// การเริ่ม
  ต้นการกำหนดค่าหุ่นยนต์ ห้ามนำออก!
  vexcodeInit ();

  ทำซ้ำ (4 ){
    Drivetrain.driveFor (forward, 300, mm);
    ClawMotor.spinFor (reverse, 70, degrees);
    ArmMotor.spinFor (forward, 360, degrees
    ); ClawMotor.spinFor (forward, 70, degrees
    ); ArmMotor.spinFor (reverse, 360, degrees
    ); Drivetrain.turnFor (right, 90, degrees);
    wait (5,
  msec
);}}

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