거리 센서#

소개#

distance 클래스는 거리 센서의 데이터를 제어하고 액세스하는 데 사용됩니다.

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

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

200mm 미만에서는 정확도가 약 ±15mm입니다. 200mm 이상에서는 정확도가 약 5%로 향상됩니다.

거리 센서는 1등급 레이저를 사용합니다. 감지 방향은 정면이며 교실 환경에서 안전하게 사용할 수 있습니다.

클래스 생성자#

distance( int32_t  index );

클래스 소멸자#

거리 distance 인 객체를 파괴하고 관련 리소스를 해제합니다.

~distance();

매개변수#

매개변수

유형

설명

index

int32_t

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

예시#

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

회원 기능#

distance 클래스에는 다음과 같은 멤버 함수가 포함됩니다.

  • objectDistance — 거리 센서와 가장 가까운 감지된 객체 사이의 거리를 반환합니다.

  • objectSize — 감지된 객체의 예상 크기를 반환합니다.

  • objectVelocity — 감지된 객체가 거리 센서를 향해 또는 멀어지는 속도를 반환합니다.

  • isObjectDetected — 거리 센서가 현재 객체를 감지하는지 여부를 반환합니다.

  • changed — 감지된 거리 값이 변경될 때 실행되는 콜백 함수를 등록합니다.

  • installed — 거리 센서가 설치되고 연결되었는지 여부를 반환합니다.

distance 멤버 함수를 호출하기 전에 아래와 같이 distance 인스턴스를 생성해야 합니다.

/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a Distance Sensor instance in Port 1
distance Distance1 = distance(PORT1);

objectDistance#

거리 센서와 가장 가까운 감지된 물체 사이의 거리를 반환합니다.

Available Functions
double objectDistance( distanceUnits units );

Parameters

매개변수

유형

설명

units

distanceUnits

거리 단위:

  • mm - 밀리미터 (20mm ~ 2000mm)
  • cm - 센티미터 (2cm ~ 200cm)
  • inches - 인치 (0.78인치 ~ 78.74인치)

Return Values

지정된 단위로 거리 센서와 가장 가까운 감지된 객체 사이의 거리를 나타내는 double 의 double 값을 반환합니다.

objectSize#

거리 센서가 감지한 물체의 예상 크기를 반환합니다.

거리 센서는 감지된 물체가 센서 시야에서 차지하는 비율을 기준으로 물체의 크기를 추정합니다.

Available Functions
sizeType objectSize();

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values

감지된 객체의 예상 크기를 나타내는 sizeType 을 반환합니다.

  • none — No object is detected.
  • small — A small object is detected.
  • medium — A medium object is detected.
  • large — A large object is detected.

objectVelocity#

감지된 객체의 상대 속도를 반환합니다.

속도는 물체가 거리 센서를 향해 또는 멀어지는 속도를 나타냅니다. 값이 0에 가까우면 물체가 센서에 대해 거의 움직이지 않는다는 의미입니다.

Available Functions
double objectVelocity();

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values

감지된 객체의 상대 속도를 m/s(미터/초) 단위로 나타내는 double 의 double 값을 반환합니다.

isObjectDetected#

거리 센서가 현재 물체를 감지하는지 여부를 반환합니다.

Available Functions
bool isObjectDetected();

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values

거리 센서가 물체를 감지했는지 여부를 나타내는 부울 값을 반환합니다.

  • true — The Distance Sensor detects an object.
  • false — The Distance Sensor does not detect an object.

changed#

감지된 거리 값이 변경될 때 실행되는 콜백 함수를 등록합니다.

Available Functions
void changed( void (* callback)(void) );

Parameters

매개변수

유형

설명

callback

void (*)(void)

감지된 거리 값이 변경될 때 호출될 함수에 대한 포인터입니다. 이 함수는 매개변수를 받지 않고 void 해야 합니다.

Return Values

이 함수는 값을 반환하지 않습니다.

installed#

거리 센서가 설치되고 연결되었는지 여부를 반환합니다.

Available Functions
bool installed();

Parameters

이 함수는 매개변수를 받지 않습니다.

Return Values

거리 센서가 설치되고 연결되었는지 여부를 나타내는 부울 값을 반환합니다.

  • true — The Distance Sensor is installed and connected.
  • false — The Distance Sensor is not installed or not connected.