범퍼 스위치#
소개#
bumper 클래스는 범퍼 스위치와 함께 사용됩니다. 범퍼 스위치는 누르면 회로가 완성되는 기계식 스위치로, 로봇이 누름과 해제를 감지할 수 있도록 합니다.

클래스 생성자#
bumper(
triport::port &port );
클래스 소멸자#
bumper 객체를 파괴하고 관련 리소스를 해제합니다.
virtual ~bumper();
매개변수#
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
범퍼 스위치가 연결된 3선 포트는 |
예#
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
회원 기능#
bumper 클래스에는 다음과 같은 멤버 함수가 포함됩니다.
pressing누르기 — 범퍼 스위치가 눌러지고 있는지 여부를 반환합니다.pressed눌림 — 범퍼 스위치가 눌렸을 때 호출될 함수를 등록합니다.released— 범퍼 스위치가 해제될 때 호출될 함수를 등록합니다.
bumper 멤버 함수를 호출하기 전에 아래와 같이 bumper 인스턴스를 생성해야 합니다.
/* This constructor is required when using VS Code.
Bumper Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
pressing#
범퍼 스위치가 현재 눌려 있는지 여부를 반환합니다. 이 기능은 로봇이 다른 물체와 충돌하는지 확인하는 데 사용할 수 있습니다.
Available Functionsint32_t pressing();
이 함수는 매개변수를 받지 않습니다.
Return Values범퍼 스위치가 눌렸는지 여부를 나타내는 int32_t 을 반환합니다.
1— 범퍼 스위치가 눌렸습니다.0— 범퍼 스위치가 눌리지 않았습니다.
pressed#
범퍼 스위치가 눌렸을 때 호출될 함수를 등록합니다.
Available Functionsvoid pressed( void (* callback)(void) );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
범퍼 버튼을 눌렀을 때 호출될 함수에 대한 포인터입니다. |
이 함수는 값을 반환하지 않습니다.
Examples콜백 함수를 정의하십시오(
int main()외부).// Display a message when bumper is pressed void BumperPressed() { Brain.Screen.print("Bumper pressed"); }
int main()내부에 콜백을 등록합니다.int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run BumperPressed when the value of the Bumper Switch is pressed. BumperA.pressed(BumperPressed); }
released#
범퍼 스위치가 해제될 때 호출될 함수를 등록합니다.
Available Functionsvoid released( void (* callback)(void) );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
범퍼를 놓았을 때 호출될 함수에 대한 포인터입니다. |
이 함수는 값을 반환하지 않습니다.
Examples콜백 함수를 정의하십시오(
int main()외부).// Display a message when bumper is released void BumperReleased() { Brain.Screen.print("Bumper released"); }
int main()내부에 콜백을 등록합니다.int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run BumperReleased when the value of the Bumper Switch is released. BumperA.released(BumperReleased); }