회전 센서#
소개#
rotation 클래스는 EXP 회전 센서의 데이터를 제어하고 액세스하는 데 사용됩니다.
회전 센서는 축의 회전을 측정합니다. 이 센서는 축이 회전하는 로봇의 어느 부분에든 사용할 수 있으며, 축이 모터에 직접 연결되어 있지 않은 경우에도 사용 가능합니다.
모터에는 자체 회전을 추적할 수 있는 내장형 엔코더가 있습니다. 회전 센서는 별도의 축의 회전을 추적할 수 있는 외부 엔코더처럼 작동합니다.
회전 센서는 샤프트의 각도, 위치 및 속도를 반환합니다. 각도는 0도에서 359.99도까지의 샤프트의 절대 위치입니다. 프로젝트 시작 시 또는 로봇 전원이 꺼져도 초기화되지 않습니다. 위치는 프로젝트 진행 중 샤프트가 앞뒤로 회전한 각도 또는 회전 수를 추적하며, 필요에 따라 초기화할 수 있습니다.
회전 센서는 1/8인치 및 1/4인치 표준 VEX 샤프트와 호환됩니다.
클래스 생성자#
rotation(
int32_t index,
bool reverse = false );
클래스 소멸자#
rotation 객체를 파괴하고 관련 리소스를 해제합니다.
virtual ~rotation();
매개변수#
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
회전 센서가 연결된 스마트 포트는 |
|
|
선택 사항. 회전 센서 출력 방향을 반전할지 여부:
|
예시#
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
회원 기능#
rotation 클래스에는 다음과 같은 멤버 함수가 포함됩니다.
setPosition— 회전 센서의 현재 위치를 특정 값으로 설정합니다.angle— 샤프트의 현재 각도를 0~359.99도에서 반환합니다.position— 샤프트가 회전한 각도 또는 회전 수를 반환합니다.velocity— 샤프트가 회전하는 속도를 반환합니다.
rotation 멤버 함수를 호출하기 전에 아래와 같이 rotation 인스턴스를 생성해야 합니다.
/* This constructor is required when using VS Code.
Rotation Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a Rotation Sensor instance in Port 1
rotation Rotation1 = rotation(PORT1);
setPosition#
회전 센서의 현재 위치를 특정 값으로 설정합니다.
위치는 작업 중 축이 회전한 거리를 나타냅니다. 위치를 설정하면 축을 움직이지 않고 현재 위치 값을 변경할 수 있습니다.
Available Functionsvoid setPosition(
double value,
rotationUnits units );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
회전 센서에 할당할 위치 값입니다. 정수 또는 소수일 수 있습니다. |
|
|
위치 단위:
|
이 함수는 값을 반환하지 않습니다.
angle#
축의 현재 각도를 반환합니다.
각도는 0도에서 359.99도 사이의 한 회전 범위 내에서 축의 절대 위치를 보고합니다. 프로젝트가 시작되거나 로봇의 전원이 꺼져도 이 값은 초기화되지 않습니다.
Available Functionsdouble angle( rotationUnits units = degrees );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
선택 사항입니다. 각도 단위:
|
지정된 단위로 샤프트의 현재 각도를 나타내는 double 의 double 값을 반환합니다.
// 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 Functionsdouble position( rotationUnits units );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
위치 단위:
|
지정된 단위로 축이 회전한 거리를 나타내는 double 의 double 값을 반환합니다.
velocity#
축이 회전하는 속도를 반환합니다.
Available Functionsdouble velocity( velocityUnits units );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
속도 단위:
|
지정된 단위로 축의 회전 속도를 나타내는 double 의 double 값을 반환합니다.