เล่น
ส่วนที่ 1 - ทีละขั้นตอน
- สั่งให้สั่งให้นักเรียนสร้างสิ่งต่างๆ จากสิ่งที่เรียนรู้ในห้องปฏิบัติการ 2 เพื่อให้ Code Base รวบรวมและคัดแยกตัวอย่างหินจากดาวอังคารไปยังพื้นที่อื่น ตัวอย่างใหม่จะถูกแสดงโดยดิสก์สีน้ำเงิน พวกเขาจะเพิ่มโครงการ Lab 2 ของตนเพื่อเขียนโค้ดหุ่นยนต์เพื่อจัดเรียงดิสก์ตามสี
- แสดงให้นักเรียนเห็นการตั้งค่าภาคสนามโดยมีพื้นที่การจัดเรียงที่ทำเครื่องหมายว่า 'R, G, B' พวกเขาจะต้องวางดิสก์สีน้ำเงินลงในพื้นที่การจัดเรียงสีน้ำเงิน
การตั้งค่าภาคสนาม - นักเรียนจะสร้างโครงการนี้ร่วมกับคุณ จากนั้นจึงทดสอบบนพื้นผิวดาวอังคาร (สนาม) แอนิเมชั่นด้านล่างนี้แสดงให้เห็นว่า 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.
- เมื่อเชื่อมต่อแล้ว ให้ให้เด็กนักเรียนเปิดโครงการ เรียงลำดับสีแดง 1 จากห้องปฏิบัติการ 2 คุณจะสร้างโครงการนี้ร่วมกันเพื่อให้ Code Base จัดเรียง Blue Disk
- If necessary, model the steps in the Open and Save section of the VEXcode GO VEX Library for device-specific steps to open a VEXcode GO project.
-
หากนักเรียนไม่สามารถเข้าถึงโครงการ Lab 2 ได้ ให้พวกเขาสร้างโครงการต่อไปนี้ใน VEXcode GO
เรียงลำดับสีแดง 1 โปรเจกต์ - จากแล็บ 2
-
จากนั้น แสดงวิธีการจำลองบล็อก [If then] และเพิ่มสิ่งนี้ลงในตอนท้ายของโปรเจ็กต์ให้กับนักเรียน กดบล็อก [If then] ค้างไว้ จากนั้นเลือก 'Duplicate' จากเมนูบริบท For more information on how to use the context menu to duplicate blocks, see the Using the Context Menu in VEXcode GO VEX Library article.
ทำซ้ำบล็อค [If then] -
แสดงให้นักเรียนเห็นถึงวิธีการเปลี่ยนพารามิเตอร์ในบล็อก <Detects color> ให้เป็น "สีน้ำเงิน" เพื่อให้ลำดับ [If then] นี้จะสั่งให้ Code Base เรียงลำดับดิสก์สีน้ำเงิน

- จากนั้น เปลี่ยนพารามิเตอร์ระยะห่างใน [Drive for] บล็อกเป็น 350 มม. เป็น ให้ Code Base ขับไปและกลับจากพื้นที่การเรียงลำดับสีน้ำเงินบน Field
- ให้เด็กนักเรียนตั้งชื่อโปรเจ็กต์ของตนเองว่า เรียงลำดับสีน้ำเงิน และบันทึกลงในอุปกรณ์ของตน See the Open and Save section of the VEXcode GO VEX Library for device-specific steps to save a VEXcode GO project.
เรียงสีน้ำเงิน โปรเจกต์ แบบจำลองสำหรับให้นักเรียนทดสอบโครงการของตนในภาคสนาม
- ขั้นแรก ให้พวกเขาเห็นวิธีวางหุ่นยนต์ที่จุดเริ่มต้น (ฐานดาวอังคาร) และดิสก์สีน้ำเงินบนสนามตามที่แสดงในภาพด้านล่าง ใช้เส้นตารางบนสนามเพื่อช่วยในการจัดตำแหน่ง ทั้งดิสก์และแม่เหล็กไฟฟ้าสามารถเรียงกันบนเส้นกริดที่ตัดกันของสนามได้ เพื่อให้นักเรียนเตรียมพร้อมสำหรับความสำเร็จได้ง่ายขึ้นเมื่อทดสอบโปรเจ็กต์ของพวกเขา
ตั้งค่าเพื่อทดสอบ - เมื่อฐานโค้ดพร้อมแล้ว ให้เลือก "เริ่ม" ใน VEXcode GO เพื่อทดสอบโครงการ ชมขณะที่ Code Base ขับเคลื่อนไปรวบรวม Blue Disk กลับไปยัง Mars Base แล้วส่งมอบไปยังพื้นที่คัดแยกสีน้ำเงิน
เลือก 'เริ่ม' เพื่อทดสอบโครงการ - นักเรียนจะต้องเลือกปุ่ม 'หยุด' ในแถบเครื่องมือ VEXcode GO เพื่อหยุดโครงการ
- สำหรับนักเรียนที่ทำเสร็จก่อนเวลาและต้องการความท้าทายเพิ่มเติม ให้วางดิสก์สีแดงไว้บนสนามในตำแหน่งเดียวกัน จากนั้นจึงเริ่มโครงการของพวกเขา ฐานโค้ดจะส่งดิสก์สีแดงไปที่พื้นที่การจัดเรียงสีแดงหรือไม่? จะเกิดอะไรขึ้นถ้าพวกเขาลองโครงการของพวกเขาด้วย Green Disk? ลองดูสิ!
- อำนวยความสะดวกอำนวยความสะดวกในการสนทนากับนักเรียนในขณะที่พวกเขาทดสอบโครงการของพวกเขา
- ฐานโค้ดจะต้องเคลื่อนที่เพื่อรวบรวมดิสก์อย่างไร? คุณช่วยแสดงมือให้ฉันดูหน่อยได้ไหม?
- Code Base จำเป็นต้องเปลี่ยนหรือไม่? ไกลแค่ไหน? ไปทางไหน?
- ฐานโค้ดจะเคลื่อนไหวอย่างไรเพื่อส่งมอบดิสก์ไปยังพื้นที่การเรียงลำดับ จะหันไปทางไหน? ต้องขับรถไปไกลแค่ไหนถึงจะถึงพื้นที่คัดแยก?
- ฐานโค้ดจะทราบได้อย่างไรว่าดิสก์เป็นสีน้ำเงินหรือเป็นสีอื่น?
- บล็อคใดที่ใช้เพื่อให้ Code Base ตรวจจับสีของดิสก์?
- จะเกิดอะไรขึ้นถ้า Code Base ตรวจพบสีแดง? Code Base จะส่ง Red Disk ไปที่ตำแหน่งเดียวกับ Blue Disk หรือไม่? ทำไมจะไม่ได้ล่ะ?
เน้นที่แนวคิด ไม่ใช่ความแม่นยำ
- เป้าหมายของห้องปฏิบัติการนี้คือการมุ่งเน้นไปที่แนวคิดการใช้แม่เหล็กไฟฟ้าในโครงการ หากนักเรียนจัดตำแหน่งหุ่นยนต์ของตนผิดเล็กน้อยหรือดิสก์ไม่ได้อยู่ในตำแหน่งที่ถูกต้องเมื่อขับไปหา ให้แจ้งให้พวกเขาทราบว่าสามารถขยับดิสก์เล็กน้อยเพื่อให้แน่ใจว่าแม่เหล็กไฟฟ้าจะรับดิสก์ได้
- นอกจากนี้ ให้แจ้งนักเรียนด้วยว่าการดันดิสก์เข้าไปในพื้นที่การจัดเรียงนั้นเป็นเรื่องปกติ หากดิสก์นั้นอยู่ในช่องพื้นที่การจัดเรียงเป็นส่วนใหญ่ แต่ไม่ได้อยู่ในช่องทั้งหมด
- เตือนเตือนนักเรียนให้ตรวจสอบพารามิเตอร์ในบล็อก [ไดรฟ์สำหรับ] เพื่อให้แน่ใจว่าโปรเจ็กต์มีระยะทางที่ถูกต้องตามที่จำเป็นในการรวบรวม จากนั้นจึงจัดเรียงดิสก์
เพื่อส่งเสริมความคิดแบบเติบโตและช่วยให้ผู้เรียนยอมรับการลองผิดลองถูกซึ่งเป็นส่วนหนึ่งของการเขียนโค้ด และสนับสนุนให้พวกเขาเรียนรู้จากข้อผิดพลาดไปตลอดทาง ให้ถามคำถาม เช่น:
- คุณเคยทำผิดพลาดอะไรบ้างที่ทำให้คุณได้เรียนรู้อะไรบางอย่าง?
- คุณได้เรียนรู้อะไรจากความผิดพลาดนี้? มันช่วยคุณได้อย่างไรเมื่อต้องเขียนโค้ดฐานครั้งต่อไป?
- ส่วนใดของแล็บที่ยุ่งยากหรือทำให้คุณต้องคิดหนัก?
- ถามถามนักเรียนว่าพวกเขาจะใช้เงื่อนไข [ถ้าแล้ว] เพื่อเข้ารหัส Perseverance Rover เพื่อแยกตัวอย่างหินของดาวอังคารออกเป็นสองประเภทได้อย่างไร คือ หินที่แสดงสัญญาณของสิ่งมีชีวิตโบราณ และหินที่ไม่แสดงสัญญาณดังกล่าว
พักเบรกกลางเกม & อภิปรายเป็นกลุ่ม
ทันทีที่กลุ่ม แต่ละกลุ่มทดสอบโครงการของตนเพื่อให้ Code Base รวบรวมและจัดส่ง Blue Disk ไปยังพื้นที่การคัดแยกให้มารวมตัวกันเพื่อพูดคุยสั้นๆ
พูดคุยถึงสิ่งที่เกิดขึ้นในโครงการเมื่อฐานโค้ดตัดสินใจตามเงื่อนไขที่สร้างขึ้นด้วยบล็อค [If then] แสดงแอนิเมชั่นด้านล่าง หรือโครงการ Sort Blue ที่กำลังทำงานอยู่ใน VEXcode GO ดึงความสนใจของนักเรียนไปที่ฟีเจอร์ไฮไลท์ และวิธีที่ไฮไลท์ข้าม บล็อก [If then] แรกเนื่องจากเงื่อนไข (เซ็นเซอร์ตาตรวจจับสีแดง) เป็นเท็จ ไฮไลท์จะแสดงให้เห็นวิธีที่โปรเจ็กต์ เคลื่อนไปยังบล็อก [If then] ถัดไป เนื่องจากเซ็นเซอร์ตรวจจับสีน้ำเงิน เงื่อนไขจึงเป็นจริง และบล็อกภายในบล็อก [If then] 'C' จะทำงาน ให้แน่ใจว่านักเรียนเข้าใจว่าบล็อกภายในบล็อก [If then] จะทำงานเฉพาะเมื่อเงื่อนไขเป็นจริงเท่านั้น
- เหตุใดบล็อกหนึ่ง [If then] จึงถูก “ข้าม” เกิดอะไรขึ้นแทน?
- จะเกิดอะไรขึ้นในโปรเจ็กต์ของเราเมื่อเงื่อนไขของบล็อก [If then] เป็น False? บล็อกภายในบล็อก [If then] 'C' ทำงานหรือไม่?
- จะเกิดอะไรขึ้นถ้าเงื่อนไขของบล็อค [If then] เป็น True?
- จะเกิดอะไรขึ้นถ้าเราให้ Code Base รวบรวม Green Disk? บล็อค [If then] ใดบล็อคหนึ่งจะทำงานหรือไม่? ทำไม
- จะเกิดอะไรขึ้นถ้า ต้องการให้ Code Base จัดเรียง Green Disk จะทำอย่างไร เราจะต้องเพิ่มอะไรให้กับโครงการของเรา?
หมายเหตุ: หากคุณต้องการให้การไหลของโครงการช้าลงอีก ให้ดำเนินการตามโครงการอย่างค่อยเป็นค่อยไปโดยใช้คุณลักษณะการค่อยเป็นค่อยไป และหารือว่าเหตุใดจึง "ข้าม" บล็อก [If then] แรก สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้คุณลักษณะ Project Stepping โปรดดูบทช่วยสอน Stepping Through Blocks ใน VEXcode GO
ตอนที่ 2 - ทีละขั้นตอน
- สั่งให้สั่งให้นักเรียนนำสิ่งที่เรียนรู้ใน Play ส่วนที่ 1 ไปใช้และเพิ่มลงในโปรเจ็กต์ของตนเพื่อให้ Code Base รวบรวมและจัดเรียงดิสก์สีเขียว พวกเขาจะต้องเปลี่ยนแปลงพารามิเตอร์ในโปรเจ็กต์ของตนเพื่อให้ฐานโค้ดส่งมอบดิสก์ไปยังพื้นที่การเรียงลำดับสีเขียว
เมื่อพวกเขาจัดเรียงดิสก์สีเขียวสำเร็จแล้ว พวกเขาจะทำการทดลองกับดิสก์ทั้งสามแผ่น พวกเขาสามารถให้ฐานรหัสรวบรวมและจัดส่งดิสก์ทั้งสามแผ่นไปยังพื้นที่การจัดเรียงที่เหมาะสมได้หรือไม่
- แสดงการตั้งค่า Field ใหม่ให้กับนักเรียนและแจ้งระยะทางการขับรถไปยังพื้นที่การจัดเรียงสีเขียวเพื่อให้พวกเขาสามารถเน้นที่โค้ดสำหรับโครงการนี้ได้ ฐานโค้ดจะต้องขับเคลื่อน 250 มิลลิเมตร (มม.) (~10 นิ้ว (นิ้ว)) จากฐานดาวอังคารไปและกลับจากพื้นที่คัดแยกสีเขียว
การเล่นส่วนที่ 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. เมื่อกำหนดค่าฐานโค้ดแล้ว นักเรียนสามารถสร้างโปรเจ็กต์ของตนได้
- ให้เด็กนักเรียนตั้งชื่อโครงการของตนเองเป็น จัดเรียงทั้งหมด และบันทึกลงในอุปกรณ์ของตน 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 ตรวจจับ Green Disk ได้?
- คุณต้องเปลี่ยนพารามิเตอร์ใดบ้างเพื่อให้ Code Base ลบดิสก์ออกจากพื้นที่การเรียงลำดับใหม่
- Code Base ตรวจจับสีของดิสก์ได้อย่างไร ฐานโค้ดรู้ได้อย่างไรว่าจะต้องส่งมอบดิสก์ที่ไหน
เตรียมนักเรียนสำหรับการลองผิดลองถูกซึ่งถือเป็นส่วนสำคัญของความท้าทายนี้ You may want to use the Problem-solving Cycle graphic from the Background page as a visual aide to establish a structure for the problem-solving process with your students.
การแก้ปัญหาของนักเรียน รอบที่ มีหลายวิธีแก้ไขสำหรับความท้าทายนี้ ต่อไปนี้เป็นตัวอย่างหนึ่ง
จัดเรียงทั้งหมด โครงการ เน้นที่แนวคิด ไม่ใช่ความแม่นยำ
- เป้าหมายของห้องปฏิบัติการนี้คือการมุ่งเน้นไปที่แนวคิดการใช้แม่เหล็กไฟฟ้าในโครงการ หากนักเรียนจัดตำแหน่งฐานโค้ดไม่ตรงเล็กน้อยหรือดิสก์ไม่ได้อยู่ในตำแหน่งที่ถูกต้องเมื่อขับเข้าไปใกล้ ให้เตือนพวกเขาว่าสามารถขยับดิสก์เล็กน้อยเพื่อให้แน่ใจว่าแม่เหล็กไฟฟ้าจะรับได้
- นอกจากนี้ ให้แจ้งนักเรียนด้วยว่าสามารถเขี่ยดิสก์เข้าไปในพื้นที่การจัดเรียงได้ หากดิสก์อยู่ในช่องพื้นที่การจัดเรียงเป็นส่วนใหญ่ แต่ไม่ได้อยู่ในพื้นที่การจัดเรียงทั้งหมด
หากนักเรียนต้องการการสนับสนุนเพิ่มเติมในการเชื่อมโยงพฤติกรรมของ Code Base เข้ากับคำสั่งแบบบล็อกในโครงการของตน ให้ใช้คุณลักษณะ Project Stepping เพื่อช่วยให้นักเรียนดำเนินการโครงการทีละบล็อก เพื่อดูว่าแต่ละบล็อกได้รับการดำเนินการในโครงการของตนอย่างไร สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้คุณลักษณะ Project Stepping โปรดดูบทช่วยสอน Stepping Through Blocks ใน VEXcode GO
บทช่วยสอนการก้าวผ่านบล็อกใน VEXcode GO - เตือนเตือนนักเรียนให้ตรวจสอบลำดับ (หรือบล็อก) ของบล็อกและพารามิเตอร์ของบล็อกในโปรเจ็กต์ของพวกเขาก่อนที่จะทดสอบในสนาม
- แล้วฐานโค้ดจะต้องเคลื่อนที่ไปเก็บรวบรวมและจัดเรียงดิสก์อย่างไร? คุณช่วยแสดงมือให้ฉันดูหน่อยได้ไหม?
- Code Base จำเป็นต้องเปลี่ยนหรือไม่? ไกลแค่ไหน? ไปทางไหน?
- ภายในบล็อก [If then] แต่ละบล็อกมีบล็อกอะไรบ้าง? สิ่งเหล่านี้จะขับเคลื่อนฐานโค้ดไปยังพื้นที่การเรียงลำดับที่ถูกต้องหรือไม่
- พื้นที่คัดแยกอยู่ไกลออกไปใช่ไหม? คุณจะเปลี่ยนพารามิเตอร์ในบล็อก [Drive for] เพื่อให้ Code Base ขับเคลื่อนไปยังพื้นที่การเรียงลำดับที่ถูกต้อง (250 มม. ไปยังพื้นที่การเรียงลำดับสีเขียว) ได้อย่างไร
- บล็อก <Detects color> ถูกตั้งค่าเป็น 'สีเขียว' (สีของดิสก์) หรือไม่?
พูดคุยกับนักเรียนเกี่ยวกับการแก้ไขปัญหาในแต่ละประเด็นในขณะที่คุณเดินวนรอบห้องเรียน นี่จะเป็นกระบวนการแบบวนซ้ำ โปรดเตือนนักเรียนว่านักวิทยาศาสตร์ที่เขียนโค้ดยานสำรวจดาวอังคารจะต้องพยายามหลายครั้งเพื่อให้ยานสำรวจเคลื่อนที่ไปตามที่ตั้งใจไว้
- คุณเคยทำผิดพลาดอะไรบ้างที่ทำให้คุณได้เรียนรู้อะไรบางอย่าง? คุณได้เรียนรู้อะไรจากความผิดพลาดนี้? มันช่วยคุณได้อย่างไรเมื่อต้องเขียนโค้ดฐานครั้งต่อไป?
- คุณเปลี่ยนแปลงอะไรในโครงการของคุณเพื่อให้ทำงานได้ดีขึ้น?
- คุณทำการเปลี่ยนแปลงอะไรที่ทำให้โครงการของคุณประสบความสำเร็จน้อยลง? คุณแก้ไขปัญหายังไง?
- คุณได้เรียนรู้อะไรบ้างจากห้องแล็บอื่นๆ ที่คุณใช้ช่วยเหลือคุณในห้องแล็บนี้?
- ถามขอให้เด็กนักเรียนคิดว่าโครงการของพวกเขามีการเปลี่ยนแปลงอย่างไรจากห้องปฏิบัติการ 2 ไปเป็นห้องปฏิบัติการ 3
- โครงการของคุณเปลี่ยนแปลงอย่างไรบ้างตั้งแต่ Lab 2 จนถึงปัจจุบัน? คุณเพิ่มอะไรเข้าไป? การเปลี่ยนแปลงนี้ส่งผลต่อพฤติกรรมของ Code Base อย่างไร?
- Code Base ใน Lab 2 สามารถทำอะไรได้บ้าง? ตอนนี้มันสามารถทำอะไรได้บ้าง? คุณได้เพิ่มอะไรให้กับโครงการของคุณเพื่อทำให้สิ่งนี้เกิดขึ้น?