Interruptor de parachoques#

Introducción#

La clase bumper se utiliza con el interruptor Bumper Switch, un interruptor mecánico que cierra un circuito al pulsarlo, lo que permite al robot detectar las pulsaciones y las liberaciones.

El interruptor de parachoques VEX EXP es un dispositivo de 3 hilos con una base negra ancha para conectarlo a un robot y un botón rojo que se puede presionar en la parte superior.

Constructor de clases#

bumper(
  triport::port &port );

Destructor de clase#

Destruye el objeto bumper y libera los recursos asociados.

virtual ~bumper();

Parámetros#

Parámetro

Tipo

Descripción

port

triport::port&

El puerto de 3 cables al que está conectado el Bumper Switch, escrito Brain.ThreeWirePort.X Brain.ThreeWirePort.X ExpanderName.X, donde X es la letra del puerto (por ejemplo, Brain.ThreeWirePort.A o Expander1.A).

Ejemplo#

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

Funciones de los miembros#

La clase bumper incluye las siguientes funciones miembro:

  • pressing — Devuelve si se está presionando el interruptor del parachoques.

  • pressed: registra una función que se llamará cuando se presione el interruptor del parachoques.

  • released — Registra una función que se llamará cuando se libere el interruptor del parachoques.

Antes de llamar a bumper miembro de bumper instancia de parachoques, como se muestra a continuación:

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

Devuelve si el interruptor del parachoques se está presionando actualmente. Esto se puede utilizar para comprobar si el robot choca con otros objetos.

Available Functions
int32_t pressing();

Parameters

Esta función no acepta ningún parámetro.

Return Values

Devuelve un int32_t que indica si se está presionando el interruptor del parachoques.

  • 1 — Se está presionando el interruptor del parachoques.

  • 0 — No se está presionando el interruptor del parachoques.

pressed#

Registra una función que se llamará cuando se presione el interruptor del parachoques.

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

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Un puntero a una función que se llamará cuando se presione el parachoques.

Return Values

Esta función no devuelve un valor.

Examples

Defina la función de devolución de llamada (fuera de int main())

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

Registrar la devolución de llamada 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#

Registra una función que se llamará cuando se suelte el interruptor de parachoques.

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

Parameters

Parámetro

Tipo

Descripción

callback

void (*)(void)

Un puntero a una función que se llamará cuando se suelte el parachoques.

Return Values

Esta función no devuelve un valor.

Examples

Defina la función de devolución de llamada (fuera de int main())

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

Registrar la devolución de llamada 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);
}