โครงร่างกิจกรรมกล่องเครื่องมือสำหรับครู -
- การสำรวจนี้จะแนะนำให้นักเรียนรู้จักกับการเขียนโปรแกรมพื้นฐานของ Arm Motor ของ V5 Clawbot
- การเรียนรู้การตั้งโปรแกรม Arm Motor ช่วยให้นักเรียนสามารถควบคุมการเคลื่อนไหวแขนของ V5 Clawbot ได้อย่างถูกต้อง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำแนะนำที่ใช้ในโครงการ Python โปรดไปที่ข้อมูลวิธีใช้สำหรับ VEXcode V5
เคล็ดลับสำหรับครู - การใช้การกรอกอัตโนมัติ
การกรอกข้อความอัตโนมัติเป็นคุณลักษณะใน VEXcode V5 ที่ทำนายส่วนที่เหลือของคำสั่งที่คุณกำลังพิมพ์ เนื่องจากนักเรียนกำลังทำงานใน VEXcode V5 โปรดสนับสนุนให้พวกเขาใช้คุณลักษณะการกรอกอัตโนมัติเพื่อช่วยในเรื่องไวยากรณ์ Python คุณอาจสังเกตเห็นฟังก์ชั่นการกรอกอัตโนมัติขณะที่คุณเริ่มพิมพ์คำสั่ง ใช้ปุ่ม “ขึ้น” และ “ลง” เพื่อเลือกชื่อที่คุณต้องการ จากนั้นกด “Tab” หรือ (Enter/Return) บนแป้นพิมพ์ของคุณเพื่อเลือก สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์นี้ โปรดดู Python
V5 Clawbot พร้อมที่จะเข้าถึงแล้ว!
การสำรวจนี้จะมอบเครื่องมือที่จะช่วยให้คุณเริ่มสร้างโปรเจ็กต์เจ๋งๆ ที่ใช้แขนของ V5 Clawbot ได้
- คำสั่ง VEXcode V5 Python ที่จะใช้ในการสำรวจนี้:
- arm_motor.spin_for(ไปข้างหน้า, 90, องศา)
- arm_motor.set_position(0, องศา)
- รอ (2, วินาที)
-
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง ให้เลือกไอคอนเครื่องหมายคำถาม ข้างคำสั่งเพื่อดูข้อมูลเพิ่มเติม
- ตรวจสอบให้แน่ใจว่าคุณมีฮาร์ดแวร์ที่จำเป็น สมุดบันทึกวิศวกรรม และ VEXcode V5 ที่ดาวน์โหลดและพร้อมใช้งานแล้ว
ปริมาณ | วัสดุที่ต้องใช้ |
---|---|
1 |
ชุดเริ่มต้นห้องเรียน VEX V5 (พร้อมเฟิร์มแวร์ล่าสุด) |
1 |
รหัส VEX V5 |
1 |
สมุดบันทึกวิศวกรรม |
1 |
โปรเจ็กต์ตัวอย่างเทมเพลต Clawbot (ระบบส่งกำลัง 2 มอเตอร์ ไม่มีไจโร) |
เคล็ดลับสำหรับครู
จำลองขั้นตอนการแก้ไขปัญหาแต่ละขั้นตอนให้กับนักเรียน
ขั้นตอนที่ 2: เริ่มโครงการใหม่
ก่อนที่คุณจะเริ่มต้นโครงการของคุณ โปรดเลือกโครงการเทมเพลตที่ถูกต้อง โปรเจ็กต์ตัวอย่างเทมเพลต Clawbot (ระบบส่งกำลัง 2 มอเตอร์ ไม่มีไจโร) ประกอบไปด้วยการกำหนดค่ามอเตอร์ของ Clawbot หากไม่ใช้เทมเพลต หุ่นยนต์ของคุณจะไม่สามารถรันโครงการได้อย่างถูกต้อง
ดำเนินการตามขั้นตอนต่อไปนี้:
- เปิดเมนูไฟล์
- เลือก เปิด ตัวอย่าง.
- เลือกและเปิดโครงการตัวอย่างเทมเพลต Clawbot (Drivetrain 2-motor, No Gyro)
- เนื่องจากเราจะเขียนโปรแกรมเพื่อควบคุมแขน ให้เปลี่ยนชื่อโปรเจ็กต์ของคุณเป็น ArmControl
- บันทึก โครงการของคุณ
- ตรวจสอบให้แน่ใจว่าชื่อโครงการ ArmControl อยู่ในหน้าต่างตรงกลางแถบเครื่องมือแล้ว
เคล็ดลับสำหรับครู
- เนื่องจากนี่เป็นกิจกรรมเริ่มต้นในการเขียนโปรแกรม ครูควรสร้างแบบจำลองขั้นตอน จากนั้นจึงขอให้นักเรียนทำการกระทำเดียวกัน จากนั้นครูควรติดตามนักเรียนเพื่อให้แน่ใจว่านักเรียนปฏิบัติตามขั้นตอนอย่างถูกต้อง
- ตรวจสอบให้แน่ใจว่านักเรียนได้เลือก เปิดตัวอย่าง จากเมนูไฟล์
- ตรวจสอบให้แน่ใจว่านักเรียนได้เลือกโครงการตัวอย่างเทมเพลต Clawbot (Drivetrain 2-motor, No Gyro)
คุณสามารถชี้ให้ผู้เรียนทราบว่ามีตัวเลือกหลายตัวให้เลือกในหน้า ตัวอย่าง เมื่อพวกเขาสร้างและใช้หุ่นยนต์ตัวอื่น พวกเขาจะมีโอกาสใช้เทมเพลตที่แตกต่างกัน
- คุณสามารถขอให้เด็กนักเรียนเพิ่มอักษรย่อของตนเองหรือชื่อกลุ่มลงในชื่อโครงการได้ สิ่งนี้จะช่วยแยกแยะโครงการต่างๆ ออกจากกัน หากคุณขอให้นักศึกษาส่งโครงการเหล่านั้น
กล่องเครื่องมือสำหรับครู - การบันทึกโครงการ
- ชี้ให้เห็นว่าเมื่อเปิด VEXcode V5 ครั้งแรก หน้าต่างนั้นจะมีชื่อว่า VEXcode Project โครงการ VEXcode เป็นชื่อโครงการเริ่มต้นเมื่อเปิด VEXcode V5 ครั้งแรก เมื่อเปลี่ยนชื่อโครงการและบันทึกแล้ว จอแสดงผลจะได้รับการอัปเดตเพื่อแสดงชื่อโครงการใหม่ การใช้หน้าต่างนี้ในแถบเครื่องมือ ช่วยให้ตรวจสอบได้อย่างง่ายดายว่านักเรียนกำลังใช้โครงการที่ถูกต้องหรือไม่
- บอกนักเรียนว่าตอนนี้พวกเขาพร้อมที่จะเริ่มโครงการแรกแล้ว อธิบายแก่เด็กนักเรียนว่าเพียงทำตามขั้นตอนง่ายๆ ไม่กี่ขั้นตอน พวกเขาก็สามารถสร้างและรันโปรเจ็กต์ที่จะยกและลดแขนของ Clawbot ได้
- เตือนนักเรียนให้บันทึกโครงการในขณะที่ทำงาน บทความในส่วน Python ของ VEX Library อธิบายแนวทางการบันทึกใน VEXcode V5
กล่องเครื่องมือสำหรับครู - หยุดและพูดคุย
นี่เป็นจุดที่ดีที่จะหยุดชั่วคราวและให้กลุ่มนักศึกษาทบทวนขั้นตอนที่เพิ่งเสร็จสิ้นในการเริ่มโปรเจ็กต์ใหม่ใน VEXcode V5
ขั้นตอนที่ 3: ขยับแขนขึ้น
ต่อไปเราจะเริ่มต้นด้วยการตั้งโปรแกรมแขนให้ยกขึ้น!
# ไลบรารีนำเข้า
จากการนำเข้า vex *
# เริ่มรหัสโครงการ
arm_motor.set_position(0, DEGREES)
- เขียนคำสั่ง arm_motor.set_position() ตามที่แสดงด้านบนในพื้นที่การเขียนโปรแกรมเพื่อตั้งค่าตำแหน่งเริ่มต้นสำหรับแขน
arm_motor.set_position(0, องศา)
arm_motor.spin_for(ไปข้างหน้า, 90, องศา)
- เพิ่มคำสั่ง arm_motor.spin_for() ไว้ด้านล่างคำสั่ง arm_motor.set_position() ดังที่แสดงด้านบนเพื่อเลื่อนแขนขึ้น
- เลือกไอคอนสล็อต คุณสามารถดาวน์โหลดโครงการของคุณไปยังหนึ่งในสล็อตที่พร้อมใช้งานใน Robot Brain ได้ เลือกช่องที่ 1.
- เชื่อมต่อหุ่นยนต์กับคอมพิวเตอร์หรือแท็บเล็ตของคุณ ไอคอนสมองบนแถบเครื่องมือ จะเปลี่ยนเป็นสีเขียว หลังจากเชื่อมต่อสำเร็จแล้ว
- คลิกปุ่ม ดาวน์โหลด บนแถบเครื่องมือเพื่อดาวน์โหลดโครงการ ArmControl ไปยัง Robot Brain
กล่องเครื่องมือสำหรับครู
หากนักเรียนกำลังใช้คอมพิวเตอร์ ให้พวกเขาถอดสาย USB ออกจาก Robot Brain ทันที การเชื่อมต่อหุ่นยนต์เข้ากับคอมพิวเตอร์ขณะกำลังรันโครงการอาจทำให้หุ่นยนต์ดึงสายเคเบิลเชื่อมต่อได้
- ตรวจสอบว่าโครงการ ArmControl ได้ดาวน์โหลดไปยังสมองในสล็อตที่คุณเลือกแล้ว
กล่องเครื่องมือสำหรับครู - รุ่นแรก
จำลองการรันโครงการหน้าชั้นเรียนก่อนที่นักเรียนทุกคนจะลองทำพร้อมกัน รวบรวมนักเรียนไว้ในพื้นที่หนึ่งและเว้นพื้นที่ให้ Clawbot ขยับแขนได้ สาธิตวิธีการยุติโครงการและให้แขนของ Clawbot กลับสู่ตำแหน่งพัก
บอกนักเรียนว่าตอนนี้ถึงคราวของพวกเขาที่จะดำเนินโครงการของพวกเขาแล้ว ตรวจสอบให้แน่ใจว่ามีที่ว่างเพียงพอที่จะยกแขนของ Clawbot ได้อย่างปลอดภัย
- รัน บน Clawbot โดยตรวจสอบให้แน่ใจว่าได้เลือกโครงการแล้ว จากนั้นกดปุ่ม Run ขอแสดงความยินดีกับการสร้างโครงการ Claw Arm แรกของคุณ!
ขั้นตอนที่ 4: ลองสิ่งนี้: ตั้งโปรแกรมให้แขนลง
ตอนนี้คุณได้ตั้งโปรแกรมแขนให้เคลื่อนขึ้นแล้ว คุณจะตั้งโปรแกรมแขนให้เคลื่อนลงหรือเคลื่อนลงก็ได้
- เพิ่มคำสั่งที่สอง arm_motor.spin_for() ลงในโปรเจ็กต์ ArmControl ของคุณ เพื่อให้แขนยกขึ้นเป็น 90 องศา รอ 2 วินาที แล้วจึงลดลง
- คำใบ้: คุณจะต้องเปลี่ยนทิศทางภายในคำสั่ง
- สังเกตว่าแขนจะยึดตำแหน่งไว้ในขณะที่คำสั่ง wait กำลังทำงาน มอเตอร์ดึงพลังงานจากแบตเตอรี่เพื่อยึดแขนให้ต้านแรงโน้มถ่วง นั่นเป็นเพราะการตั้งค่าเริ่มต้นสำหรับการหยุดมอเตอร์คือการตั้งค่า ค้าง มีการตั้งค่าอื่นสำหรับการหยุดอีก 2 อย่าง ได้แก่ เบรค และ เคลื่อนที่ไปตามถนน คุณจะได้เรียนรู้เกี่ยวกับสิ่งเหล่านี้ในห้องแล็ปอื่น
กล่องเครื่องมือสำหรับครู - โซลูชั่น
วิธีแก้ไขปัญหาอยู่ด้านล่างนี้ ในการลดแขนลง นักเรียนจะต้องเปลี่ยนพารามิเตอร์ “FORWARD” เป็น “REVERSE” ในคำสั่ง arm_motor.spin_for() ที่ถูกเพิ่มเข้ามา
# เริ่มโค้ดโครงการ
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
wait(2, SECONDS)
arm_motor.spin_for(REVERSE, 90, DEGREES)
ขั้นตอนที่ 5: ทำภารกิจควบคุมการจราจรทางอากาศให้สำเร็จ
ในการท้าทาย Flight Traffic Controller Challenge Clawbot จะต้องขยับแขนขึ้นและลงหนึ่งครั้งเป็นเวลา 90 องศา รอ 3 วินาที ขยับแขนขึ้นและลงสองครั้งเป็นเวลา 45 องศา รอ 5 วินาที จากนั้นจึงขยับแขนขึ้นและลงสามครั้งเป็นเวลา 90 องศา
นี่คือรายการพฤติกรรมของ Clawbot:
- เคลื่อนแขนขึ้นแล้วลง 90 องศา
- รอ 3 วินาที
- เคลื่อนแขนขึ้นแล้วลง 45 องศา
- เคลื่อนแขนขึ้นแล้วลง 45 องศา
- รอ 5 วินาที
- เคลื่อนแขนขึ้นแล้วลง 90 องศา
- เคลื่อนแขนขึ้นแล้วลง 90 องศา
- เคลื่อนแขนขึ้นแล้วลง 90 องศา
กล่องเครื่องมือสำหรับครู - โซลูชั่น
คำสั่งส่วนใหญ่ในความท้าทายนี้คือ arm_motor.spin_for() หลังจากเพิ่มคำสั่งสำหรับเคลื่อนแขนขึ้นและคำสั่งสำหรับเคลื่อนแขนลงแล้ว คุณสามารถไฮไลต์คำสั่งทั้งสอง คลิกขวา จากนั้นเลือกคัดลอกและวางได้ตามต้องการ จากนั้นสามารถเปลี่ยนพารามิเตอร์เพื่อรับมือกับความท้าทาย และสามารถเพิ่มคำสั่ง รอ ระหว่างนั้นได้
- ทบทวนตัวอย่างโซลูชัน Flight Traffic Controller Challenge ที่นี่:
# เริ่มรหัสโครงการ
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
wait(3, SECONDS)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
wait(5, SECONDS)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
arm_motor.spin_for(ย้อนกลับ, 90, องศา)
arm_motor.spin_for(ย้อนกลับ, 90, องศา)
arm_motor.spin_for(ย้อนกลับ, 90, องศา)
arm_motor.spin_for(ย้อนกลับ, 90, องศา)
นักเรียนที่มีความก้าวหน้ามากกว่าอาจใช้ลูปเพื่อลดความซับซ้อนของวิธีแก้ปัญหา
# เริ่มรหัสโครงการ
arm_motor.set_position(0, DEGREES)
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
wait(3, SECONDS)
for repeat_count in range(2):
arm_motor.spin_for(FORWARD, 45, DEGREES)
arm_motor.spin_for(REVERSE, 45, DEGREES)
wait(5, SECONDS)
for repeat_count in range(3):
arm_motor.spin_for(FORWARD, 90, DEGREES)
arm_motor.spin_for(REVERSE, 90, DEGREES)
- การให้คะแนนการเขียนโปรแกรม (Google Doc / .docx / .pdf)