กล่องเครื่องมือสำหรับครู - จุดประสงค์ของกิจกรรมนี้
ตอนนี้นักเรียนมีประสบการณ์ในการรักษาหน้าจอสมองเหมือนปุ่มขนาดใหญ่ปุ่มเดียวแล้ว พวกเขาสามารถเปลี่ยนหน้าจอเป็นสองปุ่มได้ กิจกรรมนี้จะแนะนำให้นักเรียนใช้คำสั่ง if-else แบบซ้อน เพื่อจัดการคำสั่งแบบมีเงื่อนไขและตรรกะพื้นฐานของการทำเช่นนี้ได้ดีขึ้น ก่อนอื่นนักเรียนจะได้รับคำแนะนำในการสร้างโครงงานเพื่อให้การกดหน้าจอหมุนหุ่นยนต์ไปทางซ้ายหรือขวา แต่จากนั้นพวกเขาจะถูกขอให้สลับปุ่มเพื่อให้สิ่งที่หมุนหุ่นยนต์ไปทางซ้ายในตอนนี้ให้หมุนไปทางขวาและในทางกลับกัน
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง if และ if-else หรือคำสั่งอื่นๆ ที่ใช้ในกิจกรรมนี้ โปรดไปที่ข้อมูลวิธีใช้ภายใน VEXcode V5 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือช่วยเหลือในตัวนี้ ดูบทความนี้
ต่อไปนี้คือโครงร่างสิ่งที่นักเรียนของคุณจะทำในกิจกรรมนี้:
- ทบทวนโครงการ StopOrDrive และเค้าโครงหน้าจอสมองเป็นพิกเซล
- สร้างโปรเจ็กต์ LeftOrRight ใหม่พร้อมทั้งได้รับคำแนะนำผ่านการใช้เหตุผลของการเขียนโปรแกรม
- การแก้ไขโปรเจ็กต์เพื่อให้ปุ่มบนหน้าจอทำงานตรงกันข้าม
- ขยายการเรียนรู้ของคุณ: แบ่งหน้าจอออกเป็นสองปุ่มซึ่งเมื่อกดแล้ว ให้หมุนหุ่นยนต์ไปทางซ้ายหรือขวา
ตรวจสอบให้แน่ใจว่าคุณมีฮาร์ดแวร์ที่จำเป็น โน้ตบุ๊กวิศวกรรมของคุณ และ VEXcode V5 พร้อมแล้ว
ปริมาณ | วัสดุที่จำเป็น |
---|---|
1 |
ชุดเริ่มต้นห้องเรียน VEX V5 (พร้อมเฟิร์มแวร์ล่าสุด) |
1 |
VEXcode V5 (เวอร์ชั่นล่าสุด, Windows, macOS) |
1 |
สมุดบันทึกวิศวกรรมศาสตร์ |
1 |
StopOrDrive โปรเจ็กต์จากหน้าเล่นก่อนหน้า |
กล่องเครื่องมือครู
หากต้องการคำแนะนำเกี่ยวกับกลยุทธ์การสอนสำหรับหัวข้อนี้ โปรดดูคอลัมน์การนำส่งของคู่มือการกำหนดอัตราความเร็ว สิ่งที่ต้องทำหรือไม่ควรทำ! (Google เอกสาร / .docx / .pdf)
หน้าจอสมองสามารถมีได้มากกว่าหนึ่งปุ่ม
กิจกรรมนี้จะช่วยให้คุณสามารถตั้งโปรแกรมให้หุ่นยนต์ขับเคลื่อนไปข้างหน้าและเลี้ยวซ้ายหรือขวาได้ ขึ้นอยู่กับว่าหน้าจอสมองด้านใดถูกกด
คำสั่งเพิ่มเติมสามประเภทที่คุณต้องการในระหว่างกิจกรรมนี้มีดังต่อไปนี้:
-
ระบบขับเคลื่อน.เลี้ยว(ขวา)
-
หมายเลข < 50
-
สมอง.screen.x_position()
คุณสามารถใช้ข้อมูล Help ภายใน 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 (ด้านซ้ายของหน้าจอ) หากต้องการให้หน้าจอของ Brain วาดปุ่มภาพ คุณจะต้องใช้พิกัดด้วย
กลับไปยังขั้นตอนที่ 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 สำหรับความท้าทายนั้น พวกเขาจะถูกขอให้แสดงปุ่มสี่ปุ่มบนหน้าจอด้วย การขยายการเรียนรู้ของคุณเช่นเดียวกับหน้าก่อนหน้านี้ จะช่วยเตรียมความพร้อมสำหรับความท้าทายนั้น เนื่องจากความท้าทายมีสี่ปุ่มให้ตั้งโปรแกรม และมีเพียงสองปุ่มเท่านั้น
ให้นักเรียนเพิ่มเหตุการณ์ลงในโปรแกรมเพื่อให้หน้าจอดึงปุ่มที่มองเห็นได้สองปุ่มเมื่อดำเนินโครงงาน แนะนำให้นักเรียนใช้ฟีเจอร์ Help ใน VEXcode V5 สำหรับข้อมูลเกี่ยวกับเหตุการณ์ต่างๆ โดยเฉพาะข้อมูลของคำสั่ง วาดสี่เหลี่ยม แนะนำให้นักเรียนทบทวนว่าหน้าจอของสมองจัดเป็นระบบพิกัดตามจำนวนพิกเซลอย่างไรเมื่อใช้ในคำสั่ง วาดสี่เหลี่ยมผืนผ้า พวกเขาจะต้องเข้าใจว่าเพื่อที่จะตั้งค่าพารามิเตอร์ภายในคำสั่งนั้น นอกจากนี้ พวกเขาจะต้องเข้าใจวิธีการถ่ายทอดกิจกรรมด้วย ในกรณีนี้ เหตุการณ์คือการวาดปุ่ม
นักเรียนควรวางแผน ทดสอบ และปรับแต่งการเปลี่ยนแปลงเหล่านี้ในโครงงานพร้อมกับบันทึกไว้ในสมุดบันทึกด้านวิศวกรรม สำหรับรูบริกสมุดบันทึกด้านวิศวกรรมแต่ละรายการ คลิกลิงก์ใดลิงก์หนึ่งต่อไปนี้ (Google Doc / .docx / .pdf) หรือคลิกลิงก์ใดลิงก์หนึ่งต่อไปนี้สำหรับสมุดบันทึกของทีม (Google Doc / .docx / .pdf).
นี่คือตัวอย่างวิธีแก้ปัญหา:
หากต้องการประสบการณ์ที่สมจริงแบบมืออาชีพเพิ่มเติม ให้นักเรียนขอความคิดเห็นจากเพื่อนร่วมชั้นเกี่ยวกับการเลือกสี 2 สี
สีที่เลือกทำให้คุณต้องการใช้อินเทอร์เฟซ หรือสีใดที่พวกเขาต้องการในฐานะผู้ใช้
ส่วนหนึ่งของการพัฒนาอินเทอร์เฟซผู้ใช้ที่ยอดเยี่ยมคือการรวบรวมข้อมูลเกี่ยวกับประสบการณ์ผู้ใช้ แม้กระทั่งความชอบด้านสุนทรียภาพ