중심선#

소개#

axis 클래스는 controller 클래스의 파생 클래스입니다. 컨트롤러 조이스틱 축 값과 조이스틱 축 변경 콜백에 대한 액세스를 제공합니다.

axis 객체는 controller 객체를 통해 접근됩니다. 직접 생성되지는 않습니다.

조이스틱 주변의 축에 레이블이 지정된 VEX V5 컨트롤러. 축 1과 2는 오른쪽 조이스틱 주변에 있고, 축 3과 4는 왼쪽 조이스틱 주변에 있습니다.

입장#

controller 클래스는 다음과 같은 축 객체를 제공합니다. 각 객체는 axis 클래스의 인스턴스입니다.

축 객체

사용 예시

설명

Axis1

Controller.Axis1.position()

오른쪽 조이스틱 수평축.

Axis2

Controller.Axis2.position()

오른쪽 조이스틱의 수직축.

Axis3

Controller.Axis3.position()

왼쪽 조이스틱의 수직축.

Axis4

Controller.Axis4.position()

왼쪽 조이스틱 수평축.

메모#

  • axis 멤버 함수를 사용하기 전에 controller 객체를 생성하십시오.

  • position -100 부터 100 까지의 값을 반환합니다.

// Create a Controller object
controller Controller = controller();

회원 기능#

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

게터 — 조이스틱 축 위치를 읽습니다.

  • position — 조이스틱 축의 위치를 ​​반환합니다.

콜백 함수 — 조이스틱의 위치가 축을 따라 변경될 때 함수를 실행합니다.

  • changed — 조이스틱의 위치가 해당 축을 따라 변경될 때 함수를 실행합니다.

얻는 사람#

위치#

position 조이스틱 축의 위치를 -100 부터 100 까지의 값으로 반환합니다.

사용 가능한 기능

int32_t position(percentUnits units = percentUnits::pct) const;

매개변수

유형

설명

units

percentUnits

선택 사항입니다. 반환되는 축 값에 사용되는 단위입니다. 기본값은 percentUnits::pct.

반환 값

-100 부터 100 까지의 int32_t 값을 반환합니다.

  • 100 — 조이스틱 축이 양의 방향으로 완전히 움직입니다.

  • 0 — 조이스틱 축이 중앙에 위치합니다.

  • -100 — 조이스틱 축이 음의 방향으로 완전히 움직입니다.

예

// Turn with the left joystick
while (true) {
  if (Controller.Axis4.position() > 10) {
    Drivetrain.turn(right);
  }
  else if (Controller.Axis4.position() < -10) {
    Drivetrain.turn(left);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

콜백#

변경됨#

changed 조이스틱의 위치가 해당 축을 따라 변경될 때 함수를 실행합니다.

사용 가능한 기능

void changed(void (* callback)(void)) const;

매개변수

유형

설명

callback

void (*)(void)

조이스틱의 위치가 해당 축을 따라 변경될 때마다 실행되는 함수입니다.

반환 값

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

예

콜백 함수를 main 외부에서 정의하십시오.

// Rumble when the left joystick moves
void controllerRumble() {
  Controller.rumble(".");
}

main 내부에 콜백을 등록합니다.

int main() {
  vexcodeInit();

  // Run controllerRumble when the joystick's position changes along Axis4
  Controller.Axis4.changed(controllerRumble);
}