Αποστασιόμετρο#

Εισαγωγή#

The sonar class is used with the Ultrasonic Range Finder, which measures the distance to the nearest object using sound waves. It works by sending out an ultrasonic pulse and measuring how long it takes for the sound to bounce back.

Το VEX EXP Αποστασιόμετρο.

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

sonar(
  triport::port &port);

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

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

virtual ~sonar();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

port

triport::port &

Η πρώτη θύρα 3 καλωδίων μιας απαιτούμενης ομάδας δύο θυρών που χρησιμοποιείται από το Range Finder. Το Range Finder καταλαμβάνει δύο γειτονικές θύρες (A–B, C–D, E–F ή G–H) είτε στο Brain είτε σε μια επέκταση 3 καλωδίων. Καθορίστε την πρώτη θύρα στο ζεύγος (A, C, E ή G), γραμμένη ως Brain.ThreeWirePort.X ή ExpanderName.X όπου X είναι το γράμμα της θύρας (για παράδειγμα, Brain.ThreeWirePort.A ή Expander1.C).

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

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

Συναρτήσεις Μελών#

Η κλάση sonar περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:

  • foundObject — Επιστρέφει εάν το Rangefinder ανιχνεύει ένα αντικείμενο.

  • distance — Επιστρέφει την απόσταση μεταξύ του Αποστασιόμετρου και του πλησιέστερου αντικειμένου που εντοπίστηκε.

Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους sonar , πρέπει να δημιουργηθεί μια παρουσία sonar , όπως φαίνεται παρακάτω:

/* This constructor is required when using VS Code.
Range Finder configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

foundObject#

Επιστρέφει εάν το Range Finder ανιχνεύει ένα αντικείμενο εντός του οπτικού του πεδίου.

Available Functions
bool foundObject();

Parameters

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

Return Values

Επιστρέφει μια τιμή bool bool αντιπροσωπεύει εάν το Range Finder ανιχνεύει ένα αντικείμενο:

  • true — Το αποστασιόμετρο ανιχνεύει ένα αντικείμενο.

  • false — Το αποστασιόμετρο δεν ανιχνεύει αντικείμενο.

Examples
// Check if an object is detected.
if (RangeFinderA.foundObject()){
    // Print to screen on the brain that an object was found.
    Brain.Screen.print("object found");
}

distance#

Επιστρέφει την μετρούμενη απόσταση από το πλησιέστερο αντικείμενο που ανιχνεύεται από τον αισθητήρα.

Available Functions
double distance(
  distanceUnits units );

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

distanceUnits

Η μονάδα που αντιπροσωπεύει την απόσταση: inches ή mm — χιλιοστά.

Return Values

Επιστρέφει ένα double που αντιπροσωπεύει την απόσταση στις καθορισμένες μονάδες.

Examples
// Get the Range Finder distance in millimeters.
double value = RangeFinderA.distance(mm);

// Print the current distance detected by the Range Finder to the
// Brain's screen.
Brain.Screen.print(value);