Διακόπτης προφυλακτήρα#
Εισαγωγή#
Η κλάση bumper χρησιμοποιείται με τον διακόπτη προφυλακτήρα, έναν μηχανικό διακόπτη που ολοκληρώνει ένα κύκλωμα όταν πατηθεί, επιτρέποντας στο ρομπότ να ανιχνεύει πατήματα και απελευθερώσεις.

Κατασκευαστής κλάσης#
bumper(
triport::port &port );
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο bumper και απελευθερώνει τους σχετικούς πόρους.
virtual ~bumper();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η θύρα 3 καλωδίων στην οποία είναι συνδεδεμένος ο διακόπτης προφυλακτήρα, γραμμένη ως |
Παράδειγμα#
// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);
Συναρτήσεις Μελών#
Η κλάση bumper περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
pressing— Επιστρέφει εάν πατιέται ο διακόπτης προφυλακτήρα.pressed— Καταγράφει μια λειτουργία που θα κληθεί όταν πατηθεί ο διακόπτης προφυλακτήρα.released— Καταγράφει μια συνάρτηση που θα κληθεί όταν απελευθερωθεί ο διακόπτης προφυλακτήρα.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους bumper , πρέπει να δημιουργηθεί μια παρουσία bumper , όπως φαίνεται παρακάτω:
/* 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#
Επιστρέφει εάν ο διακόπτης προφυλακτήρα είναι πατημένος τη δεδομένη στιγμή. Αυτό μπορεί να χρησιμοποιηθεί για να ελεγχθεί εάν το ρομπότ προσκρούει σε άλλα αντικείμενα.
Available Functionsint32_t pressing();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΕπιστρέφει την τιμή int32_t που υποδεικνύει εάν πατιέται ο διακόπτης προφυλακτήρα.
1— Πιέζεται ο διακόπτης προφυλακτήρα.0— Ο διακόπτης προφυλακτήρα δεν πατιέται.
pressed#
Καταγράφει μια λειτουργία που θα κληθεί όταν πατηθεί ο διακόπτης προφυλακτήρα.
Available Functionsvoid pressed( void (* callback)(void) );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένας δείκτης σε μια συνάρτηση που θα κληθεί όταν πατηθεί ο προφυλακτήρας. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesΟρίστε τη συνάρτηση επανάκλησης (εκτός από
int main())// Display a message when bumper is pressed void BumperPressed() { Brain.Screen.print("Bumper pressed"); }Καταχωρίστε την επανάκληση μέσα στο
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#
Καταγράφει μια συνάρτηση που θα κληθεί όταν απελευθερωθεί ο διακόπτης προφυλακτήρα.
Available Functionsvoid released( void (* callback)(void) );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ένας δείκτης σε μια συνάρτηση που θα κληθεί όταν απελευθερωθεί ο προφυλακτήρας. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesΟρίστε τη συνάρτηση επανάκλησης (εκτός από
int main())// Display a message when bumper is released void BumperReleased() { Brain.Screen.print("Bumper released"); }Καταχωρίστε την επανάκληση μέσα στο
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); }