กล่องเครื่องมือครู - โครงร่าง กิจกรรม
-
การสำรวจนี้จะแนะนำให้นักเรียนรู้จักการเขียนโปรแกรมพฤติกรรมซ้ำๆโดยใช้ลูปซ้ำหรือตลอดไป
-
การเรียนรู้การเขียนโปรแกรมโดยใช้ลูปซ้ำและตลอดไปช่วยให้นักเรียนประหยัดเวลาในการสร้างโครงการที่ใช้การกระทำซ้ำเดิม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำแนะนำที่ใช้ในโปรเจกต์ข้อความโปรดไปที่ ข้อมูล ช่วยเหลือ
Clawbot V5 พร้อมแล้ว!
การสำรวจนี้จะให้เครื่องมือเพื่อให้คุณสามารถเริ่มสร้างโปรเจกต์เจ๋งๆที่ใช้ลูป
- คำแนะนำ VEXcode V5 Python ที่จะใช้ในการสำรวจนี้:
- drivetrain.drive_for (ไปข้างหน้า, 300, MM)
- drivetrain.turn_for (ขวา 90 องศา)
- claw_motor.spin_for (ย้อนกลับ, 70, องศา)
- arm_motor.spin_for (ไปข้างหน้า 360 องศา)
- bumper_b.pressing ()
- ในขณะที่จริง:
- สำหรับ REPEAT_COUNT ในช่วง (4):
- รอ (5 วินาที)
คุณสามารถใช้ข้อมูลความช่วยเหลือภายใน VEXcode V5 เพื่อเรียนรู้เกี่ยวกับ คำสั่ง Python แต่ละคำสั่ง
เคล็ดลับสำหรับครู
หากนี่เป็นครั้งแรกที่นักเรียนใช้ VEXcode V5 พวกเขาสามารถอ่านบทความที่หลากหลายใน ไลบรารี vex
เคล็ดลับสำหรับครู - การใช้การเติมข้อความอัตโนมัติ
การกรอกข้อมูลอัตโนมัติเป็นคุณลักษณะใน VEXcode V5 ที่คาดการณ์ส่วนที่เหลือของคำสั่งที่คุณกำลังพิมพ์ ในขณะที่นักเรียนกำลังทำงานใน VEXcode V5 กระตุ้นให้พวกเขาใช้คุณลักษณะการเติมข้อความอัตโนมัติเพื่อช่วยในการใช้ไวยากรณ์ Python คุณอาจสังเกตเห็นฟังก์ชันเติมข้อความอัตโนมัติเมื่อคุณเริ่มพิมพ์คำแนะนำ ใช้ปุ่ม "ขึ้น" และ "ลง" เพื่อเลือกชื่อที่คุณต้องการจากนั้นกด "Tab" หรือ (Enter/Return) บนแป้นพิมพ์ของคุณเพื่อทำการเลือก สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้การกรอกข้อมูลอัตโนมัติโปรดดูบทความ Python
ตรวจสอบให้แน่ใจว่าคุณมีฮาร์ดแวร์ที่จำเป็นโน้ตบุ๊ควิศวกรรมและ 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
-
พิมพ์รหัสต่อไปนี้:
# การนำเข้าไลบรารี จากการนำเข้า vex * # เริ่มรหัสโครงการ # ไดรฟ์ไปข้างหน้า 300 มม. หมุน 90 องศา สำหรับการทำซ้ำ 4 ครั้งสำหรับ repeat_count ใน ช่วง (4): drivetrain.drive_for (FORWARD, 300, MM) drivetrain.turn_for (RIGHT, 90, DEGREES) รอ (5, SECONDS)
ดูโครงการแล้วทำสิ่งต่อไปนี้ในสมุดบันทึกวิศวกรรมของคุณ
-
คาดการณ์ว่าโปรเจกต์นี้จะให้ Clawbot ทำอะไร อธิบายมากกว่าความจริงที่ว่าโปรเจกต์ซ้ำแล้วซ้ำอีก
มันเกิดอะไรขึ้นซ้ำแล้วซ้ำอีก? Clawbot กำลังทำอะไรอยู่?
- เขียนคำทำนายของคุณแต่อย่าแบ่งโครงการระยะสั้นออกเป็นมากกว่าสองส่วน
กล่องเครื่องมือครู - คำตอบ
-
โปรเจกต์นี้จะมีหุ่นยนต์: ขับไปข้างหน้า 300 มิลลิเมตรเลี้ยวขวา 90 องศาจากนั้นรอ 5 วินาที 4 ครั้งเพื่อให้ได้สี่เหลี่ยมจัตุรัส แทนที่จะใช้ 3 คำแนะนำเดียวกัน 4 ครั้งคำ แนะนำการ ทำซ้ำจะลดปริมาณลงเหลือเพียง 1 ครั้ง คำแนะนำการ ทำซ้ำจะทำซ้ำการกระทำของการขับรถไปข้างหน้าแล้วเลี้ยว
-
คำทำนายอาจเป็น "คลอว์บอทเคลื่อนไหวเป็นสี่เหลี่ยมจัตุรัส" นี่จะเป็นวิธีที่สั้นที่สุดในการจับภาพการเคลื่อนไหวซ้ำๆของ Clawbot ในขณะที่ขาดบริบทใดๆ
สมุดบันทึกวิศวกรรมของนักศึกษาสามารถได้รับการบำรุงรักษาและให้คะแนนเป็น รายบุคคล หรือเป็น ทีม ลิงก์ก่อนหน้านี้ให้รูบริกที่แตกต่างกันสำหรับแต่ละวิธี เมื่อใดก็ตามที่มีรูบริกรวมอยู่ในการวางแผนการศึกษาเป็นแนวปฏิบัติที่ดีในการอธิบายรูบริกหรืออย่างน้อยก็ให้สำเนาแก่นักเรียนก่อนที่กิจกรรมจะเริ่มต้น
-
บันทึกดาวน์โหลดและเรียกใช้ โครงการการดำเนินการซ้ำ
- ตรวจสอบคำอธิบายของคุณเกี่ยวกับโครงการในสมุดบันทึกวิศวกรรมของคุณและเพิ่มบันทึกเพื่อแก้ไขตามความจำเป็น
ขั้นตอนที่ 2: เรียกใช้โครงการและสังเกตหุ่นยนต์
ดูโครงการการดำเนินการซ้ำ (โครงการที่สอง) อีกครั้ง โครงการนี้จะทำซ้ำไปข้างหน้าแล้วเปลี่ยนพฤติกรรมสี่ครั้ง โครงสร้างลูป "ทำซ้ำ" (โดย ใช้สำหรับลูป) ถูกใช้เมื่อคุณต้องการใช้ชุดของพฤติกรรมเป็นจำนวนครั้งที่แน่นอน
หากโครงสร้างการทำซ้ำถูกแทนที่ด้วยโครงสร้าง ลูปใน ขณะที่หุ่นยนต์จะทำซ้ำการเดินหน้าและจากนั้นหมุนพฤติกรรม "ในขณะที่" เงื่อนไขเป็นจริง นอกจากนี้คุณยังสามารถตั้งค่าเงื่อนไขเป็น "จริง" เพื่อให้ วงใน ขณะที่ดำเนินต่อไปตลอดไป
ในโครงการแรกอินพุตของเซ็นเซอร์จะถูกใช้เพื่อกำหนดเวลาที่จะเริ่มหมุน โครงการทางด้านขวาใช้ระยะทาง Drivetrain คงที่เพื่อกำหนดเวลาที่จะเริ่มเลี้ยว
เพื่อที่จะตรวจสอบอินพุตของเซ็นเซอร์อย่างต่อเนื่องคำสั่ง if else จะถูกใช้ร่วมกันใน ขณะที่ วง ในโครงการทางด้านซ้ายหุ่นยนต์จะเลี้ยวขวาเมื่อกดเซ็นเซอร์ "BUMPER_b" มิฉะนั้นหุ่นยนต์จะขับเคลื่อนไปข้างหน้าตลอดไปหากไม่กดเซ็นเซอร์ "BUMPER_b" ในการตรวจสอบค่าของเซ็นเซอร์ bumper_b อย่างต่อเนื่อง คำสั่ง if จะอยู่ภายใน ลูปใน ขณะที่
โครงการแรกเป็นกรณีการใช้งานจริงของโครงสร้างที่ทำซ้ำตลอดไป – ใช้ ในขณะที่ วนซ้ำและ ถ้า ข้อความเข้าด้วยกัน ลองนึกภาพเครื่องกวาดแบบขับเคลื่อนด้วยตนเองที่ยังคงขับเคลื่อนไปข้างหน้าจนกว่ามันจะวิ่งเข้าไปในกำแพงหรือวัตถุจากนั้นเลี้ยวก่อนที่จะขับเคลื่อนต่อไป
ขยายการเรียนรู้ของท่าน
หากต้องการสำรวจเพิ่มเติมว่าท่านจะใช้ลูปที่มีเงื่อนไขได้อย่างไรให้นักเรียนสร้างโครงการเครื่องกวาดพื้นใน VEXcode V5
- เริ่มต้นด้วยการให้นักเรียน ติดตั้งและเดินสายสวิตช์กันชน
-
ขอให้นักเรียนเปิดโครงการ ตัวอย่าง Clawbot Template (Drivetrain 2 - motor, No Gyro)
- ให้นักเรียน กำหนดค่าสวิตช์กันชน 3 สายใน VEXcodeV5 เลือกอุปกรณ์ 3 สายที่คุณใช้เพื่อ กันชนและเลือกพอร์ตไปที่ B
-
ให้นักเรียนตั้งชื่อโครงการว่าเครื่องกวาดพื้น
-
ขอให้นักเรียนสร้างโครงการต่อไปนี้
# Library import from vex import * import random # Begin project code while True: while (not bumper_b.pressing ()): drivetrain.drive (FORWARD) wait (5, msec) drivetrain.stop () # The random.randomint () method return a random integer number between the specified range # pass the min and max values of the range to the parameters drivetrain.turn_for (RIGHT, (90+random.randint (0, 90)), DEGREES) wait (5, MSEC)
หากนักเรียนต้องการความช่วยเหลือเกี่ยวกับคำแนะนำให้ดู ข้อมูล ความช่วยเหลือ
ขอให้นักเรียน ดาวน์โหลดและเรียกใช้โครงการ เพื่อสังเกตว่าหุ่นยนต์เคลื่อนที่อย่างไร จากนั้นเริ่มการสนทนาในชั้นเรียนและขอให้นักเรียนอธิบายว่าเหตุใดจึงใช้ โครงสร้าง ตลอดไปแทน โครงสร้างที่ ทำซ้ำนักเรียน
ควรทราบว่ามีการใช้ โครงสร้าง ตลอดไปเพราะโครงการนี้จะตรวจสอบอย่างต่อเนื่องเพื่อดูว่ามีการกดสวิทช์กันชนหรือไม่
ขั้นตอนที่ 3: การท้าทายลูปที่สอง!
- ให้ Clawbot ของคุณขับเป็นสี่เหลี่ยมจัตุรัส
- ก่อนการหมุนแต่ละครั้งกรงเล็บจะต้องเปิดและปิดและแขนจะต้องยกขึ้นและลดลง
- Clawbot ไม่สามารถขับรถไปตามด้านข้างของจัตุรัสได้มากกว่าหนึ่งครั้ง
- คุณสามารถใช้โครงการ RepeatingActions จากด้านบนเป็นจุดเริ่มต้นแต่บันทึกเป็น SquaredLoops ก่อนทำการเปลี่ยนแปลงใดๆ
ในสมุดบันทึกวิศวกรรมของคุณให้วางแผนสิ่งต่อไปนี้:
- วางแผนโซลูชันของคุณและคาดการณ์ว่าแต่ละคำแนะนำในโปรเจกต์ของคุณจะให้ Clawbot ทำอะไร
- ดาวน์โหลดและเรียกใช้ โปรเจกต์ของคุณเพื่อทดสอบก่อนส่ง
- ทำการเปลี่ยนแปลงโครงการตามความจำเป็นและจดบันทึกเกี่ยวกับสิ่งที่มีการเปลี่ยนแปลงในระหว่างการทดสอบ
กล่องเครื่องมือครู - การ แก้ปัญหา
ต่อไปนี้เป็นทางออกที่เป็นไปได้สำหรับการท้าทายลูปที่สอง:
# Library import
from vex import *
# Begin project code
for repeat_count in range (4): drivetrain.drive_for
(FORWARD, 300, MM) claw_motor.spin_for
(REVERSE, 70, DEGREES) arm_motor.spin_for
(FORWARD, 360, DEGREES)
claw_motor.spin_for (FORWARD, 70, DEGREES)
arm_motor.spin_for (REVERSE, 360, DEGREES)
drivetrain.turn_for (RIGHT, 90, DEGREES)
wait (5, MSEC)
คุณสามารถให้รูบริก การเขียนโปรแกรม สำหรับการให้คะแนนโปรเจกต์ของนักเรียนได้สมุดบันทึกวิศวกรรมของ
นักศึกษาสามารถได้รับการบำรุงรักษาและให้คะแนนเป็น รายบุคคล หรือเป็น ทีม