Stoßstangenschalter#
Einführung#
Die Klasse bumper wird mit dem Bumper Switch verwendet, einem mechanischen Schalter, der beim Drücken einen Stromkreis schließt und es dem Roboter ermöglicht, Drücken und Loslassen zu erkennen.

Klassenkonstruktor#
bumper(
triport::port &port );
Klassendestruktor#
Zerstört das Objekt bumper und gibt zugehörige Ressourcen frei.
virtual ~bumper();
Parameter#
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der 3-Draht-Anschluss, an den der Bumper Switch angeschlossen ist, wird als |
Beispiel#
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
Mitgliedsfunktionen#
Die Klasse bumper umfasst die folgenden Memberfunktionen:
pressing— Gibt zurück, ob der Bumper-Schalter gedrückt wird.pressed— Registriert eine Funktion, die aufgerufen werden soll, wenn der Bumper-Schalter gedrückt wird.released— Registriert eine Funktion, die aufgerufen werden soll, wenn der Bumper-Schalter losgelassen wird.
Bevor Funktionen vom Typ bumper aufgerufen werden können, muss eine Instanz bumper erstellt werden, wie unten dargestellt:
/* 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#
Gibt zurück, ob der Stoßschalter aktuell gedrückt ist. Dies kann verwendet werden, um zu überprüfen, ob der Roboter gegen andere Objekte stößt.
Available Functionsint32_t pressing();
Diese Funktion akzeptiert keine Parameter.
Return ValuesGibt einen int32_t zurück, der angibt, ob der Bumper-Schalter gedrückt ist.
1— Der Stoßschalter wird gedrückt.0— Der Stoßschalter ist nicht betätigt.
pressed#
Registriert eine Funktion, die beim Drücken des Stoßschalters aufgerufen werden soll.
Available Functionsvoid pressed( void (* callback)(void) );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Zeiger auf eine Funktion, die beim Drücken des Stoßfängers aufgerufen wird. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDefiniere die Callback-Funktion (außerhalb von
int main())// Display a message when bumper is pressed void BumperPressed() { Brain.Screen.print("Bumper pressed"); }Registriere den Callback innerhalb von
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#
Registriert eine Funktion, die aufgerufen werden soll, wenn der Stoßschalter losgelassen wird.
Available Functionsvoid released( void (* callback)(void) );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Zeiger auf eine Funktion, die aufgerufen wird, wenn der Stoßdämpfer losgelassen wird. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDefiniere die Callback-Funktion (außerhalb von
int main())// Display a message when bumper is released void BumperReleased() { Brain.Screen.print("Bumper released"); }Registriere den Callback innerhalb von
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); }