บทเรียนที่ 1: เซ็นเซอร์กันชนคืออะไร?
ในบทเรียนนี้คุณจะได้เรียนรู้ว่าเซ็นเซอร์คืออะไรและทำไมคุณถึงใช้เซ็นเซอร์กับหุ่นยนต์ VR เซ็นเซอร์แรกที่คุณจะได้เรียนรู้คือเซ็นเซอร์กันชน คุณจะได้เรียนรู้วิธีการทำงานของเซ็นเซอร์กันชนและวิธีการใช้เซ็นเซอร์กันชนหุ่นยนต์ VR ในโครงการ VEXcode VR Python
ผลการเรียนรู้
- ระบุว่าเซ็นเซอร์กันชนเป็นสวิตช์ประเภทหนึ่งที่สามารถรายงานเมื่อกด หรือไม่กด
- ระบุว่าสามารถใช้เซ็นเซอร์กันชนเพื่อทำให้เกิดการทำงานของหุ่นยนต์ VR เมื่อกดหรือไม่กด
- ระบุว่า left_bumper.pressed และ right_bumper.pressed เป็นคำสั่งที่รายงานค่าบูลีน เกี่ยวกับเซ็นเซอร์กัน ชน
- อธิบายว่าเหตุใดจึงต้องใช้เซ็นเซอร์กันชนใน โครงการ
นำไปใช้
เซ็นเซอร์มีความสำคัญต่อหุ่นยนต์ เพื่อให้หุ่นยนต์ VR ได้รับการพิจารณาว่าเป็นหุ่นยนต์อย่างแท้จริงหุ่นยนต์จะต้องสามารถรับรู้และโต้ตอบกับสภาพแวดล้อมได้ โดยทั่วไปจะเรียกว่าวงการตัดสินใจ Sense → Think → Act

หุ่นยนต์ VR ใช้เซ็นเซอร์ในการรวบรวมข้อมูลจากสภาพแวดล้อม (Sense) ตัดสินใจตามข้อมูลนี้ (Think) และเปลี่ยนข้อมูลนั้นให้เป็นคำแนะนำสำหรับพฤติกรรม (Act)
เซ็นเซอร์ช่วยให้หุ่นยนต์ VR สามารถโต้ตอบกับสภาพแวดล้อมและช่วยให้ผู้ใช้สามารถสร้างโครงการแบบไดนามิกได้มากขึ้น โครงการแบบไดนามิกเหล่านี้ต้องใช้หุ่นยนต์ VR เพื่อโต้ตอบและตอบสนองต่อสภาพแวดล้อมที่เปลี่ยนแปลงไป
เซ็นเซอร์กันชน
ในยูนิตนี้คุณจะใช้เซ็นเซอร์กันชนซึ่งเป็นเซ็นเซอร์ที่สามารถตรวจจับการสัมผัสทางกายภาพได้ เซ็นเซอร์กันชนใช้เพื่อแจ้งให้หุ่นยนต์ VR ทราบเมื่อสัมผัสกับวัตถุหรือผนัง หุ่นยนต์ VR สามารถใช้ข้อมูลที่รายงานจากเซ็นเซอร์กันชนซ้ายหรือขวาเพื่อตัดสินใจได้
หุ่นยนต์ VR มีเซ็นเซอร์กันชนสองตัวอยู่ที่ด้านหน้า

เซ็นเซอร์กันชนคือสวิตช์ที่จะรายงานว่ามีการกดหรือไม่กด
- เซ็นเซอร์กันชนจะรายงานค่าเซ็นเซอร์ของ TRUE เมื่อ กดเซ็นเซอร์กันชน
- เซ็นเซอร์กันชนจะรายงานค่าเซ็นเซอร์ของ False เมื่อ ไม่ได้กดเซ็นเซอร์กันชน
เซ็นเซอร์กันชนจะถูกกดโดยผนังในเขาวงกตผนัง สนามเด็กเล่นหรือโดยผนังด้านนอกที่ล้อมรอบสนามเด็กเล่นอื่นๆ

อ่านเซ็นเซอร์กัน ชน - คุณสมบัติของหุ่นยนต์ - บทความ vex VR สำหรับข้อมูลโดยละเอียดเกี่ยวกับวิธีการทำงานของเซ็นเซอร์กันชน
คำสั่งที่มีการกดกันชน
ใช้เซ็นเซอร์กันชนเพื่อตรวจสอบว่าหุ่นยนต์ VR สัมผัสวัตถุหรือผนังหรือไม่ จากนั้นข้อมูลนั้นสามารถนำไปใช้ในโครงการเพื่อให้หุ่นยนต์ VR สามารถตัดสินใจได้เมื่อกดเซ็นเซอร์กันชน
ใช้คำสั่ง left_bumper.pressed และ right_bumper.pressed ในโปรเจ็กต์ข้อความเพื่อตรวจสอบสภาพของ Bumper Sensor
Left_bumper.pressed และ right_bumper.pressed เป็นคำสั่งของบูลีนรีพอร์เตอร์ที่ รายงาน True หากมี การกดกันชนและ False หาก ไม่มีการกด
คำสั่ง left_bumper.pressed และ right_bumper.pressed โดยทั่วไป ใช้ร่วมกับโครงสร้างการควบคุม เช่น ลูป while เพื่อให้ VR Robot สามารถใช้ข้อมูลจาก Bumper Sensor ในการตัดสินใจได้ ท่านจะได้เรียนรู้เพิ่มเติมเกี่ยวกับ ขณะ วนซ้ำในบทเรียนถัดไป
เซ็นเซอร์กันชนและปัญหาเขาวงกตติดผนัง
เมื่อนึกถึงปัญหากำแพงเขาวงกตเป้าหมายคือให้หุ่นยนต์ VR ขับเคลื่อนในขณะที่ไม่ได้กดเซ็นเซอร์กันชน เมื่อกดเซ็นเซอร์กันชนหุ่นยนต์ VR ได้มาถึงกำแพงแล้วจากนั้นต้อง หยุดหรือเปิดเพื่อดำเนินการต่อในเขาวงกต
ในตัวอย่างต่อไปนี้หุ่นยนต์ VR จะขับเคลื่อนไปข้างหน้าจากตำแหน่งเริ่มต้นจนกว่ากันชนซ้ายจะถูกกดเมื่อไปถึงกำแพงด้านตรงข้าม เมื่อกดกันชนซ้ายแล้วหุ่นยนต์ VR จะหยุดการขับขี่
คุณจะสังเกตเห็นว่าแดชบอร์ดแสดงค่าเซ็นเซอร์กันชนกำลังรายงานแบบเรียลไทม์เมื่อดำเนินโครงการ เมื่อไม่ได้กดเซ็นเซอร์กันชนค่าจะถูกรายงานเป็นเท็จ
|
![]() |
เมื่อกดเซ็นเซอร์กันชนและหุ่นยนต์ VR ติดกับผนังค่าจะถูกรายงานเป็น True
|
![]() |
คุณสามารถใช้แดชบอร์ดได้ตลอดเวลาเพื่อช่วยให้เห็นภาพข้อมูลเซ็นเซอร์ในขณะที่โปรเจกต์ของคุณกำลังทำงานอยู่ โปรดทราบว่าแดชบอร์ดสามารถซ่อนและเปิดใหม่ได้ตลอดเวลาดังที่แสดงในวิดีโอนี้ ในคลิปวิดีโอด้านล่างเมนูแฮมเบอร์เกอร์ที่มุมซ้ายบนของหน้าต่างสนามเด็กเล่นจะถูกเลือกให้แสดงปุ่มแดชบอร์ดด้านล่าง จากนั้นปุ่มแดชบอร์ดจะถูกเลือกและแดชบอร์ดจะเปิดขึ้น ขั้นตอนนี้จะทำซ้ำเพื่อปิดแดชบอร์ด