เซ็นเซอร์วัดระยะทาง#

การแนะนำ#

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

เซ็นเซอร์วัดระยะทางทำงานในช่วง 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)

พารามิเตอร์

คำอธิบาย

units

เลือกได้ หน่วยวัดระยะทาง: MM (ค่าเริ่มต้น 20 มม. ถึง 2000 มม.) หรือ INCHES (0.78 นิ้ว ถึง 78.74 นิ้ว)

# 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)

พารามิเตอร์

คำอธิบาย

callback

A previously defined function that executes when the Distance Sensor’s value changes.

arg

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

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)

พารามิเตอร์

คำอธิบาย

smartport

พอร์ตอัจฉริยะที่เชื่อมต่อกับเซ็นเซอร์วัดระยะทาง จะเขียนในรูปแบบ Ports.PORTxโดยที่ x คือหมายเลขพอร์ต

# Create a Distance Sensor in Port 10
distance_sensor = Distance(Ports.PORT10)