Skip to main content
พอร์ทัลครู

การเขียนโปรแกรมด้วยเงื่อนไขใน VEXcode IQ

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู - วัตถุประสงค์ของกิจกรรมนี้

การเขียนโปรแกรมด้วยเงื่อนไขสามารถทำได้โดยใช้ บล็อก [ถ้าเป็นเช่นนั้น] ภายในโครงการ

VEXcode IQ ถ้าเป็นเช่นนั้นให้บล็อกจากกล่องเครื่องมือ

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

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

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

  • ดูวิดีโอ แนะนำ  การ ใช้ลูปและ If-Then-Else Blocks
  • ใช้เทมเพลต Clawbot (Drivetrain) เพื่อสร้าง โครงการ ArmUp ที่มีให้และคาดการณ์สิ่งที่โครงการทำ
  • ดูผังงานเพื่อช่วยอธิบายการไหลของบล็อกในโครงการ
  • ปรับแต่งคำอธิบายของพวกเขาเกี่ยวกับ สิ่งที่ โครงการ ArmUp ทำ
  • แก้ไขโปรเจกต์โดย เพิ่มบล็อค [รอจนกว่า]
  • หยุดและพูดคุย: นักเรียนจะทบทวนการคาดการณ์ของพวกเขาว่าโครงการจะมี Clawbot ทำอะไรเมื่อเทียบกับการสังเกตจริงของพวกเขา
วัสดุที่ต้องใช้:
จำนวน วัสดุที่จำเป็น
1

VEX IQ Super Kit

1

VEXcode IQ

1

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

1

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

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

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

Clawbot พร้อมที่จะตัดสินใจแล้ว! กิจกรรม

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

บล็อกตัวอย่างจากกล่องเครื่องมือ VEXcode IQ - กดปุ่มสมองถ้าเป็นเช่นนั้นไม่ใช่บล็อกผู้ปฏิบัติงานและรอจนกว่าจะบล็อก

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

แถบเครื่องมือ VEXcode IQ พร้อมไอคอนบทช่วยสอนที่เรียกว่าในกล่องสีแดงทางด้านขวาของเมนูไฟล์

ไอคอนเคล็ดลับสำหรับครู เคล็ดลับสำหรับครู

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

แถบเครื่องมือ VEXcode IQ พร้อมไอคอนบทช่วยสอนที่เรียกว่าในกล่องสีแดงทางด้านขวาของเมนูไฟล์

ขั้นตอนที่ 1: มาเริ่มต้นด้วยความเข้าใจเกี่ยวกับลูปและข้อความที่มีเงื่อนไข

ก่อนที่คุณจะเริ่มเขียนโปรแกรมด้วยเงื่อนไขก่อนอื่นให้ดูวิดีโอการใช้ลูปและ If-Then-Else ใน VEXcode IQ

เริ่มต้นด้วยการดู วิดีโอ การใช้ลูปสอนใน VEXcode IQ

ไอคอนบทช่วยสอนอ่านการใช้ลูปที่ด้านล่างและแสดงโครงร่างของบล็อกภายในลูป

จากนั้นดู วิดีโอ แนะนำ If-Then-Else ใน VEXcode IQ

ไอคอนการสอนจะอ่านว่าถ้าเป็นเช่นนั้นจะบล็อคที่ด้านล่างและแสดงโครงร่างของถ้าเป็นเช่นนั้นจะบล็อคด้วยลูกศร

ขั้นตอนที่ 2: การเขียนโปรแกรมด้วยเงื่อนไข

เราต้องการที่จะสร้างโครงการที่จะยกแขนถ้าเงื่อนไขของปุ่ม Brain Up ที่ถูกกดเป็นจริง
 VEX IQ Brain with the Up button beside the upper left corner of the screen called out with a red box.
หากเงื่อนไขเป็นเท็จ Arm Motor จะหยุดทำงาน มาสำรวจการสร้างโปรเจกต์ที่ใช้บล็อค [Forever] และบล็อค [If then] แบบมีเงื่อนไขเพื่อตั้งโปรแกรมแขนกัน

  • เปิด เทมเพลต Clawbot (Drivetrain) หากต้องการความช่วยเหลือโปรดดูวิดีโอแนะนำการใช้โปรเจกต์ตัวอย่างและเทมเพลต
    ตัวอย่างไอคอนโปรเจกต์อ่าน Clawbot Drivetrain เพื่อระบุว่าจะเลือกเทมเพลตใดสำหรับกิจกรรมนี้
  • สร้างโปรเจกต์ด้านล่าง
    โครงการ VEXcode IQ ที่มีบล็อกเมื่อเริ่มต้นที่มีบล็อกตลอดไปติดอยู่ ภายในบล็อค Forever เป็นบล็อค If แล้วบล็อคที่เขียนว่า If Brain Up กดปุ่มแล้วหมุนแขนมอเตอร์ขึ้น ถัดไปเป็นบล็อกมอเตอร์แบบสต็อปอาร์ม
  • บันทึกโปรเจกต์เป็น ArmUp หากนักเรียนต้องการความช่วยเหลือในการบันทึกโครงการโปรดดูวิดีโอแนะนำการตั้งชื่อและบันทึกใน VEXcode IQ
    กล่องโต้ตอบชื่อโปรเจกต์ใน VEXcode IQ Toolbar ช่องที่ 1 ถูกเลือกและชื่อโปรเจกต์อ่านว่า Arm Up
  • ตรวจสอบให้แน่ใจว่าชื่อโป รเจกต์ ArmUp อยู่ในหน้าต่างตรงกลางของแถบเครื่องมือแล้ว
  • คาดการณ์ว่าโครงการจะให้ Clawbot ทำอะไรในสมุดบันทึกวิศวกรรมของคุณ อธิบายทั้งพฤติกรรมของผู้ใช้และ Clawbot
  • ทดสอบเพื่อดูว่าการคาดการณ์ของคุณเกี่ยวกับสิ่งที่โครงการมี Clawbot ทำนั้นถูกต้องหรือไม่
    • ดาวน์โหลดโปรเจกต์ไปยัง ช่อง 1 บน Clawbot แล้วเรียกใช้
    • สำหรับความช่วยเหลือในการดาวน์โหลดและเรียกใช้โครงการโปรดดูบทแนะนำใน VEXcode IQ ที่อธิบายวิธีการดาวน์โหลดและเรียกใช้โครงการ
      ไอคอนบทช่วยสอนอ่านดาวน์โหลดและเรียกใช้โปรเจกต์ที่ด้านล่างและมีไอคอนดาวน์โหลดและรูปสามเหลี่ยมด้านบน
  • ตรวจสอบคำอธิบายของคุณเกี่ยวกับโครงการและเพิ่มบันทึกเพื่อแก้ไขตามความจำเป็น

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

โครงการที่นักเรียนสร้างข้างต้นจะไม่ทำงานตามที่เป็นอยู่  บล็อก [รอจนกว่า] จะมีความจำเป็นเนื่องจากความเร็วของการไหลของโครงการ หากไม่มีโครงการจะย้ายไปยังบล็อกถัดไปก่อนที่ Arm Motor จะมีเวลาตอบสนอง ดังนั้นบล็อกจะไหลลงไปที่ บล็อก [Stop motor] และจากนั้นเริ่มกลับมาที่ด้านบนของสแต็คเนื่องจาก บล็อก [Forever] ที่ทำซ้ำบล็อกทั้งหมดที่มีอยู่ภายใน สิ่งนี้จะถูกสำรวจแล้วอธิบายให้นักเรียนฟังในขั้นตอนต่อไป

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

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

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

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

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

  • คุณคิดว่าต้องเพิ่มอะไรลงในโครงการเพื่อให้โครงการทำงานได้อย่างถูกต้อง?

ขั้นตอนที่ 3: ทำความเข้าใจกับบล็อค [รอจนกว่า]

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

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

ดังนั้นโปรเจกต์จึงต้องมี บล็อก [รอจนกว่า] ที่บอกให้ Arm Motor หมุนต่อไปจนกว่าปุ่ม Brain Up จะถูกปล่อยออกมา

VEXcode IQ รอจนกว่าบล็อกที่มีการตั้งค่าเงื่อนไขเพื่อไม่ให้กดปุ่ม Brain up โดยการซ้อนปุ่ม Brain Up ที่กดบล็อกภายในบล็อกที่ไม่ใช่ตัวดำเนินการ

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

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

โครงการจะตรวจสอบเงื่อนไขก่อนว่ามีการกดปุ่ม Brain Up หรือไม่ หากกดปุ่ม Brain Up (จริง) แขนจะหมุนขึ้นจนกว่าจะปล่อยปุ่ม Brain Up เมื่อปล่อยปุ่ม Brain Up โครงการจะย้ายไปที่บล็อก [Stop motor] ก่อนที่จะกลับไปที่ด้านบนของสแต็คเพื่อเริ่มต้นอีกครั้งเนื่องจาก บล็อก [Forever]

หากไม่ได้กดปุ่ม Brain Up (FALSE) โครงการจะย้ายไปที่บล็อก [STOP MOTOR] ก่อนที่จะกลับไปที่ด้านบนของสแต็คเพื่อเริ่มต้นอีกครั้งเนื่องจาก บล็อก [Forever] และแขนจะไม่หมุน

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

ไอคอนสร้างแรงจูงใจในการอภิปราย สร้างแรงจูงใจในการอภิปราย

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

ถาม: วัตถุประสงค์ของการรอจนกว่าจะมีการปิดกั้นในโครงการข้างต้นคืออะไร?
ตอบ: การรอจนกว่าบล็อกจะช่วยให้แขนหมุนขึ้นต่อไปจนกว่าจะปล่อยปุ่ม Brain Up

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

ขั้นตอนที่ 4: เพิ่มบล็อค [รอจนกว่า]

มาเพิ่มบล็อค [รอจนกว่า] กัน:

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

    โครงการ VEXcode IQ ที่มีบล็อกเริ่มต้นเมื่อใดและมีบล็อกตลอดไปติดอยู่ ภายในบล็อค Forever เป็นบล็อค If แล้วบล็อคที่เขียนว่า If brain up button pressed then spin arm motor up รอจนกว่าจะไม่มีการกดปุ่ม Brain up ภายใต้ if then block คือ stop arm motor block

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

 

กล่องโต้ตอบชื่อโปรเจกต์ใน VEXcode IQ Toolbar ช่องที่ 2 ถูกเลือกและชื่อโปรเจกต์อ่านว่า Arm Up 2

  • ดาวน์โหลดโปรเจกต์ไปยัง สล็อต 2 บน Clawbot แล้วเรียกใช้
  •  
  • สำหรับความช่วยเหลือในการดาวน์โหลดและเรียกใช้โครงการโปรดดูบทแนะนำใน VEXcode IQ ที่อธิบายวิธีการ ดาวน์โหลดและเรียกใช้โครงการ
    ไอคอนบทช่วยสอนที่อ่านดาวน์โหลดและเรียกใช้โปรเจกต์ที่ด้านล่าง
  • ทดสอบว่าแขนจะหมุนขึ้นหรือไม่เมื่อกดปุ่ม Brain Up
  • ตรวจสอบว่าเมื่อไม่ได้กดปุ่ม Brain Up (ปล่อย) ที่ Arm Motor หยุดทำงาน
  • เขียนข้อสังเกตของคุณเกี่ยวกับพฤติกรรมของ Clawbot ก่อนและหลังการเพิ่ม บล็อก [รอจนกว่า] ลงในโครงการของคุณในสมุดบันทึกวิศวกรรมของคุณ

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

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

  • คุณคิดว่าโปรเจกต์นี้จะได้ผลในครั้งแรกก่อนที่จะเพิ่มการรอจนกว่าจะบล็อค?

  • การทดสอบโครงการแรกช่วยให้คุณรับรู้ได้อย่างไรว่ามีบางอย่างผิดปกติกับโครงการนี้?

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

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