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.

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 |
|---|---|---|
|
|
A porta de 3 fios à qual o interruptor de proteção está ligado, escrita como |
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 Functionsint32_t pressing();
Esta função não aceita qualquer parâmetro.
Return ValuesRetorna 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 Functionsvoid pressed( void (* callback)(void) );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Um ponteiro para uma função que será chamada quando o botão do pára-choques for premido. |
Esta função não devolve qualquer valor.
ExamplesDefina 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 Functionsvoid released( void (* callback)(void) );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Um ponteiro para uma função que será chamada quando o pára-choques for libertado. |
Esta função não devolve qualquer valor.
ExamplesDefina 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); }