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í.

Konstruktor třídy#
bumper(
triport::port &port );
Destruktor tříd#
Zničí objekt bumper a uvolní související zdroje.
virtual ~bumper();
Parametry#
Parametr |
Typ |
Popis |
|---|---|---|
|
|
3vodičový port, ke kterému je připojen spínač nárazníku, zapsaný jako |
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 Functionsint32_t pressing();
Tato funkce nepřijímá žádné parametry.
Return ValuesVrací 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 Functionsvoid pressed( void (* callback)(void) );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Ukazatel na funkci, která bude volána při stisknutí nárazníku. |
Tato funkce nevrací hodnotu.
ExamplesDefinujte 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 Functionsvoid released( void (* callback)(void) );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Ukazatel na funkci, která bude volána při uvolnění nárazníku. |
Tato funkce nevrací hodnotu.
ExamplesDefinujte 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); }