Skip to main content

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือสำหรับครู - จุดประสงค์ของกิจกรรมนี้

ในหน้าก่อน นักเรียนกำลังตั้งโปรแกรมให้แขนหมุนขึ้นโดยใช้ปุ่ม Brain Up หน้านี้จะสร้างจากโปรเจ็กต์ก่อนหน้าเพื่อตั้งโปรแกรมให้แขนหมุนลงโดยใช้ปุ่ม Brain Down

กิจกรรมนี้จะแนะนำให้นักเรียนเขียนโปรแกรมด้วย [If then else] บล็อก เช่นเดียวกับการใช้บล็อกการตรวจจับและตัวดำเนินการเพื่อให้หุ่นยนต์ตรวจสอบว่ามีการกดปุ่ม Brain Up หรือ Down หรือไม่ หากกดปุ่ม Brain Up แขนของ Clawbot จะยกขึ้น หากกดปุ่ม Brain Down แขนของ Clawbot จะลดลง สิ่งนี้ต่อยอดจากกิจกรรมก่อนหน้านี้และจะเป็นการวางรากฐานสำหรับ User Interface Challenge ในส่วน Rethink

สำหรับ User Interface Challenge นักเรียนจะต้องตั้งโปรแกรม Clawbot ให้ยกแขน ลดแขน เปิดกรงเล็บ และปิดกรงเล็บทั้งหมดโดยใช้ปุ่มบน IQ Robot Brain

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ [If then], [If then else], <ปุ่ม Brain ที่กด>หรือ [Spin] บล็อก โปรดดูข้อมูลช่วยเหลือภายใน VEXcode IQ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือช่วยเหลือในตัวนี้ คลิก ที่นี่

ต่อไปนี้คือโครงร่างสิ่งที่นักเรียนของคุณจะทำในกิจกรรมนี้:

  • ใช้ ArmUp2 ที่มีอยู่เพื่อสร้างโปรเจ็กต์ ArmUpDown ที่จัดเตรียมไว้ให้และคาดการณ์ว่าโปรเจ็กต์จะทำอะไร

  • ดูผังงานเพื่อช่วยอธิบายลำดับขั้นตอนของบล็อกในโครงการ

  • ปรับแต่งคำอธิบายเกี่ยวกับสิ่งที่โครงการ ArmUpDown ทำ

  • ดูวิดีโอแนะนำ If That Else บล็อก 

  • แก้ไขโครงการโดยใช้ [ถ้าเป็นเช่นนั้น] บล็อก

  • หยุดและอภิปราย: นักเรียนจะไตร่ตรองการคาดการณ์ของตนว่า Clawbot จะให้ Clawbot ทำอะไรในโปรเจ็กต์นี้ เทียบกับการสังเกตจริง

  • ตั้งโปรแกรมกรงเล็บโดยใช้โครงโครงการเดียวกันจากการตั้งโปรแกรมแขน

วัสดุที่ต้องการ:
ปริมาณ วัสดุที่จำเป็น
1

VEX IQ ซุปเปอร์คิท

1

VEXโค้ด IQ

1

สมุดบันทึกวิศวกรรม

1

เทมเพลต Clawbot (ระบบขับเคลื่อน)

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู

หากต้องการคำแนะนำเกี่ยวกับกลยุทธ์การสอนสำหรับหัวข้อนี้ โปรดดูคอลัมน์การนำส่งของคู่มือการกำหนดอัตราสิ่งที่ต้องทำหรือไม่ต้องทำ (Google / .docx / .pdf)

แขน Clawbot พร้อมขยับขึ้นลงแล้ว!

กิจกรรมนี้จะมอบเครื่องมือในการตั้งโปรแกรมหุ่นยนต์ของคุณให้มีพฤติกรรมตามเงื่อนไข
บล็อก [ถ้าเป็นเช่นนั้น] เป็นจุดสนใจหลักภายในกิจกรรม แต่ยังใช้บล็อกการตรวจจับ การควบคุม และตัวดำเนินการอื่นๆ ด้วยเช่นกัน

คุณสามารถใช้ข้อมูลวิธีใช้ภายใน VEXcode IQ เพื่อเรียนรู้เกี่ยวกับบล็อกต่างๆ สำหรับคำแนะนำในการใช้คุณสมบัติ วิธีใช้ โปรดดูบทช่วยสอนการใช้วิธีใช้

ไอคอนทิปของครู เคล็ดลับของครู

หากนี่เป็นครั้งแรกของนักเรียนที่ใช้ VEXcode IQ พวกเขายังสามารถดูบทช่วยสอนในแถบเครื่องมือเพื่อเรียนรู้ทักษะพื้นฐานอื่นๆ

ขั้นตอนที่ 1: การเขียนโปรแกรมเพื่อเลื่อนแขนลง

ในหน้าก่อนหน้านี้ คุณได้ตั้งโปรแกรมให้แขนของ Clawbot หมุนขึ้นเมื่อกดปุ่ม Brain Up แต่แล้วยังลดแขนลงด้วยล่ะ? ก่อนอื่นเรามาทบทวนโครงการ ArmUp2 ก่อนหน้านี้อีกครั้ง

เป็นไปได้ไหมที่จะใช้บล็อก [If then] อันเดิมเพื่อหมุนแขนขึ้นและหมุนแขนลงด้วย? มาลองดูกัน! สร้างโปรเจ็กต์ด้านล่างโดยแก้ไขโปรเจ็กต์ ArmUp2 ที่มีอยู่แล้ว

  • บันทึกโครงการเป็น ArmUpDown หากนักเรียนต้องการความช่วยเหลือในการบันทึกโครงการ โปรดดูบทช่วยสอนการตั้งชื่อและการบันทึก

  • ตรวจสอบเพื่อให้แน่ใจว่าชื่อโปรเจ็กต์ ArmUpDown อยู่ในหน้าต่างตรงกลางของแถบเครื่องมือแล้ว

  • คาดการณ์ว่าโปรเจ็กต์จะให้ Clawbot ทำอะไรในสมุดบันทึกด้านวิศวกรรมของคุณ อธิบายพฤติกรรมทั้งของผู้ใช้และของ Clawbot

  • ทดสอบเพื่อดูว่าการคาดการณ์ของคุณเกี่ยวกับสิ่งที่ Clawbot ทำในโปรเจ็กต์นั้นถูกต้องหรือไม่

    • ดาวน์โหลดโปรเจ็กต์เป็น Slot 3 บน Clawbot จากนั้นรัน

    • สำหรับความช่วยเหลือในการดาวน์โหลดและรันโปรเจ็กต์ โปรดดูบทช่วยสอนใน VEXcode IQ ที่อธิบายวิธีดาวน์โหลดและรันโปรเจ็กต์
      ดาวน์โหลดและเรียกใช้บทช่วยสอนโครงการ

  • ตรวจสอบคำอธิบายของโครงการและเพิ่มบันทึกเพื่อแก้ไขตามความจำเป็น

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู

โครงการที่นักเรียนสร้างข้างต้นจะได้ผล เมื่อกดปุ่ม Brain Up แขนจะหมุนขึ้น และเมื่อกดปุ่ม Brain Down แขนจะหมุนลง แม้ว่าโครงการจะทำงานตามที่เป็นอยู่ แต่ก็ไม่ได้เขียนอย่างเหมาะสมที่สุด อาจมีกรณีที่เงื่อนไขทั้งสองสามารถเป็นจริงได้ในเวลาเดียวกัน นอกจากนี้ โปรดสังเกตด้วยว่าเนื่องจากเงื่อนไขของปุ่ม Brain Up เริ่มกดเป็นอันดับแรก หากปุ่ม Brain Up ค้างไว้แล้วจึงกดปุ่ม Brain Down แขนก็จะหมุนต่อไป การกระทำนั้นจะไม่หยุดจนกว่าจะปล่อยปุ่ม Brain Up ดังนั้น โครงการจะถูกเขียนใหม่ในขั้นตอนถัดไปเพื่อรวมบล็อก [If then else] เพื่อหลีกเลี่ยงปัญหาที่อาจเกิดขึ้นเหล่านี้

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู - หยุดและอภิปราย

เมื่อนักเรียนได้ทดสอบโครงงานแล้ว ให้ถามพวกเขาว่าการคาดการณ์เปรียบเทียบกับการสังเกตอย่างไร อำนวยความสะดวกในการอภิปรายโดยถามคำถามต่อไปนี้:

  • การทำนายของคุณเหมือนกับการสังเกตของคุณหรือไม่?

  • ดูเหมือนว่าจะเกิดอะไรขึ้นในโครงการ?

  • มีการตรวจสอบเงื่อนไขของปุ่มขึ้นและลงเพียงครั้งเดียวหรือไม่?

  • คุณคิดว่าโครงการนี้สามารถจัดโครงสร้างใหม่เพื่อให้ดำเนินการได้อย่างมีประสิทธิภาพมากขึ้นหรือไม่ เพราะเหตุใด

ขั้นตอนที่ 2: ทำความเข้าใจโฟลว์โครงการ

ในขั้นตอนที่แล้วโครงการได้ยกแขนขึ้นและลง อย่างไรก็ตาม เนื่องจากเงื่อนไขของปุ่ม Brain Up จะเริ่มกดเป็นอันดับแรก ถ้ากดปุ่ม Brain Up ค้างไว้แล้วจึงกดปุ่ม Brain Down แขนก็จะหมุนต่อไปเนื่องจากการกระทำนั้นจะไม่หยุดจนกว่าปุ่ม Brain Up ถูกปล่อย. ดูผังงานต่อไปนี้ที่อธิบายผังโครงการ

ดังนั้น โครงการสามารถแทนที่บล็อก [If then] ด้วย [If then else] บล็อก เพื่อให้มีเพียงอินสแตนซ์เดียวเท่านั้นที่สามารถเป็นจริงได้ตลอดเวลา

ดูวิดีโอแนะนำต่อไปนี้เกี่ยวกับ [If then else] บล็อก:

เริ่มต้นด้วยการดูวิดีโอบทช่วยสอน If-Then-Else ใน VEXcode IQ

บทช่วยสอนแบบถ้าอย่างนั้น

การใช้บล็อก [ถ้าเป็นเช่นนั้น] จะช่วยขจัดความจำเป็นในการบล็อก [รอจนกระทั่ง] เนื่องจากแขนจะหมุนต่อไปจนกว่าปุ่ม Brain Up จะถูกปล่อย สิ่งนี้เกิดขึ้นเนื่องจากส่วน "else" ของ [If then else] ไม่เคยเข้าถึงจนกว่าเงื่อนไขของปุ่ม Brain Up จะเป็นเท็จ (ปล่อย)

บล็อก [Forever] ช่วยให้สามารถตรวจสอบเงื่อนไขแรกได้อย่างต่อเนื่อง

เรามาสำรวจการเปลี่ยนแปลงโปรเจ็กต์โดยการเพิ่ม [If then else] บล็อก ตอนนี้ Arm Motor จะยังคงหมุนต่อไปจนกว่าจะไม่ได้กดปุ่ม Brain Up อีกต่อไป (ปล่อย) เนื่องจากบล็อก [Forever] เงื่อนไขนี้จะถูกตรวจสอบต่อไปจนกว่าจะเป็นเท็จ

เมื่อเงื่อนไขของปุ่ม Brain Up เป็นเท็จ โปรเจ็กต์จะดำเนินต่อไปยังบล็อกถัดไป ซึ่งก็คือการตรวจสอบเงื่อนไขว่ากดปุ่ม Brain Down หรือไม่ หากเงื่อนไขของการกดปุ่ม Brain Down เป็นจริง แขนจะหมุนขึ้น อีกครั้ง เนื่องจากบล็อก [Forever] เงื่อนไขนี้จะถูกตรวจสอบต่อไปจนกว่าจะเป็นเท็จ

เมื่อเงื่อนไขของปุ่ม Brain Up เป็นเท็จ โปรเจ็กต์จะดำเนินต่อไปยังบล็อกถัดไป ซึ่งก็คือบล็อก [Stop motor]  ดังนั้น Arm Motor จะหยุดเมื่อทั้งสองเงื่อนไขเป็นเท็จเท่านั้น (ไม่มีการกดปุ่มใดเลย)

ไอคอนกระตุ้นการสนทนา กระตุ้นให้เกิดการอภิปราย

ถาม: ความคืบหน้าของโฟลว์โปรเจ็กต์จะเป็นอย่างไรหากเงื่อนไขของการกดปุ่ม Brain Up เป็น FALSE (ปล่อยแล้ว)
A: หากเงื่อนไขเป็นเท็จ โฟลว์โปรเจ็กต์จะยังคงตรวจสอบสภาพของการกดปุ่ม Brain Down ต่อไป

ถาม: จุดประสงค์ของ [If then else] บล็อกในโครงการด้านบนคืออะไร?
A: การใช้บล็อก [If then else] อนุญาตให้เป็นจริงได้ครั้งละหนึ่งอินสแตนซ์เท่านั้น ดังนั้น ปุ่ม Brain Up และปุ่ม Brain Down จะไม่สามารถเป็นจริงพร้อมกันได้โดยใช้บล็อค [ถ้าเป็นเช่นนั้น] เนื่องจากเงื่อนไขที่สองของปุ่ม Brain Down ที่ถูกกดจะไม่เป็นตัวเลือก เว้นแต่เงื่อนไขแรกของ การกดปุ่ม Brain Up ไม่ถูกต้อง จุดประสงค์อื่นคือเพื่อปรับปรุงประสิทธิภาพการเขียนโปรแกรม

Q: ความคืบหน้าของโฟลว์โปรเจ็กต์จะเป็นอย่างไรหากเงื่อนไขของการกดปุ่มขึ้นและลงทั้งสองเงื่อนไขเป็นเท็จ?
A: หากเงื่อนไขทั้งสองเป็นเท็จ โฟลว์ของโปรเจ็กต์จะดำเนินต่อไปยังบล็อก [หยุดมอเตอร์] ก่อนที่จะกลับสู่ด้านบนสุดของสแต็กซ้ำตลอดไป

ขั้นตอนที่ 3: การเขียนโปรแกรมด้วย [If then else] บล็อก

ลองใช้บล็อก [If then else] :

  • เพิ่มบล็อก [If then else] ให้กับโปรเจ็กต์ ArmUpDown ของคุณ เพื่อให้โปรเจ็กต์ของคุณมีลักษณะดังนี้:

  • บันทึกโครงการเป็น ArmUpDown2 หากนักเรียนต้องการความช่วยเหลือในการบันทึกโครงการ โปรดดูบทช่วยสอนการตั้งชื่อและการบันทึก

  • ดาวน์โหลดโปรเจ็กต์เป็น Slot 4 บน Clawbot จากนั้นรัน

  • สำหรับความช่วยเหลือในการดาวน์โหลดและรันโปรเจ็กต์ โปรดดูบทช่วยสอนใน VEXcode IQ ที่อธิบายวิธี ดาวน์โหลดและรันโปรเจ็กต์
    ดาวน์โหลดและเรียกใช้บทช่วยสอนโครงการ

  • ทดสอบเพื่อดูว่าแขนจะหมุนขึ้นหรือไม่เมื่อกดปุ่ม Brain Up และหมุนลงเมื่อกดปุ่ม Brain Down

  • ตรวจสอบว่าเมื่อไม่ได้กดปุ่ม Brain Up และ Down (ปล่อย) Arm Motor จะหยุดทำงาน

  • เขียนข้อสังเกตของคุณว่า Clawbot มีพฤติกรรมอย่างไรก่อนและหลังการเพิ่มบล็อก if then else ลงในโปรเจ็กต์ของคุณในสมุดบันทึกด้านวิศวกรรม

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู - หยุดและอภิปราย

หลังจากที่นักเรียนได้ทดสอบโครงงานก่อนและหลังการเพิ่มบล็อก [ถ้าเป็นเช่นนั้น] แล้ว ให้หารือกับนักเรียนว่าสิ่งนี้จะทำให้แขนหมุนต่อไปได้อย่างไรจนกว่าปุ่ม Brain Up จะถูกปล่อย ขอให้นักเรียนแบ่งปันข้อสังเกตจากสมุดบันทึกทางวิศวกรรม อำนวยความสะดวกในการอภิปรายโดยถามคำถามต่อไปนี้:

  • คุณเห็น Clawbot มีพฤติกรรมแตกต่างออกไประหว่างการใช้บล็อก [If then else] เทียบกับการใช้บล็อก [If then] หรือไม่?

  • เหตุใดคุณจึงคิดว่าประสิทธิภาพของโปรแกรมมีความสำคัญ

  • เงื่อนไขของปุ่ม Brain Up มีการตรวจสอบเพียงครั้งเดียวในโปรเจ็กต์หรือไม่

สมุดบันทึกด้านวิศวกรรมของนักเรียนสามารถดูแลรักษาและให้คะแนนเป็นรายบุคคล (Google / .docx / .pdf) หรือเป็นทีม (Google / .docx / .pdf) ลิงก์ก่อนหน้านี้มีรูบริกที่แตกต่างกันสำหรับแต่ละแนวทาง เมื่อใดก็ตามที่รวมรูบริกไว้ในการวางแผนการศึกษา แนวปฏิบัติที่ดีที่จะอธิบายรูบริกหรืออย่างน้อยก็แจกสำเนาให้นักเรียนก่อนเริ่มกิจกรรม

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู

นักเรียนอาจไม่เห็นความแตกต่างมากนักเกี่ยวกับวิธีการทำงานของ Clawbot ระหว่างการใช้บล็อก [If then] เทียบกับ [If then] บล็อก หากนักเรียนมองไม่เห็นความแตกต่างทางกายภาพมากนัก ให้อำนวยความสะดวกในการอภิปรายเกี่ยวกับประสิทธิภาพของการเขียนโปรแกรม และการลดความซับซ้อนของโครงการสามารถนำไปสู่การใช้บล็อกน้อยลงได้อย่างไร การใช้บล็อกน้อยลงในโปรเจ็กต์สามารถลดจำนวนข้อผิดพลาดที่อาจเกิดขึ้นได้

ขั้นตอนที่ 4: การเขียนโปรแกรมกรงเล็บ

ในขั้นตอนก่อนหน้านี้ โครงการได้รับการปรับให้เหมาะสมเพื่อให้ทำงานได้อย่างมีประสิทธิภาพมากขึ้นโดยใช้ [If then else] บล็อก ในตัวอย่างก่อนหน้านี้ แขนถูกควบคุมโดยใช้ปุ่ม Brain Up และ Down

การใช้โครงร่างโปรเจ็กต์เดียวกันทุกประการ ทำให้ Claw สามารถจัดการได้

  • ตรวจสอบโครงการ ArmUpDown2 และเปลี่ยนบล็อก [Spin] เป็น ClawMotor แทน ArmMotor โดยใช้เมนูแบบเลื่อนลง

    ตรวจสอบให้แน่ใจว่าปุ่ม Brain Up หมุน Claw "เปิด" และปุ่ม Brain Down หมุน Claw "ปิด" โดยใช้เมนูแบบเลื่อนลง

  • บันทึกโครงการเป็น ClawUpDown หากนักเรียนต้องการความช่วยเหลือในการบันทึกโครงการ โปรดดูบทช่วยสอนการตั้งชื่อและการบันทึก

  • ดาวน์โหลดโปรเจ็กต์เป็น Slot 1 บน Clawbot จากนั้นรัน

  • สำหรับความช่วยเหลือในการดาวน์โหลดและรันโปรเจ็กต์ โปรดดูบทช่วยสอนใน VEXcode IQ ที่อธิบายวิธี ดาวน์โหลดและรันโปรเจ็กต์
    ดาวน์โหลดและเรียกใช้บทช่วยสอนโครงการ

  • ทดสอบเพื่อดูว่ากรงเล็บจะหมุนเปิดหรือไม่เมื่อกดปุ่ม Brain Up และหมุนปิดเมื่อกดปุ่ม Brain Down

  • ตรวจสอบว่าเมื่อไม่ได้กดปุ่ม Brain Up และ Down (ปล่อย) Claw Motor จะหยุดทำงาน

  • เขียนข้อสังเกตของคุณว่า Clawbot มีพฤติกรรมอย่างไรก่อนและหลังการเพิ่มบล็อก if then else ลงในโปรเจ็กต์ของคุณในสมุดบันทึกด้านวิศวกรรม

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู

ตอนนี้นักเรียนมีทักษะในการจัดการแขนและกรงเล็บโดยใช้ปุ่มต่างๆ แล้ว ขอให้นักเรียนระดมความคิดว่าพวกเขาจะดำเนินการทั้งสี่อย่างในโครงการเดียวกันได้อย่างไร (ยกแขนขึ้น แขนลง เปิดกรงเล็บ และปิดกรงเล็บ)
นักเรียนจะใช้อีก บล็อก [ถ้าเป็นเช่นนั้น] ในส่วนการคิดใหม่เพื่อให้หุ่นยนต์ของพวกเขาดำเนินการทั้งสี่การกระทำ

ขยายไอคอนการเรียนรู้ของคุณ ขยายการเรียนรู้ของคุณ - ชุดบล็อกหยุดมอเตอร์

หากนักเรียนตั้งโปรแกรมหุ่นยนต์ให้ยกแขนขึ้นและลง น้ำหนักของกรงเล็บอาจทำให้แขนลอยลงได้
ในกรณีนี้ สามารถใช้บล็อก [ตั้งค่าการหยุดมอเตอร์] เพื่อไม่ให้แขนตกเนื่องจากแรงโน้มถ่วงและน้ำหนักของก้ามปู บล็อกนี้สามารถใช้ได้เมื่อเริ่มต้นโครงการ และจะนำไปใช้กับบล็อกมอเตอร์ทั้งหมดในอนาคตสำหรับส่วนที่เหลือของโครงการ

บล็อกหยุดมอเตอร์ที่ตั้งค่าไว้มีการตั้งค่าสามแบบ:

  • เบรก ทำให้มอเตอร์หยุดทันที

  • Coast ปล่อยให้มอเตอร์ค่อยๆ หมุนจนหยุด

  • กดค้าง จะทำให้มอเตอร์หยุดทันทีและกลับสู่ตำแหน่งหยุดหากมีการเคลื่อนไหว