Skip to main content

ห้องปฏิบัติการต้นกำเนิด
ต้องทำหรือไม่ทำ นักเรียน

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

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

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

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

  • ทบทวนโครงการ StopOrDrive และเค้าโครงหน้าจอสมองเป็นพิกเซล

  • สร้างโครงการ LeftOrRight ใหม่โดยได้รับคำแนะนำผ่านการใช้เหตุผลของการเขียนโปรแกรม

  • การแก้ไขโปรเจ็กต์เพื่อให้ปุ่มบนหน้าจอทำงานตรงกันข้าม

  • ขยายการเรียนรู้ของคุณ: แบ่งหน้าจอออกเป็นสองปุ่มซึ่งเมื่อกดแล้ว ให้หมุนหุ่นยนต์ไปทางซ้ายหรือขวา

ตรวจสอบให้แน่ใจว่าคุณมีฮาร์ดแวร์ที่จำเป็น โน้ตบุ๊กวิศวกรรมของคุณ และ VEXcode V5 พร้อมแล้ว

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

ชุดเริ่มต้นห้องเรียน VEX V5 (พร้อมเฟิร์มแวร์ล่าสุด)

1

VEXcode V5 (เวอร์ชั่นล่าสุด, Windows, macOS)

1

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

1

โครงการ StopOrDrive จากหน้า Play ก่อนหน้า

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

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

หน้าจอสมองสามารถมีได้มากกว่าหนึ่งปุ่ม

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

คำแนะนำเพิ่มเติมสามประเภทที่คุณต้องการระหว่างกิจกรรมนี้มีดังต่อไปนี้:

  • ระบบขับเคลื่อนเลี้ยว(ขวา);

  • หมายเลข < 50

  • Brain.Screen.xPosition();

คุณสามารถใช้ข้อมูลวิธีใช้ภายใน VEXcode V5 เพื่อเรียนรู้เกี่ยวกับคำแนะนำ

ขั้นตอนที่ 1: เริ่มต้นด้วยการทบทวนโครงการ StopOrDrive

เริ่มต้นด้วยการทบทวนโครงการ StopOrDrive

โปรเจ็กต์ StopOrDrive จะให้ Clawbot หยุดทำงานหากกดหน้าจอ ไม่อย่างนั้นก็ให้ขับไปข้างหน้า
ทั้งหน้าจอเป็นปุ่มขนาดใหญ่ปุ่มเดียว แต่ในโปรเจ็กต์ถัดไปนี้ เราต้องการให้ครึ่งหน้าจอเป็นปุ่มเดียว และอีกครึ่งหนึ่งเป็นอีกปุ่มหนึ่ง

เพื่อแบ่งหน้าจอออกเป็นสองปุ่ม เราต้องเข้าใจเพิ่มเติมเกี่ยวกับเค้าโครงของหน้าจอ

  • โปรดสังเกตว่าคอลัมน์มีจำนวนเพิ่มขึ้นจากซ้ายไปขวา จำนวนคอลัมน์คือ 48 และหน้าจอกว้าง 480 พิกเซล

  • จดลงในสมุดบันทึกด้านวิศวกรรมของคุณว่าค่า x บนหน้าจอเท่ากับจำนวนพิกเซลที่วัดจากซ้ายไปขวา

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

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู - คำตอบ

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

เมื่อมองไปข้างหน้า User Interface Challenge ในส่วน Rethink จะกำหนดให้นักเรียนใช้สิ่งที่ได้เรียนรู้เพื่อสร้างปุ่มสี่ปุ่มบนหน้าจอ เพื่อทำเช่นนั้น พวกเขาต้องการทั้งค่า x และ y

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

หากต้องการความช่วยเหลือเพิ่มเติม โปรดดูบทความช่วยเหลือเพิ่มเติมที่ VEX Library 

ขั้นตอนที่ 2: การเขียนโปรแกรมสำหรับสองปุ่ม

  • บันทึก StopOrDrive เป็นโครงการ LeftOrRight 

  • สร้างโครงการด้านล่าง โดยจะมี Clawbot เลี้ยวซ้ายหรือขวาเมื่อกดหน้าจอ ขึ้นอยู่กับด้านที่กด

  • เรามาทบทวนกันว่าโครงการนี้ทำอะไร

    มันจะคอยตรวจสอบว่ามีการกดหน้าจอหรือไม่ หากไม่ได้กดหน้าจอ หน้าจอจะเคลื่อนไปข้างหน้า แต่ถ้าเป็นเช่นนั้น ระบบจะตรวจสอบว่ากดหน้าจอไปที่ใด

    หากกดอยู่ทางด้านซ้าย (น้อยกว่า 240) เครื่องจะเลี้ยวซ้าย ไม่เช่นนั้นก็จะเลี้ยวขวา เราไม่ต้องการเงื่อนไขอื่นว่าเมื่อค่า x มากกว่า 240 เพราะถ้าไม่ต่ำกว่า 240 (เลี้ยวซ้าย) ค่าก็ต้องมากกว่า (เลี้ยวขวา) เรามีเพียงสองปุ่มที่ต้องกังวล

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

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

  • จดบันทึกลงในสมุดบันทึกด้านวิศวกรรมของคุณเกี่ยวกับวิธีที่ปุ่มควบคุมการเคลื่อนไหวของ Clawbot

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

ขณะทดสอบ ผู้เรียนควรรับรู้ว่าอินเทอร์เฟซผู้ใช้ เมื่อใช้จากด้านหลัง Clawbot ดูเหมือนว่าจะทำงานย้อนกลับ จากมุมมองของผู้ใช้ Clawbot จะหันหน้าหนีจากด้านที่ผู้ใช้กด นั่นไม่ใช่ประสบการณ์ผู้ใช้ที่ดีที่สุด

ขั้นตอนที่ 3: ปรับโครงการเพื่อประสบการณ์ผู้ใช้ที่ดีขึ้น

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

ในกรณีนี้ เราจำเป็นต้องปรับปรุงส่วนติดต่อผู้ใช้เพื่อปรับปรุงประสบการณ์ผู้ใช้

  • ทบทวนโปรเจ็กต์ LeftOrRight และแก้ไขเพื่อให้เมื่อผู้ใช้กดปุ่มจากด้านหลัง Clawbot หุ่นยนต์จะเลี้ยวขวาเมื่อผู้ใช้กดด้านซ้ายของหน้าจอ ไม่เช่นนั้น Clawbot จะเลี้ยวซ้าย

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

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

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

ไอคอนกล่องเครื่องมือครู กล่องเครื่องมือครู - โซลูชั่น

มีสองวิธีที่เป็นไปได้ในการแก้ปัญหาที่กล่าวข้างต้น วิธีแรกคือวิธีที่เขียนลงในคำสั่ง: ทบทวนโปรเจ็กต์ LeftOrRight และแก้ไขเพื่อให้เมื่อผู้ใช้กดปุ่มจากด้านหลัง Clawbot หุ่นยนต์จะเลี้ยวขวาเมื่อผู้ใช้กดด้านซ้ายของหน้าจอ ไม่เช่นนั้น Clawbot จะเลี้ยวซ้าย

วิธีแก้ไขอีกอย่างคือเปลี่ยนคำสั่งของโอเปอเรเตอร์เพื่อที่ว่าเมื่อค่า x มากกว่า 240 Clawbot จะเลี้ยวซ้าย

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

คุณต้องใช้พิกัดจากระนาบพิกัดเมื่อคุณตั้งโปรแกรมคำสั่งแบบมีเงื่อนไขเมื่อค่า x น้อยกว่า 240 (ด้านซ้ายของหน้าจอ) หากต้องการให้ปุ่มวาดภาพบนหน้าจอสมอง คุณจะต้องใช้พิกัดด้วย
กลับไปยังขั้นตอนที่ 2 ซึ่งคุณจะเห็นพิกัดสำหรับหน้าจอของ V5 Robot Brain

Q: ค่า x ที่ขอบด้านขวาของหน้าจอคือเท่าไร?
A: ค่า x จะเพิ่มขึ้นจาก 0 ที่ขอบด้านซ้ายเป็น 480 ที่ขอบด้านขวา

Q: ดังนั้นช่วงของค่า x คือ 480 (0 ถึง 480) ช่วงของค่า y คืออะไร?
A: ช่วงของค่า y คือ 240 (0 ถึง 240)

Q: ต้นกำเนิด (0, 0) ของระนาบพิกัดนี้อยู่ที่ไหน?
A: จุดเริ่มต้นอยู่ที่ด้านซ้ายบน

Q: คุณอยู่ที่ด้านบนสุดของหน้าจอเมื่อค่า y เท่ากับ 0 ทำไมสิ่งนี้ถึงไม่ปกติ?
A: โดยปกติแล้วค่า y จะเพิ่มขึ้นเมื่อคุณเลื่อนขึ้น แต่บนหน้าจอ V5 ค่า y จะเพิ่มขึ้นเมื่อคุณเลื่อนลง แต่คุณสามารถคิดว่ามันเป็นค่า y ที่เพิ่มขึ้นเมื่อคุณเคลื่อนออกจากจุดกำเนิด (0, 0) ที่ด้านซ้ายบนของหน้าจอ

ขยายไอคอนการเรียนรู้ของคุณ ขยายการเรียนรู้ของคุณ

ในส่วน User Interface Challenge ของส่วน Rethink นักเรียนจะถูกขอให้พัฒนาโปรเจ็กต์ที่สร้างปุ่มสี่ปุ่มบนหน้าจอเพื่อควบคุมกรงเล็บและแขนของ Clawbot สำหรับความท้าทายนั้น พวกเขาจะถูกขอให้แสดงปุ่มสี่ปุ่มบนหน้าจอด้วย การขยายการเรียนรู้ของคุณ เช่นเดียวกับหน้าก่อนหน้านี้จะช่วยเตรียมความพร้อมสำหรับความท้าทายนั้น เนื่องจากความท้าทายมีสี่ปุ่มให้ตั้งโปรแกรมและมีเพียงสองปุ่มเท่านั้น

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

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

นี่คือตัวอย่างวิธีแก้ปัญหา:

หากต้องการประสบการณ์ที่สมจริงแบบมืออาชีพเพิ่มเติม ให้นักเรียนขอความคิดเห็นจากเพื่อนร่วมชั้นเกี่ยวกับการเลือกสี 2 สี
สีที่เลือกทำให้คุณต้องการใช้อินเทอร์เฟซ หรือสีใดที่พวกเขาต้องการในฐานะผู้ใช้?
ส่วนหนึ่งของการพัฒนาอินเทอร์เฟซผู้ใช้ที่ยอดเยี่ยมคือการรวบรวมข้อมูลเกี่ยวกับประสบการณ์ผู้ใช้ แม้กระทั่งความชอบด้านสุนทรียศาสตร์