เล่น
ส่วนที่ 1 - ทีละขั้นตอน
- สั่งให้สั่งให้นักเรียนสร้างสิ่งต่างๆ จากสิ่งที่เรียนรู้ในห้องปฏิบัติการ 1 โดยให้ฐานโค้ดรวบรวมและส่งคืนตัวอย่างหินจากดาวอังคาร (จานสีแดง) แต่ตอนนี้ พวกเขาจะเขียนโค้ดให้หุ่นยนต์ใช้ข้อมูลเซนเซอร์ตาในการจัดเรียงดิสก์โดยอิงตามสี
- แสดงการตั้งค่าฟิลด์ กับนักเรียนโดยมีพื้นที่การเรียงลำดับที่ทำเครื่องหมายด้วย X เมื่อฐานรหัสรวบรวมดิสก์สีแดงแล้ว จะต้อง ทิ้งลงใน ที่มี X
การตั้งค่าภาคสนาม - นักเรียนจะสร้างโครงการร่วมกับคุณ จากนั้นจึงทดสอบบนพื้นผิวดาวอังคาร (สนาม) แอนิเมชั่นด้านล่างนี้แสดงให้เห็นว่า Code Base จะเคลื่อนไหวอย่างไรเมื่อเริ่มต้นโครงการนี้
ไฟล์วีดีโอ - แบบจำลอง แบบจำลองสำหรับนักเรียนในการสร้างโครงการใน VEXcode GO และทดสอบโครงการของพวกเขาในภาคสนาม
- เริ่มต้นด้วยการแสดงให้ผู้เรียนเห็นถึงวิธีการเชื่อมต่อ Brain บน Code Base ของพวกเขาเข้ากับอุปกรณ์ใน VEXcode GO เนื่องจากขั้นตอนการเชื่อมต่อจะแตกต่างกันไปตามอุปกรณ์ต่างๆ, see the Connecting articles of the VEXcode GO VEX Library สำหรับขั้นตอนเฉพาะในการเชื่อมต่อ VEX GO Brain กับคอมพิวเตอร์หรือแท็บเล็ตของคุณ.
- พวกเขายังต้องกำหนดค่า VEXCode GO สำหรับ Code Base ด้วย If necessary, model the steps from the Configure a Code Base VEX Library article and ensure students can see the Drivetrain blocks in the Toolbox.
- เมื่อกำหนดค่าฐานโค้ดแล้ว ให้ให้ผู้เรียนเพิ่มบล็อค [ความคิดเห็น] ต่อไปนี้เพื่อวางแผนและจัด โครงการของพวกเขา บล็อคภายใต้บล็อค “รวบรวมดิสก์” [ความคิดเห็น] จะขับเคลื่อนฐานโค้ดเพื่อรวบรวมดิสก์และส่งคืนไปยังฐานดาวอังคาร บล็อกภายใต้บล็อก "Sort Disk" [ความคิดเห็น] จะให้ฐานโค้ดใช้ข้อมูล Eye Sensor เพื่อส่งดิสก์ไปยังพื้นที่การเรียงลำดับที่กำหนด โดยอิงตามสีของดิสก์
วางแผนโครงการด้วยบล็อค [ความคิดเห็น] - จากนั้นให้ให้ผู้เรียนเพิ่มบล็อกต่อไปนี้ภายใต้บล็อก “รวบรวมดิสก์” [ความคิดเห็น] เพื่อให้ฐานโค้ดขับเคลื่อนเพื่อรวบรวมดิสก์สีแดง
เก็บรหัสดิสก์ - ขั้นตอนต่อไปคือการเพิ่มโครงการเข้าด้วยกันเพื่อให้ฐานโค้ดเรียงลำดับดิสก์ ลากบล็อก [Turn for] เข้าไปในพื้นที่ทำงาน และแนบไว้ด้านล่างบล็อก [Comment] “Sort Disk” เปลี่ยนพารามิเตอร์เป็น 'ซ้าย' เพื่อให้ฐานโค้ดหันไปยังพื้นที่การเรียงลำดับ
เพิ่ม [หมุนเพื่อ] และตั้งค่าเป็นซ้าย - เพิ่มบล็อก [If then] และวางบล็อก <Detects color> ไว้ในรูปหกเหลี่ยม ปล่อยให้บล็อค <Detects color> เป็นสีแดง ซึ่งจะทำให้ Code Base ใช้เซ็นเซอร์ตาเพื่อตรวจจับสีของดิสก์ หากดิสก์นี้เป็นสีแดง บล็อก <Detects color> จะรายงานว่าเป็นจริง และบล็อกที่ถูกเพิ่มเข้าไปในบล็อก 'C' จะทำงาน
เพิ่ม [If then] ด้วย <Detects color> - เพิ่ม [ไดรฟ์สำหรับ] และ [Energize electromagnet] ภายในบล็อก [If then] และตั้งค่า [Energize electromagnet] เป็น 'ลดลง' การดำเนินการนี้จะทำให้ฐานโค้ดเคลื่อนไปยังพื้นที่การเรียงลำดับและวางดิสก์
เพิ่ม [ไดรฟ์สำหรับ} และ [Energize electromagnet] ตั้งค่าเป็น 'ลดลง' - เพิ่มบล็อก [ไดรฟ์สำหรับ] และตั้งค่าให้ย้อนกลับ การกระทำนี้จะทำให้ Code Base กลับไปยังฐานดาวอังคารหลังจากที่ทิ้งดิสก์ไปแล้ว
เพิ่ม [Drive for] และตั้งค่าให้ถอยหลัง - ในที่สุด ให้เพิ่มบล็อก [Turn for] และตั้งค่าเป็น 'ซ้าย' เพื่อให้ Code Base ส่งกลับ ไปยังตำแหน่งเริ่มต้น ซึ่งหันไปทางพื้นที่รวบรวมข้อมูลพื้นผิวดาวอังคาร
เพิ่ม [Drive for] และตั้งค่าให้ถอยหลัง - ให้เด็กนักเรียนตั้งชื่อโปรเจ็กต์ของตนเองเป็น เรียงลำดับสีแดง 1 และบันทึกลงในอุปกรณ์ของตน See the Open and Save section of the VEXcode GO VEX Library for device-specific steps to save a VEXcode GO project.
แบบจำลองสำหรับให้นักเรียนทดสอบโครงการของตนในภาคสนาม
- ขั้นแรก ให้พวกเขาเห็นวิธีวางหุ่นยนต์ที่จุดเริ่มต้น (ฐานดาวอังคาร) และดิสก์สีแดงบนสนามตามที่แสดงในภาพด้านล่าง ใช้เส้นตารางบนสนามเพื่อช่วยในการจัดตำแหน่ง ทั้งดิสก์และแม่เหล็กไฟฟ้าสามารถเรียงกันบนเส้นตารางที่ตัดกันของสนามได้ เพื่อให้นักเรียนเตรียมพร้อมสำหรับความสำเร็จได้ง่ายขึ้นเมื่อทดสอบโปรเจ็กต์ของพวกเขา
ตั้งค่าเพื่อทดสอบ - เมื่อฐานโค้ดพร้อมแล้ว ให้เลือก "เริ่ม" ใน VEXcode GO เพื่อทดสอบโครงการ ชมขณะที่ฐานรหัสขับเคลื่อนไปรวบรวมดิสก์สีแดง กลับไปยังฐาน จากนั้นส่งมอบไปยังพื้นที่การจัดเรียง
เลือก 'เริ่ม' เพื่อทดสอบโครงการ - นักเรียนจะต้องเลือกปุ่ม 'หยุด' ในแถบเครื่องมือ VEXcode GO เพื่อหยุดโครงการ
- สำหรับนักเรียนที่เรียนเสร็จเร็วและต้องการความท้าทายเพิ่มเติม ให้ย้ายดิสก์สีแดงไปที่ตำแหน่งอื่น พวกเขาสามารถปรับโค้ดเพื่อให้ฐานโค้ดรวบรวมดิสก์และส่งไปยังพื้นที่การเรียงลำดับเดียวกันได้หรือไม่
- อำนวยความสะดวกอำนวยความสะดวกในการสนทนากับนักเรียนในขณะที่พวกเขาทดสอบโครงการของพวกเขา
- ฐานโค้ดรู้ได้อย่างไรว่าจะต้องจ่ายพลังงานให้กับแม่เหล็กไฟฟ้าเมื่อใด
- บล็อคใดที่ใช้เพื่อให้ Code Base ตรวจจับสีของดิสก์?
- จะเกิดอะไรขึ้นถ้า Code Base ไม่ตรวจจับสีแดง?
เน้นที่แนวคิด ไม่ใช่ความแม่นยำ เป้าหมายของห้องปฏิบัติการนี้คือการมุ่งเน้นไปที่แนวคิดการใช้แม่เหล็กไฟฟ้าในโครงการ หากนักเรียนจัดตำแหน่งหุ่นยนต์ของตนผิดเล็กน้อยหรือดิสก์ไม่ได้อยู่ในตำแหน่งที่ถูกต้องพอดีเมื่อพวกเขาขับไปหาดิสก์ ให้แจ้งให้พวกเขา ว่าสามารถขยับดิสก์เล็กน้อยเพื่อให้แน่ใจว่าแม่เหล็กไฟฟ้าจะรับดิสก์ได้
- เตือนเตือนนักเรียนให้ตรวจสอบพารามิเตอร์ในบล็อก [ไดรฟ์สำหรับ] เพื่อให้แน่ใจว่าโปรเจ็กต์มีระยะทางที่ถูกต้องตามที่จำเป็นในการรวบรวม จากนั้นจึงจัดเรียงดิสก์
- พวกเขายังควรตรวจสอบด้วยว่าพารามิเตอร์ในบล็อก [Turn for] ได้รับการตั้งค่าเพื่อให้ Code Base หมุนไปในทิศทางที่ถูกต้องเพื่อกลับไปยัง Mars Base และไปยังพื้นที่การจัดเรียง
เพื่อส่งเสริมความคิดแบบเติบโตและช่วยให้ผู้เรียนยอมรับการลองผิดลองถูกซึ่งเป็นส่วนหนึ่งของการเขียนโค้ดและ รู้จากข้อผิดพลาดตลอดกระบวนการ ให้ถามคำถาม เช่น:
- คุณเคยทำผิดพลาดอะไรบ้างที่ทำให้คุณได้เรียนรู้อะไรบางอย่าง?
- ส่วนใดของแล็บที่ยุ่งยากหรือทำให้คุณต้องคิดหนัก?
- ถามถามนักเรียนว่า Perseverance Rover อาจใช้เซ็นเซอร์ตาเพื่อรวบรวมข้อมูลและศึกษาตัวอย่างหินและดินที่แตกต่างกันบนดาวอังคารได้อย่างไร รถสำรวจเพอร์เซเวียแรนซ์สามารถศึกษาอะไรได้บ้างด้วยอายเซนเซอร์?
พักเบรกกลางเกม & อภิปรายเป็นกลุ่ม
ทันทีที่กลุ่ม แต่ละกลุ่มทดสอบโครงการของตนเพื่อให้ Code Base รวบรวมและส่งมอบ Red Disk ไปยังพื้นที่การจัดเรียงให้มารวมตัวกันเพื่อพูดคุยสั้นๆ
ตรวจสอบความก้าวหน้าของนักเรียนและพูดคุยเกี่ยวกับสิ่งที่ Code Base กำลังทำในโครงการของพวกเขา
- เซ็นเซอร์ตาทำงานอย่างไรในโครงการของเรา? บล็อคอะไรควบคุมเซ็นเซอร์ตา?
- คุณทำให้แม่เหล็กไฟฟ้าทำงานร่วมกับเซ็นเซอร์ตาในโครงการของคุณได้อย่างไร?
- ถ้าเราเปลี่ยนตำแหน่งของดิสก์จะเกิดอะไรขึ้น? โครงการนี้จะยังใช้งานได้ไหม? ทำไมหรือทำไมไม่? คุณจะเปลี่ยนพารามิเตอร์อะไร?
ตอนที่ 2 - ทีละขั้นตอน
- สั่งให้สั่งให้นักเรียนนำสิ่งที่เรียนรู้ใน Play ส่วนที่ 1 ไปปรับใช้กับโปรเจ็กต์ของตนเพื่อให้ Code Base รวบรวม Red Disk จากตำแหน่งใหม่และวางลงในพื้นที่การจัดเรียงใหม่ พวกเขาจะต้องเปลี่ยนแปลงพารามิเตอร์ในโปรเจ็กต์ของตนเพื่อให้ฐานโค้ดรวบรวมและเรียงลำดับดิสก์ได้สำเร็จ
- แสดงการตั้งค่า Field ใหม่ให้กับนักเรียนและแจ้งระยะทางการขับขี่เพื่อให้พวกเขาสามารถเน้นที่โค้ดสำหรับโปรเจ็กต์นี้ได้ ฐานโค้ดจะต้องขับเคลื่อน มิลลิเมตร (~8 นิ้ว) เพื่อรวบรวมดิสก์ และ 350 มิลลิเมตร (มม.) (~14 นิ้ว (นิ้ว)) ไปยังพื้นที่การคัดแยกใหม่
การเล่นส่วนที่ 2 การตั้งค่าสนาม - แอนิเมชั่นต่อไปนี้แสดงให้เห็นวิธีที่เป็นไปได้อย่างหนึ่งที่ฐานโค้ดสามารถเคลื่อนที่เพื่อทำภารกิจให้สำเร็จได้
ไฟล์วีดีโอ - โมเดลโมเดลสำหรับนักเรียนที่จะเริ่มต้นโปรเจ็กต์ใน VEXcode GO
- หากจำเป็น ให้แสดงให้ผู้เรียนเห็นวิธีการเชื่อมต่อ Brain บน Code Base เข้ากับอุปกรณ์ใน VEXcode GO เนื่องจากขั้นตอนการเชื่อมต่อจะแตกต่างกันไปตามอุปกรณ์ต่างๆ, see the Connecting articles of the VEXcode GO VEX Library สำหรับขั้นตอนเฉพาะในการเชื่อมต่อ VEX GO Brain กับคอมพิวเตอร์หรือแท็บเล็ตของคุณ.
- If necessary, model the steps from the Configure a Code Base VEX Library article and ensure students can see the Drivetrain blocks in the Toolbox.
- ให้เด็กนักเรียนตั้งชื่อโปรเจ็กต์ของตนเองว่า เรียงลำดับสีแดง 2 และบันทึกลงในอุปกรณ์ของตน See the เปิดและบันทึกส่วนของ VEXcode GO VEX Library สำหรับขั้นตอนเฉพาะอุปกรณ์เพื่อบันทึกโปรเจ็กต์ VEXcode GO
หากจำเป็น เป็นแบบอย่างให้กับนักเรียนในการทดสอบโครงการของตนในภาคสนาม
- แสดงวิธีการตั้งค่าการทดสอบโดยวางฐานโค้ดไว้ที่ฐานดาวอังคาร
ตั้งค่าเพื่อทดสอบ - เมื่อฐานโค้ดพร้อมแล้ว ให้เลือก "เริ่ม" ใน VEXcode GO เพื่อทดสอบโครงการ จากนั้นสังเกตพฤติกรรมของ Code Base
- นักเรียนจะต้องเลือกปุ่ม 'หยุด' ในแถบเครื่องมือ VEXcode GO เพื่อหยุดโครงการหลังจากที่เสร็จสิ้นความท้าทาย
ถ้าหากนักเรียนทำเสร็จเร็ว ให้เปลี่ยนสถานที่จัดสถานที่ ให้พวกเขาย้ายมันไปใกล้ฐานดาวอังคารอีกหนึ่งช่อง
- ระยะห่างโดยประมาณสำหรับพื้นที่การคัดแยกนี้คือ 250 มิลลิเมตร (มม.) (~10 นิ้ว (นิ้ว)) พวกเขาสามารถเขียนโค้ดให้หุ่นยนต์รวบรวมและส่งดิสก์ไปยังพื้นที่การจัดเรียงเดียวกันได้หรือไม่
- อำนวยความสะดวกอำนวยความสะดวกในการสนทนากับนักเรียนในขณะที่พวกเขาสร้างและทดสอบโครงการของพวกเขาด้วยคำถามเช่น:
- ฐานโค้ดจะต้องเคลื่อนที่เพื่อรวบรวมดิสก์อย่างไร? คุณช่วยแสดงมือให้ฉันดูได้ไหม?
- คุณต้องเปลี่ยนแปลงอะไรบ้างเพื่อให้ฐานโค้ดของคุณรวบรวมดิสก์จากตำแหน่งใหม่?
- คุณต้องเปลี่ยนพารามิเตอร์ใดบ้างเพื่อให้ Code Base ลบดิสก์ออกจากพื้นที่การเรียงลำดับใหม่
เตรียมนักเรียนสำหรับการลองผิดลองถูกซึ่งเป็นส่วนสำคัญของการทดลองที่พวกเขาจะทำกับความท้าทายนี้ คุณอาจต้องการใช้กราฟิกวงจรการแก้ปัญหาจากหน้าพื้นหลังเป็นตัวช่วยในการสร้างโครงสร้างสำหรับกระบวนการแก้ปัญหาพร้อมกับนักเรียนของคุณ See the Background for more information for strategies to help students troubleshoot their projects and come up with their own solutions.
การแก้ปัญหาของนักเรียน รอบที่ มีหลายวิธีแก้ไขสำหรับความท้าทายนี้ ต่อไปนี้เป็นตัวอย่างหนึ่ง
เล่นส่วนที่ 2 วิธีแก้ปัญหาที่เป็นไปได้ เน้นที่แนวคิด ไม่ใช่ความแม่นยำ เป้าหมายของแล็บนี้คือการมุ่งเน้นไปที่แนวคิดการใช้เซ็นเซอร์ตาพร้อมกับแม่เหล็กไฟฟ้า ในโครงการ หากนักเรียนจัดตำแหน่งฐานโค้ดไม่ตรงเล็กน้อยหรือดิสก์ไม่ได้อยู่ในตำแหน่งที่ถูกต้องเมื่อนักเรียนขับเข้าไปหา ให้แจ้งให้พวกเขาทราบว่าสามารถขยับดิสก์เล็กน้อยเพื่อให้แน่ใจว่าแม่เหล็กไฟฟ้าจะรับได้
หากนักเรียนต้องการการสนับสนุนเพิ่มเติมในการเชื่อมโยงพฤติกรรมของ Code Base เข้ากับคำสั่งแบบบล็อกในโครงการของตน ให้ใช้คุณลักษณะ Project Stepping เพื่อช่วยให้นักเรียนดำเนินการโครงการทีละบล็อก เพื่อดูว่าแต่ละบล็อกได้รับการดำเนินการในโครงการของตนอย่างไร สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้คุณลักษณะ Project Stepping โปรดดูบทช่วยสอน Stepping Through Blocks ใน VEXcode GO
Through Blocks บทช่วยสอนใน VEXcode GO - เตือนเตือนนักเรียนให้ตรวจสอบลำดับ (หรือบล็อก) ของบล็อกและพารามิเตอร์ที่แต่ละบล็อกถูกตั้งค่าไว้ในโปรเจ็กต์ของพวกเขาก่อนที่พวกเขาจะทดสอบบนสนาม
- ฐานโค้ดเลี้ยวขวาแทนที่จะเป็นซ้ายใช่ไหม? คุณจะเปลี่ยนแปลงอะไรได้บ้างเพื่อให้หุ่นยนต์หมุนไปในทิศทางที่ถูกต้อง?
- ดิสก์อยู่ไกลออกไปใช่ไหม? คุณจะเปลี่ยนพารามิเตอร์ในบล็อก [Drive for] เพื่อค้นหาระยะทางที่เหมาะสมในการเดินทางของ Code Base ได้อย่างไร
- บล็อก <Detects color> ถูกตั้งค่าเป็นสีแดง (สีของดิสก์) หรือไม่?
พูดคุยกับนักเรียนเกี่ยวกับการแก้ไขปัญหาในแต่ละประเด็นในขณะที่คุณเดินวนรอบห้องเรียน นี่จะเป็นกระบวนการแบบวนซ้ำ ดังนั้น โปรดเตือนนักเรียนว่านักวิทยาศาสตร์ที่เขียนโค้ดรถสำรวจดาวอังคารจะต้องพยายามหลายครั้งเพื่อให้รถสำรวจเคลื่อนที่ไปตามที่ตั้งใจไว้
- ถามขอให้เด็กนักเรียนคิดว่าโครงการของพวกเขามีการเปลี่ยนแปลงอย่างไรจาก Play Part 1 ไปเป็น Play Part 2
- โครงการของคุณมีการเปลี่ยนแปลงอย่างไรบ้างตั้งแต่เริ่มก่อตั้ง Lab จนถึงปัจจุบัน?
- คุณเปลี่ยนแปลงอะไรในโครงการของคุณเพื่อให้ทำงานได้ดีขึ้น?
- คุณทำการเปลี่ยนแปลงอะไรที่ทำให้ประสบความสำเร็จน้อยลง? คุณแก้ไขปัญหายังไง?