범퍼 스위치#

소개#

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

VEX V5 범퍼 스위치는 로봇에 부착하기 위한 넓은 검은색 베이스와 상단에 빨간색 누름 버튼이 있는 3선 장치입니다.

클래스 생성자#

bumper(
  triport::port &port );

클래스 소멸자#

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

virtual ~bumper();

매개변수#

매개변수

유형

설명

port

triport::port&

범퍼 스위치가 연결된 3선 포트는 Brain.ThreeWirePort.X 또는 ExpanderName.X과 같이 표기되며, 여기서 X 는 포트 문자입니다(예: Brain.ThreeWirePort.A 또는 Expander1.A).

예#

// 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 Functions
int32_t pressing();

Parameters

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

Return Values

범퍼 스위치가 눌렸는지 여부를 나타내는 int32_t 을 반환합니다.

  • 1 — 범퍼 스위치가 눌렸습니다.

  • 0 — 범퍼 스위치가 눌리지 않았습니다.

pressed#

범퍼 스위치가 눌렸을 때 호출될 함수를 등록합니다.

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

Parameters

매개변수

유형

설명

callback

void (*)(void)

범퍼 버튼을 눌렀을 때 호출될 함수에 대한 포인터입니다.

Return Values

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

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 Functions
void released( void (* callback)(void) );

Parameters

매개변수

유형

설명

callback

void (*)(void)

범퍼를 놓았을 때 호출될 함수에 대한 포인터입니다.

Return Values

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

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);
}