Αισθητήρας απόστασης#
Εισαγωγή#
Η κατηγορία του σόναρ χρησιμοποιείται με τον αισθητήρα απόστασης VEX IQ (1η γενιά). Η κατηγορία απόστασης χρησιμοποιείται με τον αισθητήρα απόστασης VEX IQ (2η γενιά).
Και οι δύο αισθητήρες απόστασης μπορούν να ανιχνεύσουν εάν ένα αντικείμενο βρίσκεται μπροστά από τον αισθητήρα και να επιστρέψουν την απόσταση που βρίσκεται αυτό το αντικείμενο. Ο αισθητήρας απόστασης VEX IQ (2ης γενιάς) μπορεί επίσης να επιστρέψει τη σχετική ταχύτητα του ανιχνευμένου αντικειμένου και να εκτιμήσει εάν το αντικείμενο είναι μικρό, μεσαίο ή μεγάλο.
Κατασκευαστές κλάσεων#
1 — Αυτός ο κατασκευαστής δημιουργεί έναν αισθητήρα απόστασης VEX IQ (1ης γενιάς).
sonar(
int32_t index);
2 — Αυτός ο κατασκευαστής δημιουργεί έναν αισθητήρα απόστασης VEX IQ (2ης γενιάς).
distance(
int32_t index);
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο απόστασης και και απελευθερώνει τους σχετικούς πόρους.
1 — Καταστρέφει έναν αισθητήρα απόστασης VEX IQ (1ης γενιάς).
~sonar();
2 — Καταστρέφει έναν αισθητήρα απόστασης VEX IQ (2ης γενιάς).
~distance();
Παράμετροι#
Παράμετρος
Τύπος
Περιγραφή
index
int32_t
Η Έξυπνη Θύρα στην οποία είναι συνδεδεμένος ο Αισθητήρας Απόστασης, γράφεται ως PORTx, όπου x είναι ο αριθμός θύρας (για παράδειγμα, PORT1).
Παραδείγματα#
1 — Δημιουργήστε μια παρουσία του αισθητήρα απόστασης VEX IQ (1ης γενιάς) στη θύρα 1.
sonar Distance1 = sonar(PORT1);
2 — Δημιουργήστε μια παρουσία του VEX IQ Distance Sensor (2ης γενιάς) στη Θύρα 1.
distance Distance1 = distance(PORT1);
Συναρτήσεις Μελών#
Η κλάση sonar περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
foundObject — Επιστρέφει εάν ο αισθητήρας απόστασης ανιχνεύει αυτήν τη στιγμή ένα αντικείμενο.
απόσταση — Επιστρέφει την απόσταση μεταξύ του αισθητήρα απόστασης και του πλησιέστερου αντικειμένου που ανιχνεύθηκε.
Η κλάση απόσταση περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
— Επιστρέφει την απόσταση μεταξύ του αισθητήρα απόστασης και του πλησιέστερου αντικειμένου που ανιχνεύθηκε.
objectVelocity — Επιστρέφει την ταχύτητα με την οποία το ανιχνευμένο αντικείμενο κινείται προς ή μακριά από τον αισθητήρα απόστασης.
objectSize — Επιστρέφει το εκτιμώμενο μέγεθος του ανιχνευμένου αντικειμένου.
isObjectDetected — Επιστρέφει εάν ο αισθητήρας απόστασης ανιχνεύει αυτήν τη στιγμή ένα αντικείμενο.
άλλαξε — Καταγράφει μια συνάρτηση επανάκλησης που εκτελείται όταν αλλάζει η τιμή της ανιχνευμένης απόστασης.
εγκατεστημένο — Επιστρέφει εάν ο αισθητήρας απόστασης είναι εγκατεστημένος και συνδεδεμένος.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους του σόναρ distance ή , πρέπει να δημιουργηθεί μια παρουσία σόναρ distance ή , όπως φαίνεται παρακάτω:
/* This constructor is required when using VS Code.
Distance Sensor configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a VEX IQ Distance Sensor (2nd gen) instance in Port 1
distance Distance1 = distance(PORT1);
foundObject#
Επιστρέφει εάν ο αισθητήρας απόστασης ανιχνεύει αυτήν τη στιγμή ένα αντικείμενο.
Available Functions
bool foundObject();
Parameters
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return Values
Επιστρέφει μια λογική τιμή που υποδεικνύει εάν ο αισθητήρας απόστασης ανιχνεύει ένα αντικείμενο:
-
true — The Distance Sensor detects an object.
-
false — The Distance Sensor does not detect an object.
Notes
- This is a VEX IQ Distance Sensor (1st gen) function.
distance#
Επιστρέφει την απόσταση μεταξύ του αισθητήρα απόστασης και του πλησιέστερου αντικειμένου που ανιχνεύθηκε.
Available Functions
double distance( distanceUnits units );
Parameters
Παράμετρος
Τύπος
Περιγραφή
units
distanceUnits
Η μονάδα απόστασης:
mm — χιλιοστά (24 mm έως 1000 mm)cm — εκατοστά (2,4 cm έως 100 cm)ίντσες — ίντσες (1 ίντσα έως 40 ίντσες)
Return Values
Επιστρέφει ένα διπλό που αντιπροσωπεύει την απόσταση μεταξύ του αισθητήρα απόστασης και του πλησιέστερου ανιχνευμένου αντικειμένου στις καθορισμένες μονάδες.
Notes
- This is a VEX IQ Distance Sensor (1st gen) function.
objectDistance#
Επιστρέφει την απόσταση μεταξύ του αισθητήρα απόστασης και του πλησιέστερου αντικειμένου που ανιχνεύθηκε.
Available Functions
double objectDistance( distanceUnits units );
Parameters
Παράμετρος
Τύπος
Περιγραφή
units
distanceUnits
Η μονάδα απόστασης:
mm — χιλιοστά (20 mm έως 2000 mm)cm — εκατοστά (2 cm έως 200 cm)ίντσες — ίντσες (0,78 ίντσες έως 78 ίντσες)
Return Values
Επιστρέφει ένα διπλό που αντιπροσωπεύει την απόσταση μεταξύ του αισθητήρα απόστασης και του πλησιέστερου ανιχνευμένου αντικειμένου στις καθορισμένες μονάδες.
Notes
- This is a VEX IQ Distance Sensor (2nd gen) function.
objectVelocity#
Επιστρέφει τη σχετική ταχύτητα του ανιχνευμένου αντικειμένου.
Η ταχύτητα δείχνει πόσο γρήγορα κινείται το αντικείμενο προς ή μακριά από τον αισθητήρα απόστασης. Μια τιμή κοντά στο 0 σημαίνει ότι το αντικείμενο δεν κινείται πολύ σε σχέση με τον αισθητήρα.
Available Functions
double objectVelocity();
Parameters
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return Values
Επιστρέφει ένα διπλό που αντιπροσωπεύει τη σχετική ταχύτητα του ανιχνευμένου αντικειμένου σε m/s (μέτρα ανά δευτερόλεπτο).
Notes
- This is a VEX IQ Distance Sensor (2nd gen) function.
objectSize#
Επιστρέφει το εκτιμώμενο μέγεθος του αντικειμένου που ανιχνεύεται από τον αισθητήρα απόστασης.
Ο αισθητήρας απόστασης εκτιμά το μέγεθος του αντικειμένου με βάση το πόσο μεγάλο μέρος της ορατότητας του αισθητήρα καταλαμβάνεται από το ανιχνευόμενο αντικείμενο.
Available Functions
sizeType objectSize();
Parameters
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return Values
Επιστρέφει ένα sizeType που υποδεικνύει το εκτιμώμενο μέγεθος του ανιχνευμένου αντικειμένου:
-
none — No object is detected.
-
small — A small object is detected.
-
medium — A medium object is detected.
-
large — A large object is detected.
Notes
- This is a VEX IQ Distance Sensor (2nd gen) function.
isObjectDetected#
Επιστρέφει εάν ο αισθητήρας απόστασης ανιχνεύει αυτήν τη στιγμή ένα αντικείμενο.
Available Functions
bool isObjectDetected();
Parameters
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return Values
Επιστρέφει μια λογική τιμή που υποδεικνύει εάν ο αισθητήρας απόστασης ανιχνεύει ένα αντικείμενο:
-
true — The Distance Sensor detects an object.
-
false — The Distance Sensor does not detect an object.
Notes
- This is a VEX IQ Distance Sensor (2nd gen) function.
changed#
Καταγράφει μια συνάρτηση επανάκλησης που εκτελείται όταν αλλάζει η τιμή της ανιχνευμένης απόστασης.
Available Functions
void changed( void (* callback)(void) );
Parameters
Παράμετρος
Τύπος
Περιγραφή
callback
void (*)(void)
Ένας δείκτης προς μια συνάρτηση που θα καλείται όταν αλλάξει η τιμή της ανιχνευμένης απόστασης. Η συνάρτηση δεν πρέπει να δέχεται παραμέτρους και να επιστρέφει void.
Return Values
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Notes
- This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.
installed#
Επιστρέφει εάν ο αισθητήρας απόστασης είναι εγκατεστημένος και συνδεδεμένος.
Available Functions
bool installed();
Parameters
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return Values
Επιστρέφει μια λογική τιμή που υποδεικνύει εάν ο αισθητήρας απόστασης είναι εγκατεστημένος και συνδεδεμένος:
-
true — The Distance Sensor is installed and connected.
-
false — The Distance Sensor is not installed or not connected.
Notes
- This is a VEX IQ Distance Sensor (1st gen) or (2nd gen) function.