거리 센서#

소개#

거리 센서는 센서 앞에 물체가 있는지 감지하고 물체와의 거리를 측정할 수 있습니다. 또한 감지된 물체의 상대 속도를 계산하고 물체의 크기를 소형, 중형 또는 대형으로 추정할 수 있습니다.

거리 센서는 20mm에서 2000mm 범위에서 작동합니다.

200mm 미만에서는 정확도가 약 ±15mm입니다. 200mm 이상에서는 정확도가 약 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 (기본값, 20mm ~ 2000mm) 또는 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 은 감지된 객체의 상대 속도를 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

거리 센서의 값이 변경될 때 실행되는 이전에 정의된 함수입니다.

arg

선택 사항입니다. 콜백 함수에 전달할 인수를 포함하는 튜플입니다. 자세한 내용은 매개변수가 있는 함수 사용을 참조하세요.

def my_function():
  brain.screen.print("Distance changed")

# Call my_function whenever distance_sensor's value changes
distance_sensor.changed(my_function)

건설자#

생성자는 VEXcode 외부에서 거리 센서를 구성할 때와 같이 Distance 객체를 수동으로 생성하는 데 사용됩니다.

Distance#

Distance 거리 센서 객체를 생성합니다.

Usage:
Distance(smartport)

매개변수

설명

smartport

거리 센서가 연결된 스마트 포트는 Ports.PORTx형식으로 표기되며, 여기서 x 포트 번호입니다.

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