Αισθητήρας αντικειμένων#

Εισαγωγή#

Η κλάση objectdetector χρησιμοποιείται για τη μέτρηση της ανακλαστικότητας και την ανίχνευση αντικειμένων με το υπέρυθρο (IR) φως του Object Sensor.

Κατασκευαστής κλάσης#

objectdetector( 
  triport::port &port, 
  bool           bReverse = false );

Καταστροφέας κλάσης#

Καταστρέφει το αντικείμενο objectdetector και απελευθερώνει τους σχετικούς πόρους.

virtual ~objectdetector();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

port

triport::port &

Η θύρα 3 καλωδίων στην οποία είναι συνδεδεμένος ο αισθητήρας αντικειμένων, γραμμένη ως Brain.ThreeWirePort.X ή ExpanderName.X, όπου X είναι το γράμμα της θύρας (για παράδειγμα, Brain.ThreeWirePort.A ή Expander1.A).

bReverse

bool

Μια προαιρετική λογική τιμή για την αντιστροφή της κατεύθυνσης του αισθητήρα αντικειμένων:

  • false (προεπιλογή) — Μην αντιστρέφετε την κατεύθυνση
  • true — Αντιστροφή της κατεύθυνσης

Παραδείγματα#

// 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 Functions
int32_t reflectivity( 
  percentUnits units = percentUnits::pct );

Parameters

Παράμετροι

Τύπος

Περιγραφή

units

percentUnits

Η μονάδα που αντιπροσωπεύει την ανακλαστικότητα:

  • percent / pct — τοις εκατό

Return Values

Επιστρέφει μια τιμή int32_t που αντιπροσωπεύει την ανακλαστικότητα που μετράται από τον Ανιχνευτή Αντικειμένων ως ποσοστό στην περιοχή 0 - 100%.

Examples
// Display the detected reflectivity on the Brain's screen
int32_t value = ObjectSensorA.reflectivity();
Brain.Screen.print(value);

isObjectDetected#

Επιστρέφει εάν ένα αντικείμενο ανιχνεύεται αυτήν τη στιγμή από τον Ανιχνευτή Αντικειμένων.

Available Functions
bool isObjectDetected();

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

Επιστρέφει μια λογική τιμή που υποδεικνύει εάν έχει εντοπιστεί ένα αντικείμενο:

  • true — An object is detected.
  • false — No object is detected.

setDetectionThreshold#

Ορίζει το όριο ανίχνευσης για τον Ανιχνευτή Αντικειμένων σε μια συγκεκριμένη τιμή.

Available Functions
void setDetectionThreshold( 
  int32_t      threshold, 
  percentUnits units = percentUnits::pct );

Parameters

Παράμετροι

Τύπος

Περιγραφή

threshold

int32_t

Το όριο ανακλαστικότητας για την ανίχνευση αντικειμένων, στην περιοχή 0 - 100.

units

percentUnits

Η μονάδα που αντιπροσωπεύει το νέο όριο:

  • percent / pct — τοις εκατό

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Examples
// Set the reflectivity threshold to 50%
ObjectSensorA.setDetectionThreshold(50);

objectDetected#

Καταγράφει μια συνάρτηση επανάκλησης για την ανίχνευση ενός αντικειμένου.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Η συνάρτηση επανάκλησης που θα κληθεί όταν εντοπιστεί ένα αντικείμενο.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Examples
void detected() {
  Brain.Screen.print("object detected");
}

// Run detected when the Object Detector detects an object
ObjectSensorA.objectDetected(detected);

objectLost#

Καταχωρεί μια συνάρτηση επανάκλησης για την περίπτωση απώλειας ενός αντικειμένου.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Η συνάρτηση επανάκλησης που θα κληθεί όταν χαθεί ένα αντικείμενο.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Examples
void lost() {
  Brain.Screen.print("object lost");
}

// Run lost when the Object Detector loses an object
ObjectSensorA.objectLost(lost);