모터 및 모터 그룹#

소개#

모터와 모터 그룹은 로봇의 부품이 움직이는 방식을 제어합니다. motor 객체는 구성된 IQ Smart Motor 하나를 제어하는 ​​반면, motor_group 객체는 구성된 여러 IQ Smart Motor를 함께 제어하여 동시에 움직이도록 합니다. 모터와 모터 그룹은 팔을 올리거나, 집게를 돌리거나, 바퀴를 회전시키거나, 구조물의 다른 부분을 움직이는 데 사용할 수 있습니다. 두 개의 모터는 구동계로 함께 작동하여 로봇 전체를 움직이고 회전시킬 수 있습니다.

각 모터 또는 모터 그룹은 장치 창에서 구성됩니다. 빌드에 따라 모터 및 모터 그룹 이름이 변경될 수 있습니다. 이 페이지에서는 예시 이름으로 Motor1 및 MotorGroup1 사용합니다. 필요에 따라 구성된 이름으로 변경하십시오.

VEX IQ(2세대) 모터의 앞쪽 방향을 나타내는 플러스 기호와 왼쪽(반시계 방향)으로 회전하는 화살표를 보여주는 그림입니다. VEX IQ(2세대) 모터가 마이너스 기호와 화살표로 표시된 역방향 회전(오른쪽, 즉 시계 방향 회전)을 보여주는 그림입니다.

기본적으로 forward 모터를 시계 반대 방향으로 회전시키고, reverse 모터를 시계 방향으로 회전시킵니다. 모터를 역방향으로 설정하면 회전 방향이 반대로 바뀝니다.

모터#

Class Constructors#

1 — 지정된 스마트 포트에 연결된 IQ 스마트 모터용 motor 객체를 생성합니다. 모터는 감지된 내부 gearSetting 자동으로 사용합니다.

motor(
  int32_t index );

2 — 지정된 스마트 포트에 motor 객체를 생성하고 선택적으로 방향을 반전시킵니다. 모터는 감지된 내부 gearSetting 자동으로 사용합니다.

motor(
 int32_t index,
 bool    reverse );

3 — 지정된 스마트 포트에 지정된 gearSetting 사용하여 motor 객체를 생성합니다.

motor(
 int32_t     index,
 gearSetting gears );

4 — 지정된 스마트 포트에 지정된 motor 과 선택적으로 반전 방향을 사용하여 모터 gearSetting 생성합니다.

motor(
 int32_t     index,
 gearSetting gears,
 bool        reverse );

Class Destructor#

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

~motor();

Parameters#

매개변수

유형

설명

index

int32_t

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

reverse

bool

모터의 회전 방향을 반전시킬지 여부를 설정합니다.

  • false (기본값) — 모터의 회전 방향을 반전시키지 않습니다.
  • true — 모터의 회전 방향을 반전시킵니다.

gears

gearSetting

내부 기어 카트리지의 기어비를 지정합니다.

  • ratio1_1 — 1:1 기어비
  • ratio2_1 — 2:1 기어비
  • ratio3_1 — 3:1 기어비

Notes#

  • 기어 설정은 모터에 설치된 카트리지와 일치해야 합니다.

Example#

// Create the motor instance in Smart Port 1
motor LeftMotor = motor(PORT1);

// Creates the motor instance with different settings
motor RightMotor = motor(
  PORT2,      // Smart Port 2
  ratio2_1,  // Gear ratio is 2:1
  true);

모터 그룹#

Class Constructors#

motor_group( motor &m1, Args&... m2 );

Class Destructor#

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

~motor_group();

Parameters#

매개변수

유형

설명

m1

motor &

그룹에 추가된 첫 번째 모터입니다.

m2

motor &

모터 그룹에 모터를 추가했습니다. 한 모터 그룹의 최대 모터 수는 4개입니다.

Example#

// Create individual motor instances
motor LeftMotor  = motor(PORT1);
motor RightMotor = motor(PORT2);

// Create a motor group with both motors
motor_group DriveMotors = motor_group(LeftMotor, RightMotor);

회원 기능#

모터와 모터 그룹을 코딩하는 방법은 여러 가지가 있습니다. 아래는 모든 motor , motor_group 멤버 함수의 목록입니다.

동작 — 모터 및 모터 그룹을 정지시키거나 회전시킵니다.

  • spin — 모터 또는 모터 그룹을 영원히 앞뒤로 회전시킵니다.

  • spinFor — 특정 거리 또는 시간 동안 모터 또는 모터 그룹을 회전시킵니다.

  • spinToPosition — 모터 또는 모터 그룹을 특정 위치로 회전시킵니다.

  • stop — 모터 또는 모터 그룹의 회전을 멈춥니다.

뮤테이터 — 모터 및 모터 그룹 설정을 조정합니다.

  • setVelocity — 모터 또는 모터 그룹에 얼마나 빠르게 회전할지 알려줍니다.

  • setMaxTorque — 모터 또는 모터 그룹이 회전하는 동안 밀어낼 수 있는 최대 힘을 ​​설정합니다.

  • setPosition — 모터 또는 모터 그룹의 현재 위치를 새 값으로 변경합니다.

  • setStopping — 모터 또는 모터 그룹이 제동, 관성 주행 또는 유지를 통해 움직임을 멈추는 방법을 설정합니다.

  • setTimeout — 모터 또는 모터 그룹이 동작을 완료하려고 시도하는 시간을 설정합니다.

게터 - 모터 및 모터 그룹 상태를 확인합니다.

  • isDone — 모터 또는 모터 그룹이 이동을 완료했는지 여부를 부울 값으로 반환합니다.

  • isSpinning — 모터 또는 모터 그룹이 회전하는지 여부를 부울 값으로 반환합니다.

  • position — 모터 또는 모터 그룹의 현재 위치를 반환합니다.

  • velocity — 모터 또는 모터 그룹이 회전하는 속도를 반환합니다.

  • current — 모터 또는 모터 그룹이 사용하는 전기 전류량을 반환합니다.

  • power — 모터 또는 모터 그룹이 사용하는 전력량을 반환합니다.

  • torque — 모터 또는 모터 그룹이 사용하는 토크의 양을 반환합니다.

  • efficiency — 모터 또는 모터 그룹이 전력을 얼마나 효율적으로 사용하는지 반환합니다.

  • temperature — 모터 또는 모터 그룹의 온도를 반환합니다.

  • voltage — 모터 또는 모터 그룹에 공급되는 전기 전압을 반환합니다.

  • direction — 모터 또는 모터 그룹이 회전하는 방향을 반환합니다.

  • installed — 모터 또는 모터 그룹이 브레인에 연결되어 있는지 여부를 반환합니다.

  • count — 모터 그룹에 있는 모터의 수를 반환합니다.

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

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

// Create the motor instance in Smart Port 1
motor Motor1 = motor(PORT1);

행위#

spin#

spin 모터 또는 모터 그룹을 정방향 또는 역방향으로 무한히 회전시킵니다. 모터 또는 모터 그룹은 회전 방향을 바꾸거나 정지하는 등의 다른 동작이 주어질 때까지 계속 회전합니다.

Available Functions

1 — 현재 설정된 모터 속도를 사용하여 모터 또는 모터 그룹을 회전시킵니다.

void spin(
 directionType dir );

2 — 모터 또는 모터 그룹을 지정된 속도로 회전시킵니다.

void spin(
 directionType dir,
 double        velocity,
 velocityUnits units );

3 — 지정된 전압을 사용하여 모터 또는 모터 그룹을 회전시킵니다.

void spin(
 directionType dir,
 double        voltage,
 voltageUnits  units );

Parameters

매개변수

유형

설명

dir

directionType

모터 또는 모터 그룹의 회전 방향: forward 또는 reverse.

velocity

double

percent 사용할 때 0%에서 100%까지 회전 속도를 조절합니다.

units

velocityUnits

속도를 나타내는 단위:

  • percent pct — 퍼센트
  • rpm — 분당 회전수
  • dps — 초당 도

voltage

double

회전에 필요한 전압입니다. 음수 값은 주어진 dir 방향과 반대 방향으로 회전합니다.

units

voltageUnits

전압을 나타내는 단위:

  • volt — 볼트
  • voltageUnits::mV — 밀리볼트

Return Values

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

Notes
  • 이 함수는 대기하지 않으므로 함수 호출 후 프로젝트가 즉시 실행을 재개합니다.

  • 모터 또는 모터 그룹은 stop가 호출되거나 다른 동작 기능이 실행될 때까지 계속 회전합니다.

  • isDone 및 isSpinning와 같은 함수는 대상 기반 이동을 사용하지 않기 때문에( spin 또는 rotation 매개변수가 없기 때문에) time에 적용되지 않습니다.

Examples
// Spin forward, then stop
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();

spinFor#

spinFor 모터 또는 모터 그룹을 특정 거리 또는 시간 동안 회전시킵니다. 회전 기반 회전은 모터 또는 모터 그룹의 현재 위치를 기준으로 합니다. 기본적으로 프로젝트는 모터 또는 모터 그룹의 회전이 완료될 때까지 기다린 후 다음 코드를 실행합니다.

Available Functions

1 — 함수 호출 시 제공된 속도로 특정 거리만큼 회전합니다.

bool spinFor(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — 방향 매개변수를 받아 함수 호출 시 제공된 속도로 특정 거리만큼 회전합니다.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

3 — 현재 구성된 모터 속도를 사용하여 특정 거리만큼 회전합니다.

bool spinFor(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

4 — 방향 매개변수를 받아들이고 현재 구성된 모터 속도를 사용하여 특정 거리만큼 회전합니다.

bool spinFor(
 directionType dir,
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

5 — 함수 호출 시 지정된 속도로 특정 시간 동안 회전합니다.

bool spinFor(
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

6 — 방향 매개변수를 받아 함수 호출 시 제공된 속도로 특정 시간 동안 회전합니다.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units,
 double        velocity,
 velocityUnits units_v );

7 — 현재 구성된 모터 속도를 사용하여 특정 시간 동안 회전합니다.

bool spinFor(
 double    time,
 timeUnits units );

8 — 방향 매개변수를 받아들이고 현재 구성된 모터 속도를 사용하여 특정 시간 동안 회전합니다.

bool spinFor(
 directionType dir,
 double        time,
 timeUnits     units );

Parameters

매개변수

유형

설명

dir

directionType

모터 또는 모터 그룹의 회전 방향: forward 또는 reverse.

rotation

double

모터 또는 모터 그룹이 회전하는 거리.

units

rotationUnits

회전 단위:

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

time

double

모터 또는 모터 그룹이 회전하는 시간.

units

timeUnits

The unit of time:

  • seconds / sec — seconds
  • msec — milliseconds

velocity

double

percent 사용할 때 0%에서 100%까지 회전 속도를 조절합니다.

units_v

velocityUnits

속도를 나타내는 데 사용되는 단위는 다음과 같습니다. velocity:

  • percent / pct — 퍼센트
  • rpm — 분당 회전수
  • dps — 초당 도

waitForCompletion

bool

​

  • true (기본값) — 모터 또는 모터 그룹의 회전이 완료될 때까지 다음 코드 줄이 실행되지 않도록 합니다.
  • false — 다음 코드 줄이 즉시 실행되도록 합니다.

Return Values

모터 또는 모터 그룹이 목표값에 도달했는지 여부를 나타내는 부울 값을 반환합니다.

  • true — The motor or motor group reached the target value.
  • false — The motor or motor group was not able to reach the target value or waitForCompletion is set to false.
Notes
  • spinFor 진행 중인 동안 다른 모터 운동 기능(예: spin 또는 stop)을 실행하면 현재 운동이 중단됩니다.

  • spinFor 대상 기반이기 때문에( rotation 또는 time 매개변수를 사용함) isDone 및 isSpinning과 같은 함수는 spinFor 과 함께 작동합니다.

Examples
// Spin 1 turn fast, then 1 turn slow
Motor1.spinFor(forward, 1, turns, true);
Motor1.spinFor(reverse, 1, turns, 20, velocityUnits::pct, true);

spinToPosition#

spinToPosition 모터 또는 모터 그룹을 특정 위치로 회전시킵니다.

모터 또는 모터 그룹의 위치는 회전한 정도를 degrees 또는 turns도와 같습니다. 프로젝트 시작 시 모터 또는 모터 그룹의 위치는 0도로 설정됩니다. 모터 또는 모터 그룹의 위치는 setPosition 함수를 사용하여 설정할 수도 있습니다.

위치 값은 절대값입니다. 즉, 회전 방향은 모터 또는 모터 그룹의 현재 위치에 따라 달라집니다.

예를 들어, 모터 또는 모터 그룹이 0도에서 시작하여 720도까지 회전하면 두 바퀴 정방향으로 회전합니다. 그런 다음 360도까지 회전하면 720도보다 360도가 작으므로 한 바퀴 역방향으로 회전합니다.

Available Functions

1 — 함수 호출 시 제공된 속도로 특정 위치로 회전합니다.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 double        velocity,
 velocityUnits units_v,
 bool          waitForCompletion = true );

2 — 현재 구성된 모터 속도를 사용하여 특정 위치로 회전합니다.

bool spinToPosition(
 double        rotation,
 rotationUnits units,
 bool          waitForCompletion = true );

Parameters

매개변수

유형

설명

rotation

double

모터 또는 모터 그룹이 회전할 위치 값입니다.

units

rotationUnits

회전 단위:

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

velocity

double

percent 사용할 때 0%에서 100%까지 회전 속도를 조절합니다.

units_v

velocityUnits

velocity:

  • pct — 퍼센트
  • rpm — 분당 회전수
  • dps — 초당 도

waitForCompletion

bool

​

  • true (기본값) — 모터 또는 모터 그룹의 회전이 완료될 때까지 다음 코드 줄이 실행되지 않도록 합니다.
  • false — 다음 코드 줄이 즉시 실행되도록 합니다.

Return Values

모터 또는 모터 그룹이 요청된 대상 기반 움직임을 시작했는지 여부를 나타내는 부울 값을 반환합니다.

  • true — The motor or motor group begins the requested target-based movement.
  • false — The call fails or waitForCompletion is set to false.
Notes
  • spinToPosition 이 진행 중인 동안 다른 모터 운동 기능(예: spin 또는 spinFor)을 실행하면 현재 운동이 중단됩니다.

  • spinToPosition 대상 기반( rotation 매개변수 사용)이므로 isDone 및 isSpinning와 같은 함수는 spinToPosition 과 함께 작동합니다.

Examples
// Spin forward, then go to 90°
Motor1.spin(forward);
wait(1, seconds);
Motor1.spinToPosition(90, degrees);

stop#

stop 모터 또는 모터 그룹의 회전을 정지시킵니다.

Available Functions

1 — 현재 구성된 브레이크 모드를 사용하여 모터 또는 모터 그룹을 정지합니다.

void stop();

2 — 함수 호출에 제공된 브레이크 모드를 사용하여 모터 또는 모터 그룹을 정지합니다.

void stop(
  brakeType mode );

Parameters

매개변수

유형

설명

mode

brakeType

선택 사항. 모터 또는 모터 그룹의 정지 방법:

  • coast — 감속하여 정지합니다.
  • brake — 즉시 정지합니다.
  • hold — 즉시 정지하고 모터 또는 모터 그룹의 위치를 ​​유지합니다.

Return Values

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

Notes
  • stop 누르면 현재 작동 중인 모터 또는 모터 그룹의 움직임이 즉시 멈춥니다.

  • 브레이크 모드가 지정되지 않은 경우 모터 또는 모터 그룹은 현재 구성된 브레이크 모드를 사용합니다.

  • stop 활성 대상 기반 이동(예: spinFor 또는 spinToPosition)을 중단합니다.

Examples
// Spin and coast to a stop
Motor1.setVelocity(100, percent);
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop(coast);

돌연변이체#

setVelocity#

setVelocity 또는 모터 그룹의 회전 속도를 지정합니다. 백분율이 높을수록 모터 또는 모터 그룹은 더 빠르게 회전하고, 백분율이 낮을수록 더 느리게 회전합니다.

모든 프로젝트는 기본적으로 각 모터 또는 모터 그룹이 50% 속도로 회전하는 상태에서 시작됩니다.

참고: 회전 속도가 높을수록 모터 또는 모터 그룹의 회전 속도는 빨라지지만 정밀도가 떨어질 수 있습니다. 회전 속도가 낮을수록 모터 또는 모터 그룹의 회전 속도는 느려지지만 정밀도는 높아질 수 있습니다.

Available Functions
void setVelocity(
    double        velocity,
    velocityUnits units );

Parameters

매개변수

유형

설명

velocity

double

percent 사용할 때 0%에서 100%까지 회전 속도를 조절합니다.

units

velocityUnits

속도를 나타내는 데 사용되는 단위는 다음과 같습니다. velocity:

  • percent / pct — 퍼센트
  • rpm — 분당 회전수
  • dps — 초당 도

Return Values

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

Notes
  • 속도를 명시적으로 지정하지 않는 후속 모터 운동 기능(예: spin, spinFor, 또는 spinToPosition)은 이 값을 사용합니다.

Examples
// Try default, then slow, then fast
Motor1.spinFor(forward, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(20, percent);
Motor1.spinFor(reverse, 180, degrees);
wait(1, seconds);
Motor1.setVelocity(100, percent);
Motor1.spinFor(forward, 180, degrees);

setMaxTorque#

토크는 모터 또는 모터 그룹이 회전하는 동안 밀거나 당길 수 있는 최대 힘을 ​​나타냅니다.

setMaxTorque 모터 또는 모터 그룹이 사용할 수 있는 최대 토크를 설정합니다.

높은 백분율은 모터 또는 모터 그룹이 무거운 물체를 들어 올릴 때처럼 더 강하게 밀어낼 수 있도록 합니다. 낮은 백분율은 모터 또는 모터 그룹이 밀어낼 수 있는 힘을 제한합니다. 이는 모터 또는 모터 그룹이 멈추거나 움직일 수 있는 한계에 도달했을 때 로봇을 보호하는 데 도움이 될 수 있습니다.

모든 프로젝트는 기본적으로 각 모터 또는 모터 그룹의 토크가 50%로 설정된 상태에서 시작됩니다.

Available Functions

1 — 모터 또는 모터 그룹의 정격 토크 대비 최대 토크를 백분율로 설정합니다.

void setMaxTorque(
 double       value,
 percentUnits units );

2 — 물리적 토크 단위를 사용하여 최대 토크를 설정합니다.

void setMaxTorque(
 double      value,
 torqueUnits units );

3 — 모터 전류를 제한하여 최대 토크를 설정합니다.

void setMaxTorque(
 double       value,
 currentUnits units );

Parameters

매개변수

유형

설명

value

double

모터 또는 모터 그룹이 사용할 수 있는 최대 토크.

units

percentUnits

토크를 백분율로 표시합니다: percent 퍼센트 pct 퍼센트

units

torqueUnits

토크를 다음과 같은 물리적 단위로 지정합니다.

  • Nm — 뉴턴미터
  • InLb — 인치파운드

units

currentUnits

모터 전류를 제한하여 토크를 지정합니다:

  • amp

Return Values

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

Notes
  • When using currentUnits, torque is limited by restricting how much electrical current the motor or motor group can use.

setPosition#

A motor or motor group’s position is how far it has spun, measured in degrees or turns. One turn is equal to 360 degrees. setPosition changes the motor or motor group’s current position to a new value.

예를 들어, 모터 또는 모터 그룹이 180도 회전한 경우, 위치를 0도로 설정하면 해당 위치가 180도에서 0도로 재설정됩니다. 그러면 모터 또는 모터 그룹은 새로운 값에 따라 회전할 수 있습니다.

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

Parameters

매개변수

유형

설명

value

double

모터 또는 모터 그룹에 설정할 위치 값입니다.

units

rotationUnits

The position unit:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

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

Notes
  • setPosition호출한 후 spinToPosition에 대한 후속 호출은 업데이트된 위치를 참조로 사용합니다.

setStopping#

setStopping 모터 또는 모터 그룹이 정지하는 방법(브레이크, 관성 주행 또는 정지)을 설정합니다.

Available Functions
void setStopping(
  brakeType mode );

Parameters

매개변수

유형

설명

mode

brakeType

모터 또는 모터 그룹의 정지 방법:

  • brake - 즉시 정지합니다.
  • coast - 감속하여 정지합니다.
  • hold - 즉시 정지하고 모터 또는 모터 그룹의 위치를 ​​유지합니다.

Return Values

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

Notes
  • 지정된 브레이크 모드 없이 stop에 대한 후속 호출은 이 값을 사용합니다.

setTimeout#

setTimeout 모터 또는 모터 그룹이 동작을 완료하려고 시도하는 시간을 설정합니다. 모터 또는 모터 그룹이 해당 시간 내에 동작을 완료하지 못하면 시도를 중지하고 다음 코드 줄로 이동합니다. 이렇게 하면 모터 또는 모터 그룹이 동작 중에 멈추는 것을 방지할 수 있습니다.

Available Functions
void setTimeout(
    int32_t   time,
    timeUnits units );

Parameters

매개변수

유형

설명

time

int32_t

모터 또는 모터 그룹이 동작을 완료하려고 시도할 수 있는 시간입니다. 이 값은 양의 정수여야 합니다.

units

timeUnits

시간 단위:

  • msec — 밀리초
  • seconds / sec — 초

반환 값

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

Notes
  • 모터 또는 모터 그룹 타임아웃은 목표 위치에 도달하지 못한 동작으로 인해 스택에 있는 다른 명령의 실행이 중단되는 것을 방지하는 데 사용됩니다.

  • 모터 또는 모터 그룹이 타임아웃 시간 내에 목표 위치에 도달하지 못하면 시도를 중단하고 다음 코드 줄로 넘어갑니다.

  • 타임아웃은 spinFor 및 spinToPosition와 같은 목표값을 갖는 함수에 적용됩니다.

Examples
// Stop a long move after 1 second
Motor1.setTimeout(1, seconds);
Motor1.spinFor(forward, 2, turns);
Motor1.spinToPosition(0, degrees);

게터스#

isDone#

isDone isDone 설정되며, 모터 또는 모터 그룹의 움직임이 완료되었는지 여부를 부울 값으로 반환합니다. 이 값은 모터 또는 모터 그룹의 움직임에 따라 다른 동작의 타이밍을 제어하는 ​​데 사용할 수 있습니다.

  • true — 모터 또는 모터 그룹의 작동이 완료되었습니다.

  • false — 모터 또는 모터 그룹이 여전히 움직이고 있습니다.

이 함수는 waitForCompletion 매개변수를 갖는 다음 모션 함수와 함께 작동합니다: spinFor 및 spinToPosition.

Available Functions
bool isDone();

Parameters

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

Return Values

모터 또는 모터 그룹의 이동이 완료되었는지 여부를 부울 값으로 반환합니다.

  • true — The motor or motor group is finished moving.
  • false — The motor or motor group is still moving.
Notes
  • isDone waitForCompletion 매개변수를 갖는 모션 함수와 함께 작동합니다: spinFor 및 spinToPosition.

Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isDone()) {
    Drivetrain.stop();
  } else {
    Drivetrain.drive(forward);
  }
}

isSpinning#

isSpinning 모터 또는 모터 그룹이 회전 중인지 여부를 부울 값으로 반환합니다. 이 값은 모터 또는 모터 그룹의 움직임에 따라 다른 동작의 타이밍을 제어하는 ​​데 사용할 수 있습니다.

  • true — 모터 또는 모터 그룹이 회전하고 있습니다.

  • false — 모터 또는 모터 그룹이 회전하지 않습니다.

이 함수는 spin, spinFor, spinToPosition과 같은 모션 이동 함수와 함께 작동합니다.

Available Functions
bool isSpinning();

Parameters

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

Return Values

모터 또는 모터 그룹이 회전하는지 여부를 부울 값으로 반환합니다.

  • true — The motor or motor group is spinning.
  • false — The motor or motor group is not spinning.
Notes Examples
// Spin forward until the motor is done spinning
Motor1.spinFor(forward, 200, degrees, false);
while (true) {
  if (Motor1.isSpinning()) {
    Drivetrain.drive(forward);
  } else {
    Drivetrain.stop();
  }
}

position#

A motor or motor group’s position is how far it has spun, measured in degrees or turns. One turn is equal to 360 degrees. position returns the motor or motor group’s current position.

프로젝트 시작 시 모터 또는 모터 그룹의 위치는 0도로 설정됩니다. 모터 또는 모터 그룹이 한 바퀴 정방향으로 회전하면 위치는 360도 또는 1회전이 됩니다. 모터 또는 모터 그룹이 반대 방향으로 회전하면 위치는 음수가 됩니다.

Available Functions
double position(
  rotationUnits units );

Parameters

매개변수

유형

설명

units

rotationUnits

The unit to return the motor or motor group position in:

  • deg / degrees — degrees
  • turns / rev — revolutions

Return Values

지정된 단위로 모터 또는 모터 그룹의 현재 위치를 나타내는 double 로 구성된 double 값을 반환합니다.

Notes
  • setPosition를 호출하면 이 값의 기준점이 변경됩니다.

  • 반환되는 값은 현재 엔코더 판독값을 반영하며 모터 또는 모터 그룹이 실제로 움직이는지 여부는 나타내지 않습니다.

  • 이 함수는 `motor_group이 으로 설정된 경우 호출되어 해당 그룹의 첫 번째 모터의 위치를 ​​반환합니다.

Examples
// Spin, then show the final position
Motor1.spin(forward);
wait(1, seconds);
Motor1.stop();
Brain.Screen.print("Pos: %f", Motor1.position(degrees));

velocity#

velocity 모터 또는 모터 그룹의 회전 속도를 반환합니다.

양수 값은 모터 또는 모터 그룹이 정방향으로 회전하고 있음을 의미합니다. 음수 값은 역방향으로 회전하고 있음을 의미합니다.

Available Functions
double velocity(
    velocityUnits units );

Parameters

매개변수

유형

설명

units

velocityUnits

속도를 나타내는 단위:

  • percent pct — 퍼센트
  • rpm — 분당 회전수
  • dps — 초당 도

Return Values

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

개의 메모

  • 이 함수는 `motor_group이 으로 설정된 경우 호출되며, 그룹 내 첫 번째 모터의 속도를 반환합니다.

current#

current 모터 또는 모터 그룹이 사용하는 전류량을 나타냅니다. 전류는 모터 또는 모터 그룹을 통해 흐르는 전기의 양입니다. 암페어(A) 단위로 반환되는 전류 값은 0.0에서 1.2A 사이입니다.

전류값이 높다는 것은 모터 또는 모터 그룹이 더 많은 전류를 사용하고 있다는 의미입니다. 이는 모터 또는 모터 그룹이 무거운 물체를 들어 올리거나, 물체를 밀거나, 멈춰 있을 때 움직이려고 할 때 발생할 수 있습니다.

이 기능은 모터 또는 모터 그룹이 작동 중에 어려움을 겪는지 확인하는 데 사용할 수 있습니다. 전류가 높은 상태로 유지되면 모터가 과열되거나 전력 효율이 떨어질 수 있습니다.

Available Functions

1 — 모터 또는 모터 그룹의 전류를 암페어 단위로 반환합니다.

double current(
  currentUnits units = amp );

2 — 모터 또는 모터 그룹의 전류를 최대 정격 전류 대비 백분율로 반환합니다.

double current(
  percentUnits units );

Parameters

매개변수

유형

설명

units

currentUnits

전류를 나타내는 단위:amp (기본값) — 암페어

units

percentUnits

모터의 최대 정격 전류 대비 현재 전류의 백분율을 나타냅니다:percent 퍼센트 pct 퍼센트

Return Values

지정된 단위로 모터 또는 모터 그룹이 소모하는 전류량을 나타내는 double 의 double 값을 반환합니다.

개의 메모

  • 이 함수는 motor_group에 대해 호출될 때 해당 그룹에 속한 모든 모터의 총 전류를 반환합니다.

power#

power 모터 또는 모터 그룹이 사용하는 전력을 와트 단위로 반환합니다. 전력은 모터 또는 모터 그룹이 에너지를 사용하는 속도를 나타냅니다.

출력값이 높다는 것은 모터 또는 모터 그룹이 에너지를 더 빠르게 사용하고 있다는 의미입니다. 이는 모터 또는 모터 그룹이 무거운 물체를 들어 올리거나, 물체를 밀거나, 멈춘 상태에서 움직이려고 할 때 발생할 수 있습니다.

이 기능은 움직임을 비교하거나 모터 또는 모터 그룹이 제대로 작동하지 않는지 확인하는 데 사용할 수 있습니다. 전력이 계속 높게 유지되면 모터가 과열되거나 에너지 효율이 떨어질 수 있습니다.

Available Functions
double power(
  powerUnits units = watt );

매개변수

매개변수

유형

설명

units

powerUnits

모터 출력을 나타내는 단위:

  • watt (기본값) — 와트

반환 값

모터 또는 모터 그룹이 사용하는 전력량을 와트 단위로 나타내는 double 의 double 값을 반환합니다.

개의 메모

  • 이 함수는 `motor_group이 으로 설정된 경우 해당 그룹의 첫 번째 모터의 전력을 반환합니다.

torque#

토크는 모터 또는 모터 그룹이 회전하는 동안 비틀림, 밀기 또는 당기는 힘을 얼마나 강하게 발휘하는지를 나타냅니다.

torque 모터 또는 모터 그룹이 사용하고 있는 토크량을 반환합니다.

토크 값이 높다는 것은 모터 또는 모터 그룹이 더 강하게 밀거나 당기고 있다는 의미입니다. 이는 모터 또는 모터 그룹이 무거운 물체를 들어 올리거나, 물체를 밀거나, 멈춰 있는 상태에서 움직이려고 할 때 발생할 수 있습니다.

이는 모터 또는 모터 그룹이 제대로 작동하지 못하는지 확인하거나, 서로 다른 동작에 필요한 힘의 정도를 비교하는 데 사용할 수 있습니다.

모터 또는 모터 그룹의 토크를 설정하려면 setMaxTorque를 사용합니다.

Available Functions
double torque(
  torqueUnits units = Nm );

매개변수

매개변수

유형

설명

units

torqueUnits

모터 토크를 나타내는 단위:

  • Nm (기본값) — 뉴턴미터
  • InLb — 인치파운드

반환 값

지정된 단위로 모터 또는 모터 그룹이 사용하는 토크량을 나타내는 double 의 double 값을 반환합니다.

개의 메모

  • 이 함수는 `motor_group이 으로 설정된 상태에서 호출될 경우, 해당 그룹의 첫 번째 모터의 기계적 출력 토크를 반환합니다.

efficiency#

efficiency 모터 또는 모터 그룹이 전력을 얼마나 효율적으로 사용하는지를 0%에서 100% 사이의 백분율로 나타냅니다.

효율은 모터 또는 모터 그룹의 동력 중 얼마나 많은 부분이 구동에 사용되는지를 나타냅니다. 효율 값이 높을수록 모터 또는 모터 그룹의 동력이 구동에 더 많이 사용되고 있음을 의미합니다. 반대로 모터 또는 모터 그룹이 힘겹게 작동하지만 움직임이 적은 경우, 예를 들어 정체되거나 물체에 부딪혔을 때 효율 값이 낮아질 수 있습니다.

이 기능은 움직임을 비교하거나 모터 또는 모터 그룹이 움직임에 사용하지 않고 전력을 낭비하는지 확인하는 데 사용할 수 있습니다.

Available Functions
double efficiency(
  percentUnits units = percent );

매개변수

매개변수

유형

설명

units

percentUnits

모터 효율을 나타내는 단위:

  • percent / percentUnits::pct (기본값) — 퍼센트

반환 값

모터 또는 모터 그룹이 전력을 얼마나 효율적으로 사용하는지 백분율로 나타내는 double 의 double 값을 반환합니다.

개의 메모

  • 이 함수는 `motor_group이 으로 설정된 경우, 해당 그룹의 첫 번째 모터의 효율을 반환합니다.

temperature#

temperature 모터 또는 모터 그룹의 온도를 반환합니다.

모터 온도는 모터 또는 모터 그룹의 온도를 나타냅니다. 온도가 높을수록 모터 또는 모터 그룹이 작동 중에 온도가 상승하고 있음을 의미합니다. 모터는 최적의 성능을 유지하기 위해 55°C 로 유지되어야 합니다.

모터 또는 모터 그룹이 과열되면 자체 보호를 위해 최대 전류를 낮춥니다. 70°C에서 모터는 냉각될 때까지 작동을 멈춥니다.

이는 반복적인 움직임, 장시간 작동 또는 물체를 밀어낼 때 모터 또는 모터 그룹이 과열되는지 여부를 확인하는 데 사용할 수 있습니다.

Available Functions

1 — 모터 또는 모터 그룹 온도를 최대 작동 온도 대비 백분율로 반환합니다.

double temperature(
  percentUnits units = percent );

2 — 모터 또는 모터 그룹의 온도를 물리적 온도 단위로 반환합니다.

double temperature(
  temperatureUnits units );

매개변수

매개변수

유형

설명

units

percentUnits

모터 또는 모터 그룹 온도를 백분율로 나타내는 데 사용되는 단위:

  • percent / percentUnits::pct (기본값) — 퍼센트

units

temperatureUnits

모터 또는 모터 그룹의 온도를 도 단위로 나타내는 데 사용되는 단위는 다음과 같습니다.

  • celsius — 섭씨
  • fahrenheit — 화씨

반환 값

지정된 단위로 모터 또는 모터 그룹의 온도를 나타내는 double 값을 반환합니다.

개의 메모

  • 모터의 작동 온도 범위는 대략 20°C(68°F 70°C(~158°F 입니다.

  • 이 함수는 motor_group의 첫 번째 모터에 대해 호출될 때 해당 그룹의 첫 번째 모터의 온도를 반환합니다.

voltage#

voltage 모터 또는 모터 그룹에 공급되는 전기 전압을 반환합니다.

Available Functions
double voltage(
  voltageUnits units = volt );

매개변수

매개변수

유형

설명

units

voltageUnits

전압을 나타내는 단위:

  • volt (기본값)
  • voltageUnits::mV — 밀리볼트

반환 값

지정된 단위로 모터 또는 모터 그룹에 공급되는 전압을 나타내는 double 구성된 double 값을 반환합니다.

개의 메모

  • 이 함수는 motor_group에 대해 호출될 때 해당 그룹의 첫 번째 모터의 전압을 반환합니다.

direction#

direction 모터 또는 모터 그룹이 회전하는 방향을 반환합니다.

Available Functions
directionType direction();

매개변수

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

반환 값

모터 또는 모터 그룹의 현재 방향을 나타내는 directionType 에 을 반환합니다.

  • forward — The motor or motor group is spinning forward.
  • reverse — The motor or motor group is spinning in reverse.

installed#

installed 모터 또는 모터 그룹이 IQ(2세대) 브레인에 연결되었는지 여부를 반환합니다.

Available Functions
bool installed();

매개변수

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

반환 값

모터 또는 모터 그룹이 연결되었는지 여부를 나타내는 bool 의 부울 값을 반환합니다.

  • true — The motor or motor group is connected.
  • false — The motor or motor group is not connected.

count#

count 모터 그룹에 속한 모터의 개수를 반환합니다.

Available Functions
int32_t count();

매개변수

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

반환 값

모터 그룹에 속한 모터 수를 나타내는 int32_t 을 반환합니다.