กล่องเครื่องมือครู
- โครงร่าง
กิจกรรม
-
การสำรวจนี้จะแนะนำให้นักเรียนรู้จักการเขียนโปรแกรมพฤติกรรมซ้ำๆโดยใช้ลูปซ้ำหรือตลอดไป
-
การเรียนรู้การเขียนโปรแกรมโดยใช้ลูปซ้ำและตลอดไปช่วยให้นักเรียนประหยัดเวลาในการสร้างโครงการที่ใช้การกระทำซ้ำเดิม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำแนะนำที่ใช้ในโปรเจกต์ข้อความโปรดไปที่ ข้อมูล ช่วยเหลือ
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 หากไม่ได้ใช้เทมเพลตหุ่นยนต์ของคุณจะไม่สามารถเรียกใช้โปรเจกต์ได้อย่างถูกต้อง
- เลือก ไฟล์และ เปิดตัวอย่าง
-
เลื่อนดู ตัวอย่าง โปรเจกต์ต่างๆ โปรเจกต์เหล่านี้แสดงให้เห็นถึงการกระทำที่หลากหลายที่ Clawbot ของคุณสามารถทำได้ เลือกและเปิดโป รเจกต์ตัวอย่าง Clawbot (Drivetrain 2 - motor, No Gyro)
-
ตั้งชื่อโปรเจกต์ RepeatingActions
-
พิมพ์รหัสต่อไปนี้:
int main (){// การเริ่ม ต้นการกำหนดค่าหุ่นยนต์ ห้ามนำออก! vexcodeInit (); // ขับเคลื่อนไปข้างหน้าและหมุน 90 องศาสำหรับการ ทำซ้ำ 4 ครั้ง (4 ) {Drivetrain.driveFor (forward, 300, mm); Drivetrain.turnFor (right, 90, degrees); รอ (5, seconds); }}
ดูโครงการแล้วทำสิ่งต่อไปนี้ในสมุดบันทึกวิศวกรรมของคุณ
-
คาดการณ์ว่าโปรเจกต์นี้จะให้ Clawbot ทำอะไร อธิบายมากกว่าความจริงที่ว่าโปรเจกต์ซ้ำแล้วซ้ำอีก
มันเกิดอะไรขึ้นซ้ำแล้วซ้ำอีก? Clawbot กำลังทำอะไรอยู่?
- เขียนคำทำนายของคุณแต่อย่าแบ่งโครงการระยะสั้นออกเป็นมากกว่าสองส่วน
กล่องเครื่องมือครู
-
คำตอบ
-
โปรเจกต์นี้จะมีหุ่นยนต์: ขับไปข้างหน้า 300 มิลลิเมตรเลี้ยวขวา 90 องศาจากนั้นรอ 5 วินาที 4 ครั้งเพื่อให้ได้สี่เหลี่ยมจัตุรัส แทนที่จะใช้ 3 คำแนะนำเดียวกัน 4 ครั้งคำ แนะนำการ ทำซ้ำจะลดปริมาณลงเหลือเพียง 1 ครั้ง คำแนะนำการ ทำซ้ำจะทำซ้ำการกระทำของการขับรถไปข้างหน้าแล้วเลี้ยว
-
คำทำนายอาจเป็น "คลอว์บอทเคลื่อนไหวเป็นสี่เหลี่ยมจัตุรัส" นี่จะเป็นวิธีที่สั้นที่สุดในการจับภาพการเคลื่อนไหวซ้ำๆของ Clawbot ในขณะที่ขาดบริบทใดๆ
สมุดบันทึกวิศวกรรมของนักศึกษาสามารถได้รับการบำรุงรักษาและให้คะแนนเป็น รายบุคคล หรือเป็น ทีม ลิงก์ก่อนหน้านี้ให้รูบริกที่แตกต่างกันสำหรับแต่ละวิธี เมื่อใดก็ตามที่มีรูบริกรวมอยู่ในการวางแผนการศึกษาเป็นแนวปฏิบัติที่ดีในการอธิบายรูบริกหรืออย่างน้อยก็ให้สำเนาแก่นักเรียนก่อนที่กิจกรรมจะเริ่มต้น
-
บันทึกดาวน์โหลดและเรียกใช้ โครงการการดำเนินการซ้ำ
- ตรวจสอบคำอธิบายของคุณเกี่ยวกับโครงการในสมุดบันทึกวิศวกรรมของคุณและเพิ่มบันทึกเพื่อแก้ไขตามความจำเป็น
ขั้นตอนที่ 2: เรียกใช้โครงการและสังเกตหุ่นยนต์
ดูที่โครงการการดำเนินการซ้ำ (ด้านขวา) อีกครั้ง
โครงการนี้จะทำซ้ำไปข้างหน้าแล้วเปลี่ยนพฤติกรรมสี่ครั้ง โครงสร้างลูป "ทำซ้ำ"
ถูกใช้เมื่อคุณต้องการใช้ชุดของพฤติกรรมเป็นจำนวนครั้งที่แน่นอน
หากโครงสร้างการทำซ้ำถูกแทนที่ด้วยโครงสร้างลูป
"ในขณะที่" หุ่นยนต์จะทำซ้ำการเดินหน้าและจากนั้นเปลี่ยนพฤติกรรม "ในขณะที่" เงื่อนไขเป็นจริง
นอกจากนี้คุณยังสามารถตั้งค่าเงื่อนไขเป็น "จริง" เพื่อให้ลูป "ในขณะที่"
ดำเนินต่อไปตลอดกาล
ในโครงการทางด้านซ้ายอินพุตของเซ็นเซอร์จะถูกใช้เพื่อกำหนดเวลาที่จะเริ่มหมุน
โครงการทางด้านขวาใช้ระยะทาง 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: การท้าทายลูปที่สอง!
- ให้ Clawbot ของคุณขับเป็นสี่เหลี่ยมจัตุรัส
- ก่อนการหมุนแต่ละครั้งกรงเล็บจะต้องเปิดและปิดและแขนจะต้องยกขึ้นและลดลง
- Clawbot ไม่สามารถขับรถไปตามด้านข้างของจัตุรัสได้มากกว่าหนึ่งครั้ง
- คุณสามารถใช้โครงการ RepeatingActions จากด้านบนเป็นจุดเริ่มต้นแต่บันทึกเป็น SquaredLoops ก่อนทำการเปลี่ยนแปลงใดๆ
ในสมุดบันทึกวิศวกรรมของคุณให้วางแผนสิ่งต่อไปนี้:
- วางแผนโซลูชันของคุณและคาดการณ์ว่าแต่ละคำแนะนำในโปรเจกต์ของคุณจะให้ 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
);}}
คุณสามารถให้รูบริก การเขียนโปรแกรม สำหรับการให้คะแนนโปรเจกต์ของนักเรียนได้สมุดบันทึกวิศวกรรมของ
นักศึกษาสามารถได้รับการบำรุงรักษาและให้คะแนนเป็น รายบุคคล หรือเป็น ทีม