Αισθητήρας αντικειμένων#
Εισαγωγή#
Η κλάση objectdetector χρησιμοποιείται για τη μέτρηση της ανακλαστικότητας και την ανίχνευση αντικειμένων από τον Αισθητήρα Αντικειμένων.
Κατασκευαστής κλάσης#
objectdetector(
triport::port &port,
bool bReverse = false );
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο objectdetector και απελευθερώνει τους σχετικούς πόρους.
virtual ~objectdetector();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η θύρα 3 καλωδίων στην οποία είναι συνδεδεμένος ο αισθητήρας αντικειμένων, γραμμένη ως |
|
|
Μια προαιρετική λογική τιμή για την αντιστροφή της κατεύθυνσης του αισθητήρα αντικειμένων:
|
Παραδείγματα#
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
Συναρτήσεις Μελών#
Η κλάση objectdetector περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
reflectivity— Επιστρέφει την ανακλαστικότητα που ανιχνεύεται από τον Αισθητήρα Αντικειμένου.isObjectDetected— Επιστρέφει εάν ο Αισθητήρας Αντικειμένου ανιχνεύει ένα αντικείμενο.setDetectionThreshold— Ορίζει το εύρος ανίχνευσης του αισθητήρα αντικειμένων.objectDetected— Καταγράφει μια συνάρτηση που θα καλείται όταν ο Αισθητήρας Αντικειμένου ανιχνεύει ένα αντικείμενο.objectLost— Καταγράφει μια συνάρτηση που θα κληθεί όταν ο Αισθητήρας Αντικειμένου χάσει ένα αντικείμενο.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους objectdetector , πρέπει να δημιουργηθεί μια παρουσία objectdetector , όπως φαίνεται παρακάτω:
// Create an objectdetector instance in Port A
objectdetector ObjectSensorA = objectdetector(Brain.ThreeWirePort.A, true);
reflectivity#
Επιστρέφει την ανακλαστικότητα που μετράται από τον αισθητήρα αντικειμένων.
Available Functionsint32_t reflectivity(
percentUnits units = percentUnits::pct );
Παράμετροι |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα που αντιπροσωπεύει την ανακλαστικότητα:
|
Επιστρέφει μια τιμή int32_t που αντιπροσωπεύει την ανακλαστικότητα που μετράται από τον Ανιχνευτή Αντικειμένων ως ποσοστό στην περιοχή 0 - 100%.
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);
isObjectDetected#
Επιστρέφει εάν ένα αντικείμενο ανιχνεύεται αυτήν τη στιγμή από τον Ανιχνευτή Αντικειμένων.
Available Functionsbool isObjectDetected();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΕπιστρέφει μια λογική τιμή που υποδεικνύει εάν έχει εντοπιστεί ένα αντικείμενο:
-
true— An object is detected. -
false— No object is detected.
setDetectionThreshold#
Ορίζει το όριο ανίχνευσης για τον Ανιχνευτή Αντικειμένων σε μια συγκεκριμένη τιμή.
Available Functionsvoid setDetectionThreshold(
int32_t threshold,
percentUnits units = percentUnits::pct );
Παράμετροι |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Το όριο ανακλαστικότητας για την ανίχνευση αντικειμένων, στην περιοχή 0 - 100. |
|
|
Η μονάδα που αντιπροσωπεύει το νέο όριο:
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Examples// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);
objectDetected#
Καταγράφει μια συνάρτηση επανάκλησης για την ανίχνευση ενός αντικειμένου.
Available Functionsvoid objectDetected(void (* callback)(void));
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η συνάρτηση επανάκλησης που θα κληθεί όταν εντοπιστεί ένα αντικείμενο. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesΟρίστε τη συνάρτηση επανάκλησης (εκτός από
int main())// Display a message when an object is detected. void detected() { Brain.Screen.print("object detected"); }Καταχωρίστε την επανάκληση μέσα στο
int main()int main() { // Run detected when the Object Detector detects an object. ObjectSensorA.objectDetected(detected); }
objectLost#
Καταχωρεί μια συνάρτηση επανάκλησης για την περίπτωση απώλειας ενός αντικειμένου.
Available Functionsvoid objectLost(void (* callback)(void));
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η συνάρτηση επανάκλησης που θα κληθεί όταν χαθεί ένα αντικείμενο. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
ExamplesΟρίστε τη συνάρτηση επανάκλησης (εκτός από
int main())// Display a message when an object is lost. void lost() { Brain.Screen.print("object lost"); }Καταχωρίστε την επανάκληση μέσα στο
int main()int main() { // Run lost when the Object Detector loses an object. ObjectSensorA.objectLost(lost); }