Interruptor de pára-choques#

Introdução#

A classe bumper é utilizada com o Bumper Switch, um interruptor mecânico que completa um circuito quando pressionado, permitindo ao robô detetar pressões e libertações.

O VEX EXP Bumper Switch é um dispositivo de 3 fios com uma base preta larga para o fixar a um robô e um botão vermelho pressionável na parte superior.

Construtor de Classes#

bumper(
  triport::port &port );

Destrutor de classes#

Destrói o objeto bumper e liberta os recursos associados.

virtual ~bumper();

Parâmetros#

Parâmetro

Tipo

Descrição

port

triport::port&

A porta de 3 fios à qual o interruptor de proteção está ligado, escrita como Brain.ThreeWirePort.X ou ExpanderName.X, em que X é a letra da porta (por exemplo, Brain.ThreeWirePort.A ou Expander1.A).

Exemplo#

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

Funções de membro#

A classe bumper inclui as seguintes funções membro:

  • pressing — Retorna se o interruptor Bumper está a ser premido.

  • pressed — Regista uma função a ser chamada quando o botão de protecção é premido.

  • released — Regista uma função a ser chamada quando o interruptor Bumper é libertado.

Antes de chamar qualquer função membro de bumper , deve ser criada uma instância bumper , como se mostra abaixo:

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

Retorna se o interruptor de impacto está a ser pressionado. Isto pode ser utilizado para verificar se o robô colide com outros objetos.

Available Functions
int32_t pressing();

Parameters

Esta função não aceita qualquer parâmetro.

Return Values

Retorna um valor int32_t indicando se o botão de paragem está a ser premido.

  • 1 — O interruptor do pára-choques está a ser premido.

  • 0 — O interruptor do pára-choques não está a ser premido.

pressed#

Regista uma função a ser chamada quando o botão de proteção é premido.

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (*)(void)

Um ponteiro para uma função que será chamada quando o botão do pára-choques for premido.

Return Values

Esta função não devolve qualquer valor.

Examples

Defina a função de callback (fora de int main())

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

Registe o callback dentro de 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#

Regista uma função a ser chamada quando o botão de proteção é libertado.

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (*)(void)

Um ponteiro para uma função que será chamada quando o pára-choques for libertado.

Return Values

Esta função não devolve qualquer valor.

Examples

Defina a função de callback (fora de int main())

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

Registe o callback dentro de 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);
}