Spínač nárazníku#

Zavedení#

Třída bumper se používá s Bumper Switch, mechanickým spínačem, který při stisknutí uzavírá obvod, což umožňuje robotovi detekovat stisknutí a uvolnění.

Vypínač VEX V5 Bumper Switch je třívodičové zařízení se širokou černou základnou pro připojení k robotovi a červeným stisknutelným tlačítkem nahoře.

Konstruktor třídy#

bumper(
  triport::port &port );

Destruktor tříd#

Zničí objekt bumper a uvolní související zdroje.

virtual ~bumper();

Parametry#

Parametr

Typ

Popis

port

triport::port&

3vodičový port, ke kterému je připojen spínač nárazníku, zapsaný jako Brain.ThreeWirePort.X nebo ExpanderName.X, kde X je písmeno portu (například Brain.ThreeWirePort.A nebo Expander1.A).

Příklad#

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

Členské funkce#

Třída bumper obsahuje následující členské funkce:

  • pressing — Vrátí, zda je stisknut spínač nárazníku.

  • pressed — Registruje funkci, která se má volat při stisknutí spínače Bumper.

  • released — Registruje funkci, která se má zavolat při uvolnění spínače nárazníku.

Před voláním jakékoli členské funkce bumper je nutné vytvořit instanci bumper , jak je znázorněno níže:

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

Vrací, zda je aktuálně stisknutý spínač nárazníku. To lze použít ke kontrole, zda robot narazí do jiných objektů.

Available Functions
int32_t pressing();

Parameters

Tato funkce nepřijímá žádné parametry.

Return Values

Vrací int32_t , která indikuje, zda je stisknut nárazníkový spínač.

  • 1 — Stisknutí spínače nárazníku.

  • 0 — Spínač nárazníku není stisknutý.

pressed#

Registruje funkci, která se má volat při stisknutí spínače Bumper.

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

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Ukazatel na funkci, která bude volána při stisknutí nárazníku.

Return Values

Tato funkce nevrací hodnotu.

Examples

Definujte callback funkci (mimo int main())

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

Zaregistrujte zpětné volání uvnitř 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#

Registruje funkci, která se má zavolat při uvolnění spínače nárazníku.

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

Parameters

Parametr

Typ

Popis

callback

void (*)(void)

Ukazatel na funkci, která bude volána při uvolnění nárazníku.

Return Values

Tato funkce nevrací hodnotu.

Examples

Definujte callback funkci (mimo int main())

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

Zaregistrujte zpětné volání uvnitř 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);
}