단추#
소개#
button 클래스는 brain 기본 클래스에서 파생되었으며 IQ(1세대) Brain의 버튼에 대한 액세스를 제공하여 로봇이 Brain의 버튼 누름을 모니터링할 수 있도록 합니다.
입장#
brain 클래스는 12개의 버튼 객체를 제공합니다. 각 객체는 button 클래스의 인스턴스이며 brain 인스턴스를 통해 접근할 수 있습니다.
물체 |
사용 예시 |
설명 |
|---|---|---|
|
|
체크 버튼 |
|
|
왼쪽 버튼 |
|
|
오른쪽 버튼 |
메모#
button객체는 뇌에서 제공되는 것이며, 직접 생성되는 것이 아닙니다.
회원 기능#
Button 클래스는 다음과 같은 멤버 함수를 포함합니다.
pressed— 지정된 버튼이 눌렸을 때 호출될 함수를 등록합니다.released— 지정된 버튼이 해제될 때 호출될 함수를 등록합니다.pressing누르기 — 지정된 버튼이 눌려 있는지 여부를 반환합니다.
button 멤버 함수를 호출하기 전에 아래와 같이 brain 인스턴스를 생성해야 합니다.
// Create a brain instance
brain();
pressed#
특정 두뇌 버튼이 눌렸을 때 실행되는 콜백 함수를 등록합니다.
Available Functionsvoid pressed(
void (* callback)(void) ) const;
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
지정된 버튼을 눌렀을 때 호출되는 함수입니다. |
이 함수는 값을 반환하지 않습니다.
Examples이 함수는 모든 브레인 버튼 객체에서 호출할 수 있습니다. 예를 들면 다음과 같습니다.
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
콜백 함수를 정의하십시오(
int main()외부).// Drive forward when check 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 check button is pressed Brain.buttonCheck.pressed(driveForward); }
released#
특정 버튼이 해제될 때 실행되는 콜백 함수를 등록합니다.
Available Functionsvoid released(
void (* callback)(void) ) const;
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
지정된 버튼에서 손을 떼면 호출되는 함수입니다. |
이 함수는 값을 반환하지 않습니다.
Examples이 함수는 모든 브레인 버튼 객체에서 호출할 수 있습니다. 예를 들면 다음과 같습니다.
Brain.buttonCheckBrain.buttonLeftBrain.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); }
pressing#
특정 두뇌 버튼이 현재 눌러져 있는지 여부를 반환합니다.
Available Functionsbool pressing() const;
이 함수는 매개변수를 받지 않습니다.
Return Values지정된 버튼이 눌려 있는지 여부를 나타내는 부울 값을 반환합니다.
true— 버튼이 눌리고 있습니다.false— 버튼이 눌리지 않았습니다.
이 함수는 모든 브레인 버튼 객체에서 호출할 수 있습니다. 예를 들면 다음과 같습니다.
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while right is pressed
while (true) {
if (Brain.buttonRight.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}