Αποστασιόμετρο#
Εισαγωγή#
Η κλάση του σόναρ χρησιμοποιείται με το Υπερηχητικό Αποστασιόμετρο, το οποίο μετρά την απόσταση από το πλησιέστερο αντικείμενο χρησιμοποιώντας ηχητικά κύματα. Λειτουργεί στέλνοντας έναν υπερηχητικό παλμό και μετρώντας πόσο χρόνο χρειάζεται για να ανακλαστεί ο ήχος.

Κατασκευαστής κλάσης#
sonar(
triport::port &port);
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο σόναρ και απελευθερώνει τους σχετικούς πόρους.
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 ανιχνεύει ένα αντικείμενο.
απόσταση — Επιστρέφει την απόσταση μεταξύ του Αποστασιόμετρου και του πλησιέστερου αντικειμένου που εντοπίστηκε.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους 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 αντιπροσωπεύει εάν το Range Finder ανιχνεύει ένα αντικείμενο:
αληθές — Το αποστασιόμετρο ανιχνεύει ένα αντικείμενο.
ψευδές — Το αποστασιόμετρο δεν ανιχνεύει αντικείμενο.
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
Η μονάδα που αντιπροσωπεύει την απόσταση: ίντσες ή mm — χιλιοστά.
Return Values
Επιστρέφει ένα διπλό που αντιπροσωπεύει την απόσταση στις καθορισμένες μονάδες.
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);