Przełącznik zderzaka#

Wstęp#

Klasa zderzaka bumper jest używana z przełącznikiem zderzakowym, mechanicznym przełącznikiem, który zamyka obwód po naciśnięciu, umożliwiając robotowi wykrywanie naciśnięć i zwolnień.

Przełącznik zderzakowy VEX V5 to urządzenie 3-żyłowe z szeroką czarną podstawą, służącą do przymocowania go do robota, oraz czerwonym przyciskiem na górze.

Konstruktor klasy#

bumper(
  triport::port &port );

Destruktor klasy#

Niszczy obiekt zderzaka bumper i uwalnia powiązane zasoby.

virtual ~bumper();

Parametry#

Parametr

Typ

Opis

port

triport::port&

Port 3-żyłowy, do którego podłączony jest przełącznik zderzakowy, zapisany jako Brain.ThreeWirePort.X lub ExpanderName.X, gdzie X to litera portu (na przykład Brain.ThreeWirePort.A lub Expander1.A).

Przykład#

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

Funkcje członkowskie#

Klasa zderzaka bumper zawiera następujące funkcje członkowskie:

  • pressing — Zwraca informację, czy przełącznik zderzaka jest naciśnięty.

  • naciśniętopressed — rejestruje funkcję, która ma zostać wywołana po naciśnięciu przełącznika zderzaka.

  • released — Rejestruje funkcję, która ma zostać wywołana po zwolnieniu przełącznika zderzaka.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej zderzaka bumper należy utworzyć instancję zderzaka bumper , jak pokazano poniżej:

/* 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#

Zwraca informację, czy przełącznik zderzaka jest aktualnie wciśnięty. Można tego użyć do sprawdzenia, czy robot uderza w inne obiekty.

Available Functions
int32_t pressing();

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values

Zwraca wartość int32_t wskazującą, czy przełącznik zderzakowy jest wciśnięty.

  • 1 — Naciśnięto przełącznik zderzaka.

  • 0 — Przełącznik zderzaka nie jest wciśnięty.

pressed#

Rejestruje funkcję, która ma zostać wywołana po naciśnięciu przełącznika zderzakowego.

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

Parameters

Parametr

Typ

Opis

callback

void (*)(void)

Wskaźnik do funkcji, która zostanie wywołana po naciśnięciu zderzaka.

Return Values

Ta funkcja nie zwraca wartości.

Examples

Zdefiniuj funkcję wywołania zwrotnego (poza int main())

// Display a message when bumper is pressed
void BumperPressed() {
  Brain.Screen.print("Bumper pressed");
}

Zarejestruj wywołanie zwrotne wewnątrz 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#

Rejestruje funkcję, która ma zostać wywołana po zwolnieniu przełącznika zderzakowego.

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

Parameters

Parametr

Typ

Opis

callback

void (*)(void)

Wskaźnik do funkcji, która zostanie wywołana po zwolnieniu zderzaka.

Return Values

Ta funkcja nie zwraca wartości.

Examples

Zdefiniuj funkcję wywołania zwrotnego (poza int main())

// Display a message when bumper is released
void BumperReleased() {
  Brain.Screen.print("Bumper released");
}

Zarejestruj wywołanie zwrotne wewnątrz 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);
}