회전 센서#

소개#

rotation 클래스는 V5 회전 센서의 데이터를 제어하고 액세스하는 데 사용됩니다.

회전 센서는 축의 회전을 측정합니다. 이 센서는 축이 회전하는 로봇의 어느 부분에든 사용할 수 있으며, 축이 모터에 직접 연결되어 있지 않은 경우에도 사용 가능합니다.

모터에는 자체 회전을 추적할 수 있는 내장형 엔코더가 있습니다. 회전 센서는 별도의 축의 회전을 추적할 수 있는 외부 엔코더처럼 작동합니다.

회전 센서는 샤프트의 각도, 위치 및 속도를 반환합니다. 각도는 0도에서 359.99도까지의 샤프트의 절대 위치입니다. 프로젝트 시작 시 또는 로봇 전원이 꺼져도 초기화되지 않습니다. 위치는 프로젝트 진행 중 샤프트가 앞뒤로 회전한 각도 또는 회전 수를 추적하며, 필요에 따라 초기화할 수 있습니다.

회전 센서는 1/8인치 및 1/4인치 표준 VEX 샤프트와 호환됩니다.

클래스 생성자#

rotation(
    int32_t index,
    bool    reverse = false );

클래스 소멸자#

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

virtual ~rotation();

매개변수#

매개변수

유형

설명

index

int32_t

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

reverse

bool

선택 사항. 회전 센서 출력 방향을 반전할지 여부:

  • true — 보고되는 각도 및 위치 값의 방향을 반전합니다.
  • false (기본값) — 각도 및 위치 값을 표준 방향으로 보고합니다.

예시#

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

회원 기능#

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

  • setPosition — 회전 센서의 현재 위치를 특정 값으로 설정합니다.

  • angle — 샤프트의 현재 각도를 0~359.99도에서 반환합니다.

  • position — 샤프트가 회전한 각도 또는 회전 수를 반환합니다.

  • velocity — 샤프트가 회전하는 속도를 반환합니다.

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

// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);

setPosition#

회전 센서의 현재 위치를 특정 값으로 설정합니다.

위치는 작업 중 축이 회전한 거리를 나타냅니다. 위치를 설정하면 축을 움직이지 않고 현재 위치 값을 변경할 수 있습니다.

Available Functions
void setPosition(
    double        value,
    rotationUnits units );

Parameters

매개변수

유형

설명

value

double

회전 센서에 할당할 위치 값입니다. 정수 또는 소수일 수 있습니다.

units

rotationUnits

위치 단위:

  • deg / degrees — 도
  • turns / rev — 회전

Return Values

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

angle#

축의 현재 각도를 반환합니다.

각도는 0도에서 359.99도 사이의 한 회전 범위 내에서 축의 절대 위치를 보고합니다. 프로젝트가 시작되거나 로봇의 전원이 꺼져도 이 값은 초기화되지 않습니다.

Available Functions
double angle( rotationUnits units = degrees );

Parameters

매개변수

유형

설명

units

rotationUnits

선택 사항입니다. 각도 단위:

  • deg / degrees (기본값) — 도
  • turns / rev — 회전

Return Values

지정된 단위로 샤프트의 현재 각도를 나타내는 double 의 double 값을 반환합니다.

Examples
// Get the current angle of the shaft
  double angle = Rotation1.angle(degrees);

  // Print the current angle of the shaft to the
  // Brain's screen.
  Brain.Screen.print(angle);

position#

축이 회전한 거리를 반환합니다.

각도와 달리 위치는 359.99도를 초과하거나 0도 미만으로 감소할 수 있습니다. 위치는 작업 중 축이 앞뒤로 회전하는 거리를 추적하며 필요에 따라 재설정할 수 있습니다.

Available Functions
double position( rotationUnits units );

Parameters

매개변수

유형

설명

units

rotationUnits

위치 단위:

  • deg / degrees — 도
  • turns / rev — 회전

Return Values

지정된 단위로 축이 회전한 거리를 나타내는 double 의 double 값을 반환합니다.

velocity#

축이 회전하는 속도를 반환합니다.

Available Functions
double velocity( velocityUnits units );

Parameters

매개변수

유형

설명

units

velocityUnits

속도 단위:

  • rpm — 분당 회전수
  • dps — 초당 각도

Return Values

지정된 단위로 축의 회전 속도를 나타내는 double 의 double 값을 반환합니다.