Interrupteur à butée#

Introduction#

Le pare-chocs de classe bumper est utilisé avec le Bumper Switch, un interrupteur mécanique qui ferme un circuit lorsqu’il est enfoncé, permettant au robot de détecter les pressions et les relâchements.

Le commutateur VEX EXP Bumper est un appareil à 3 fils avec une large base noire pour le fixer à un robot et un bouton rouge pressable sur le dessus.

Constructeur de classe#

bumper(
  triport::port &port );

Destructeur de classe#

Détruit l’objet bumper et libère les ressources associées.

virtual ~bumper();

Paramètres#

Paramètre

Taper

Description

port

triport::port&

Le port à 3 fils auquel le commutateur Bumper est connecté, écrit comme Brain.ThreeWirePort.X ou ExpanderName.X, où X est la lettre du port (par exemple, Brain.ThreeWirePort.A ou Expander1.A).

Exemple#

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

Fonctions des membres#

La classe bumper comprend les fonctions membres suivantes :

  • pressing — Renvoie si le bouton de pare-chocs est enfoncé.

  • pressed — Enregistre une fonction à appeler lorsque le bouton Bumper est enfoncé.

  • released — Enregistre une fonction à appeler lorsque le commutateur Bumper est relâché.

Avant d’appeler les fonctions membres bumper , une instance bumper doit être créée, comme indiqué ci-dessous :

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

Indique si le bouton de sécurité est actuellement enfoncé. Cela permet de vérifier si le robot entre en collision avec d’autres objets.

Available Functions
int32_t pressing();

Parameters

Cette fonction n’accepte aucun paramètre.

Return Values

Renvoie un int32_t indiquant si le bouton de pare-chocs est enfoncé.

  • 1 — Le bouton de pare-chocs est enfoncé.

  • 0 — Le bouton de pare-chocs n’est pas enfoncé.

pressed#

Enregistre une fonction à appeler lorsque le bouton de verrouillage est enfoncé.

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

Un pointeur vers une fonction qui sera appelée lorsque le bouton de pare-chocs sera enfoncé.

Return Values

Cette fonction ne renvoie aucune valeur.

Examples

Définissez la fonction de rappel (en dehors de int main())

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

Enregistrez le rappel à l’intérieur 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#

Enregistre une fonction qui sera appelée lorsque le bouton de verrouillage sera relâché.

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

Parameters

Paramètre

Taper

Description

callback

void (*)(void)

Un pointeur vers une fonction qui sera appelée lorsque le pare-chocs sera relâché.

Return Values

Cette fonction ne renvoie aucune valeur.

Examples

Définissez la fonction de rappel (en dehors de int main())

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

Enregistrez le rappel à l’intérieur 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);
}