เซ็นเซอร์วัดระยะทาง#
การแนะนำ#
เซ็นเซอร์วัดระยะทาง สามารถตรวจจับได้ว่ามีวัตถุอยู่ด้านหน้าเซ็นเซอร์หรือไม่ และบอกระยะห่างของวัตถุนั้น นอกจากนี้ยังสามารถบอกความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบ และประเมินได้ว่าวัตถุนั้นมีขนาดเล็ก กลาง หรือใหญ่
เซ็นเซอร์วัดระยะทางทำงานในช่วง 20 มม. ถึง 2000 มม.
สำหรับระยะต่ำกว่า 200 มม. ความแม่นยำจะอยู่ที่ประมาณ ±15 มม. สำหรับระยะสูงกว่า 200 มม. ความแม่นยำจะดีขึ้นเป็นประมาณ 5%
เซ็นเซอร์วัดระยะทางใช้เลเซอร์คลาส 1 การตรวจจับจะมุ่งตรงไปข้างหน้าและปลอดภัยสำหรับใช้ในห้องเรียน

หน้านี้ใช้ distance_sensor เป็นตัวอย่างชื่อเซ็นเซอร์วัดระยะทาง โปรดแทนที่ด้วยชื่อที่คุณกำหนดเองตามต้องการ
ด้านล่างนี้คือรายการวิธีการที่มีให้เลือกใช้:
object_distance— ส่งคืนระยะห่างระหว่างเซ็นเซอร์ระยะทางและวัตถุที่ตรวจพบที่ใกล้ที่สุดobject_velocity— ส่งคืนความเร็วที่วัตถุที่ตรวจพบเคลื่อนที่เข้าหาหรือออกจากเซ็นเซอร์ระยะทางobject_size— ส่งคืนขนาดโดยประมาณของวัตถุที่ตรวจพบis_object_detected— ส่งคืนว่าเซ็นเซอร์ระยะทางกำลังตรวจจับวัตถุอยู่หรือไม่changed— ลงทะเบียนฟังก์ชันที่จะทำงานเมื่อใดก็ตามที่ค่าของเซ็นเซอร์ระยะทางเปลี่ยนแปลง
ตัวสร้าง — กำหนดค่าเริ่มต้นให้กับเซ็นเซอร์วัดระยะทางด้วยตนเอง
Distance— สร้างเซ็นเซอร์ระยะทาง
ระยะห่างของวัตถุ#
object_distance ส่งคืนระยะห่างระหว่างเซ็นเซอร์วัดระยะทางและวัตถุที่ตรวจพบที่ใกล้ที่สุดในรูปแบบทศนิยม (float)
Usage:
distance_sensor.object_distance(units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
เลือกได้ หน่วยวัดระยะทาง: |
# Drive forward until the object is within 50 mm away
drivetrain.drive(FORWARD)
while not distance_sensor.object_distance(MM) < 50:
pass
drivetrain.stop()
ความเร็วของวัตถุ#
object_velocity ส่งคืนความเร็วสัมพัทธ์ของวัตถุที่ตรวจพบในรูปแบบทศนิยม (float) ในหน่วย m/s (เมตรต่อวินาที)
ความเร็วแสดงให้เห็นว่าวัตถุกำลังเคลื่อนที่เข้าหาหรือออกห่างจากเซ็นเซอร์วัดระยะทางเร็วแค่ไหน ค่าที่ใกล้เคียง 0 หมายความว่าวัตถุเคลื่อนที่น้อยมากเมื่อเทียบกับเซ็นเซอร์
Usage:
distance_sensor.object_velocity()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
ขนาดวัตถุ#
object_size ส่งคืนขนาดโดยประมาณของวัตถุที่ตรวจพบโดยเซ็นเซอร์วัดระยะทาง
เซ็นเซอร์วัดระยะทางจะประเมินขนาดของวัตถุโดยพิจารณาจากสัดส่วนของพื้นที่ที่เซ็นเซอร์มองเห็นซึ่งถูกวัตถุนั้นครอบครองอยู่
ObjectSizeType(0, “NONE”)— ไม่พบวัตถุใดๆObjectSizeType(1, “SMALL”)— ตรวจพบวัตถุขนาดเล็กObjectSizeType(2, “MEDIUM”)— ตรวจพบวัตถุขนาดกลางObjectSizeType(3, “LARGE”)— ตรวจพบวัตถุขนาดใหญ่
Usage:
distance_sensor.object_size()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
ตรวจพบวัตถุ#
is_object_detected คืนค่าว่าเซ็นเซอร์วัดระยะทางตรวจพบวัตถุอยู่หรือไม่
True— เซ็นเซอร์วัดระยะทางตรวจจับวัตถุได้False— เซ็นเซอร์วัดระยะทางตรวจไม่พบวัตถุ
Usage:
distance_sensor.is_object_detected()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
# Drive forward until the object is within 50 mm away
while True:
drivetrain.drive(FORWARD)
if distance_sensor.is_object_detected():
if distance_sensor.object_distance(MM) < 50:
drivetrain.stop()
break
เปลี่ยน#
changed ลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้ทุกครั้งที่ค่าของเซ็นเซอร์ระยะทางเปลี่ยนแปลง
Usage:
distance_sensor.changed(callback, arg)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A previously defined function that executes when the Distance Sensor’s value changes. |
|
ตัวเลือกเสริม ทูเปิลที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู การใช้ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม |
def my_function():
brain.screen.print("Distance changed")
# Call my_function whenever distance_sensor's value changes
distance_sensor.changed(my_function)
ผู้สร้าง#
ตัวสร้าง (Constructor) ใช้สำหรับสร้างวัตถุที่มีระยะทาง Distance ด้วยตนเอง เช่น เมื่อทำการกำหนดค่าเซ็นเซอร์ระยะทางภายนอก VEXcode
Distance#
Distance จะสร้างวัตถุ Distance Sensor ขึ้นมา
Usage:
Distance(smartport)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พอร์ตอัจฉริยะที่เชื่อมต่อกับเซ็นเซอร์วัดระยะทาง จะเขียนในรูปแบบ |
# Create a Distance Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)