단추#

소개#

button 클래스는 brain 기본 클래스에서 파생되었으며 EXP 브레인의 버튼에 대한 액세스를 제공하여 로봇이 버튼이 눌리고 해제될 때를 감지할 수 있도록 합니다.

입장#

button 클래스는 세 개의 버튼 객체를 제공합니다. 각 객체는 button 클래스의 인스턴스이며, brain 인스턴스를 통해 접근할 수 있습니다.

물체

사용 예시

설명

buttonCheck

Brain.buttonCheck.pressing()

체크 버튼

buttonLeft

Brain.buttonLeft.pressing()

왼쪽 버튼

buttonRight

Brain.buttonRight.pressing()

오른쪽 버튼

회원 기능#

button 클래스는 다음과 같은 멤버 함수를 포함합니다.

  • pressing누르기 — 지정된 버튼이 눌려 있는지 여부를 반환합니다.

  • pressed — 지정된 버튼이 눌렸을 때 호출될 함수를 등록합니다.

  • released — 지정된 버튼이 해제될 때 호출될 함수를 등록합니다.

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

// Create the EXP Brain
brain Brain = brain();

pressing#

특정 두뇌 버튼이 현재 눌러져 있는지 여부를 반환합니다.

Available Functions
bool pressing() const;

Parameters

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

Return Values

지정된 버튼이 눌려 있는지 여부를 나타내는 부울 값을 반환합니다.

  • true — 버튼이 눌리고 있습니다.

  • false — 버튼이 눌리지 않았습니다.

Examples

이 함수는 모든 버튼 객체에서 호출할 수 있습니다. 예를 들면 다음과 같습니다.

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight
// Turn right while the check button is pressed
while (true) {
    if (Brain.buttonCheck.pressing()) {
        Drivetrain.turn(right);
    } else {
        Drivetrain.stop();
    }
    wait(5, msec);
}

pressed#

특정 두뇌 버튼이 눌렸을 때 실행되는 콜백 함수를 등록합니다.

Available Functions
void pressed( 
  void (* callback)(void) ) const;

Parameters

매개변수

유형

설명

callback

void (*)(void)

지정된 버튼을 눌렀을 때 호출되는 함수입니다.

Return Values

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

Examples

이 함수는 모든 브레인 버튼 객체에서 호출할 수 있습니다. 예를 들면 다음과 같습니다.

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

콜백 함수를 정의하십시오( int main() 외부).

// Drive forward when the right button is pressed
void driveForward() {
    Drivetrain.driveFor(forward, 100, mm);
}

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

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Call driveForward when the right button is pressed
  Brain.buttonRight.pressed(driveForward);
}

released#

특정 버튼이 해제될 때 실행되는 콜백 함수를 등록합니다.

Available Functions
void released( 
  void (* callback)(void) ) const;

Parameters

매개변수

유형

설명

callback

void (*)(void)

지정된 버튼에서 손을 떼면 호출되는 함수입니다.

Return Values

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

Examples

이 함수는 모든 브레인 버튼 객체에서 호출할 수 있습니다. 예를 들면 다음과 같습니다.

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight

콜백 함수를 정의하십시오( int main() 외부).

// Drive backward when the left button is released
void backUp() {
    Drivetrain.driveFor(reverse, 100, mm);
}

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

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Call backUp when the left button is released
  Brain.buttonLeft.released(backUp);
}