การใช้เซ็นเซอร์วัดระยะทางใน VEXcode VR กับ Python

เซ็นเซอร์วัดระยะบนหุ่นยนต์ VR รายงานระยะห่างระหว่างหุ่นยนต์ VR และวัตถุที่ใกล้ที่สุด เซ็นเซอร์จะคำนวณระยะทางโดยใช้เวลาก่อนที่แสงเลเซอร์จะสะท้อนออกจากวัตถุและกลับไปยังเซ็นเซอร์


เซ็นเซอร์วัดระยะบนหุ่นยนต์ VR

ตาด้านหน้าลง

Distance Sensor คือเซ็นเซอร์ที่รายงานระยะห่างระหว่าง VR Robot และวัตถุทึบที่ใกล้ที่สุด

VR จากบนลงล่าง

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


คำสั่ง VEXcode VR ที่ใช้กับเซ็นเซอร์วัดระยะ

Distance_commands.png

คำสั่งที่ใช้กับ Distance Sensor สามารถพบได้ในหมวด Sensing

get_distance คำสั่ง

Screen_Shot_2021-10-07_at_4.17.49_PM.png

การใช้คำสั่ง get_distance Distance Sensor สามารถรายงานระยะห่างของวัตถุที่ใกล้ที่สุดในหน่วยมิลลิเมตร (มม.) หรือนิ้ว คำสั่ง get_distanceรายงานค่าตัวเลขเป็นหน่วยมิลลิเมตร (มม.) หรือนิ้ว

def main (): 
monitor_sensor ("distance.get_distance")

หากต้องการแสดงค่าเซ็นเซอร์วัดระยะทางใน Monitor Console ให้ลากหรือพิมพ์คำสั่งเซ็นเซอร์ตรวจวัด จากนั้นตั้งค่าพารามิเตอร์เป็นตัวระบุสตริงสำหรับค่าเซ็นเซอร์ที่จะแสดง ในกรณีนี้ ตัวระบุสตริงจะเป็น "distance.get_distance"

Screen_Shot_2021-10-07_at_4.52.59_PM.png

ระยะทางจะแสดงเป็นมิลลิเมตร (มม.) และนิ้วใน Monitor Console

พบวัตถุ คำสั่ง

Screen_Shot_2021-10-07_at_4.24.37_PM.png

Distance Sensor จะตรวจจับว่ามีวัตถุอยู่ด้านหน้าหรือไม่โดยใช้คำสั่ง Distance found object Distance Sensor สามารถตรวจจับวัตถุหรือพื้นผิวภายในระยะ 3000 มม. (~ 118 นิ้ว) จากเซ็นเซอร์ คำสั่ง Distance found object ส่งคืนค่าบูลีนเป็น True หรือ False

def main():
monitor_sensor("distance.found_object")

ค่าของคำสั่ง found_object ส่งคืนบูลีน และรายงาน True เมื่อเซ็นเซอร์ระยะทางอยู่ใกล้กับวัตถุ และรายงาน Fและ เมื่อไม่ได้อยู่ใกล้วัตถุเพียงพอ

หากต้องการแสดงค่าเซ็นเซอร์วัดระยะทางใน Monitor Console ให้ลากหรือพิมพ์คำสั่งเซ็นเซอร์ตรวจวัด จากนั้นตั้งค่าพารามิเตอร์เป็นตัวระบุสตริงสำหรับค่าเซ็นเซอร์ที่จะแสดง ในกรณีนี้ ตัวระบุสตริงจะเป็น "distance.found_object"

Screen_Shot_2021-10-07_at_5.12.14_PM.png

จริง หรือ เท็จ จะถูกรายงานและปรากฏใน Monitor Console

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


การใช้งานทั่วไปของเซ็นเซอร์วัดระยะ

VR จากบนลงล่าง

Distance Sensor สามารถตรวจจับได้ว่ามีวัตถุอยู่ด้านหน้า VR Robot หรือไม่ สามารถใช้เพื่อหลีกเลี่ยงสิ่งกีดขวางได้

Screen_Shot_2021-10-07_at_4.39.16_PM.png

Distance Sensor สามารถวัดระยะห่างระหว่างด้านหน้าของ Distance Sensor และด้านหน้าของวัตถุได้ วิธีนี้สามารถเป็นประโยชน์ในการทำเขาวงกตโดยไม่ต้องชนกำแพงอย่างต่อเนื่องหรือเพื่อหลีกเลี่ยงวัตถุ

def main():
ในขณะที่ Distance.get_distance(MM) > 50:
drivetrain.drive(FORWARD)
รอ (5, MSEC)
drivetrain.stop()

หากต้องการใช้ตัวอย่างข้างต้น ให้คัดลอกโค้ดนี้ลงใน VEXcode VR และรันโปรเจ็กต์บน Wall Maze Playground


โครงการตัวอย่างเซ็นเซอร์วัดระยะ

Screen_Shot_2021-10-07_at_4.48.44_PM.png

ในตัวอย่างนี้ หุ่นยนต์ VR จะขับเคลื่อนไปข้างหน้าหาก Distance Sensor พบวัตถุ หากตรวจไม่พบวัตถุ หุ่นยนต์ VR จะเลี้ยวขวาและตรวจหาวัตถุต่อไป

หมายเหตุ: ตัวอย่างนี้จะค้นหาสิ่งปลูกสร้างแรก แต่จำเป็นต้องปรับปรุงเพื่อหลีกเลี่ยงการตกจากโต๊ะ

def main ():
ในขณะที่ True:
ถ้า Distance.found_object ():
drivetrain.drive (FORWARD)
อื่น ๆ :
drivetrain.turn (ขวา)
รอ (5, MSEC)

หากต้องการใช้ตัวอย่างข้างต้น ให้คัดลอกโค้ดนี้ลงใน VEXcode VR และรันโปรเจ็กต์บน Castle Crasher หรือ Dynamic Castle Crasher Playground

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: