Khoảng cách#

Giới thiệu#

Cảm biến khoảng cách có thể phát hiện xem có vật thể nào ở phía trước cảm biến hay không và trả về khoảng cách của vật thể đó.

Cảm biến khoảng cách VEX IQ (thế hệ 1) sử dụng sóng siêu âm để phát hiện vật thể và đo khoảng cách. Cảm biến khoảng cách VEX IQ (thế hệ 2) sử dụng tia laser an toàn cho môi trường lớp học và cũng có thể trả về vận tốc tương đối của vật thể được phát hiện, đồng thời ước tính kích thước của vật thể đó là nhỏ, trung bình hay lớn.

Trang này sử dụng distance_1 làm ví dụ về tên Cảm biến khoảng cách. Hãy thay thế nó bằng tên do bạn cấu hình nếu cần.

Dưới đây là danh sách tất cả các phương pháp hiện có:

Getters — Trả về dữ liệu từ Cảm biến Khoảng cách.

  • is_object_detected — (Cảm biến khoảng cách VEX IQ (thế hệ 1) hoặc (thế hệ 2)) Trả về liệu Cảm biến khoảng cách hiện có phát hiện vật thể hay không.

  • distance — (Cảm biến khoảng cách VEX IQ (thế hệ thứ nhất)) Trả về khoảng cách giữa Cảm biến khoảng cách và vật thể được phát hiện gần nhất.

  • object_distance — (Cảm biến khoảng cách VEX IQ (thế hệ thứ 2)) Trả về khoảng cách giữa Cảm biến khoảng cách và vật thể được phát hiện gần nhất.

  • object_velocity — (Cảm biến khoảng cách VEX IQ (thế hệ thứ 2)) Trả về tốc độ di chuyển của vật thể được phát hiện về phía hoặc ra xa Cảm biến khoảng cách.

  • object_size — (Cảm biến khoảng cách VEX IQ (thế hệ thứ 2)) Trả về kích thước ước tính của vật thể được phát hiện.

  • installed — (Cảm biến khoảng cách VEX IQ (thế hệ 1) hoặc (thế hệ 2)) Trả về trạng thái Cảm biến khoảng cách đã được cài đặt và kết nối.

Hàm khởi tạo — Tự tay khởi tạo và cấu hình Cảm biến khoảng cách.

  • Sonar — Tạo cảm biến khoảng cách VEX IQ (thế hệ thứ nhất).

  • Distance — Tạo cảm biến khoảng cách VEX IQ (thế hệ thứ 2).

Người nhận#

is_object_detected#

is_object_detected trả về giá trị cho biết Cảm biến khoảng cách hiện có phát hiện vật thể nào trong phạm vi hay không.

  • True — Cảm biến khoảng cách phát hiện vật thể.

  • False — Cảm biến khoảng cách không phát hiện vật thể.

Usage:
distance_1.is_object_detected()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# Turn until an object is detected
drivetrain.turn(RIGHT)
while not distance_1.is_object_detected():
    wait(15, MSEC)
drivetrain.stop()
brain.screen.print("Object detected!")

distance#

distance trả về khoảng cách giữa Cảm biến Khoảng cách và vật thể được phát hiện gần nhất dưới dạng số thập phân (float).

Lưu ý: Đây là phương pháp sử dụng cảm biến khoảng cách VEX IQ (thế hệ thứ nhất).

Usage:
distance_1.distance(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị khoảng cách: MM (mặc định, từ 24 mm đến 1000 mm) hoặc INCHES (từ 1 inch đến 40 inch).

# Display the distance to an object
if distance_1.is_object_detected():
    print("Distance: ")
    print(distance_1.distance(MM))
else:
    print("No object detected")

object_distance#

object_distance trả về khoảng cách giữa Cảm biến khoảng cách và vật thể được phát hiện gần nhất dưới dạng số thập phân (float).

Lưu ý: Đây là phương pháp sử dụng cảm biến khoảng cách VEX IQ (thế hệ thứ 2).

Usage:
distance_1.object_distance(units)

Thông số

Sự miêu tả

units

Tùy chọn. Đơn vị khoảng cách: MM (mặc định, từ 20 mm đến 2000 mm), INCHES (từ 0,78 inch đến 78 inch), hoặc DistanceUnits.CM (từ 2 cm đến 200 cm).

# Drive forward until an object is 200 mm away
while distance_1.object_distance(MM) > 200:
    drivetrain.drive(FORWARD)
drivetrain.stop()

object_velocity#

object_velocity trả về vận tốc tương đối của vật thể được phát hiện dưới dạng số thập phân (float) tính bằng m/s (mét trên giây).

Vận tốc thể hiện tốc độ vật thể di chuyển về phía hoặc ra xa cảm biến khoảng cách. Giá trị dương có nghĩa là vật thể đang di chuyển về phía cảm biến khoảng cách. Giá trị âm có nghĩa là vật thể đang di chuyển ra xa. Giá trị gần bằng 0 có nghĩa là vật thể không di chuyển nhiều so với cảm biến.

Lưu ý: Đây là phương pháp sử dụng cảm biến khoảng cách VEX IQ (thế hệ thứ 2).

Usage:
distance_1.object_velocity()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# Display the velocity of a moving object
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Velocity: ")
    brain.screen.print(distance_1.object_velocity())
    wait(100, MSEC)

object_size#

object_size trả về kích thước ước tính của vật thể được phát hiện bởi Cảm biến Khoảng cách.

Cảm biến khoảng cách ước tính kích thước vật thể dựa trên mức độ vật thể được phát hiện chiếm bao nhiêu phần trăm tầm nhìn của cảm biến.

  • ObjectSizeType.NONE — Không phát hiện thấy đối tượng nào.

  • ObjectSizeType.SMALL — Phát hiện một vật thể nhỏ.

  • ObjectSizeType.MEDIUM — Phát hiện vật thể kích thước trung bình.

  • ObjectSizeType.LARGE — Phát hiện vật thể có kích thước lớn.

Lưu ý: Đây là phương pháp sử dụng cảm biến khoảng cách VEX IQ (thế hệ thứ 2).

Usage:
distance_1.object_size()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

installed#

installed trả về trạng thái cho biết Cảm biến khoảng cách đã được cài đặt và kết nối hay chưa.

  • True — Cảm biến khoảng cách đã được lắp đặt và kết nối.

  • False — Cảm biến khoảng cách chưa được lắp đặt hoặc chưa được kết nối.

Usage:
distance_1.installed()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

Các hàm tạo#

Các hàm tạo được sử dụng để tạo thủ công các đối tượng Distance và Sonar , chẳng hạn như khi cấu hình Cảm biến khoảng cách bên ngoài VEXcode.

Sonar#

Sonar tạo ra một đối tượng Cảm biến khoảng cách VEX IQ (thế hệ thứ nhất).

Usage:
distance_1 = Sonar(smartport)

Tham số

Sự miêu tả

smartport

Cổng thông minh mà cảm biến khoảng cách được kết nối, được viết dưới dạng Ports.PORTx, trong đó x là số cổng.

# Create a Sonar object in Port 1
distance_1 = Sonar(Ports.PORT1)

Distance#

Distance tạo ra một đối tượng Cảm biến khoảng cách VEX IQ (thế hệ thứ 2).

Usage:
distance_1 = Distance(smartport)

Tham số

Sự miêu tả

smartport

Cổng thông minh mà cảm biến khoảng cách được kết nối, được viết dưới dạng Ports.PORTx, trong đó x là số cổng.

# Create a Distance object in Port 1
distance_1 = Distance(Ports.PORT1)