Αποστασιόμετρο#
Εισαγωγή#
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.

Κατασκευαστής κλάσης#
sonar(
triport::port &port);
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο σόναρ sonar και απελευθερώνει τους σχετικούς πόρους.
virtual ~sonar();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η πρώτη θύρα 3 καλωδίων μιας απαιτούμενης ομάδας δύο θυρών που χρησιμοποιείται από το Range Finder. Το Range Finder καταλαμβάνει δύο γειτονικές θύρες (A–B, C–D, E–F ή G–H) είτε στο Brain είτε σε μια επέκταση 3 καλωδίων. Καθορίστε την πρώτη θύρα στο ζεύγος (A, C, E ή G), γραμμένη ως |
Παραδείγματα#
// 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 Functionsbool foundObject();
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return ValuesΕπιστρέφει μια τιμή bool bool αντιπροσωπεύει εάν το Range Finder ανιχνεύει ένα αντικείμενο:
true— Το αποστασιόμετρο ανιχνεύει ένα αντικείμενο.false— Το αποστασιόμετρο δεν ανιχνεύει αντικείμενο.
// 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 Functionsdouble distance(
distanceUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα που αντιπροσωπεύει την απόσταση: |
Επιστρέφει ένα double που αντιπροσωπεύει την απόσταση στις καθορισμένες μονάδες.
// 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);