Παρακολούθηση γραμμών#
Εισαγωγή#
Η κλάση line χρησιμοποιείται με το Line Tracker, έναν αναλογικό αισθητήρα που χρησιμοποιεί ένα υπέρυθρο LED και έναν αισθητήρα φωτός για την ανίχνευση της ανακλαστικότητας της επιφάνειας μπροστά του. Έχει σχεδιαστεί για να τοποθετείται κάτω από το πλαίσιο ενός ρομπότ, έτσι ώστε το ρομπότ να μπορεί να ακολουθεί μια προσημασμένη διαδρομή.
![]()
Κατασκευαστής κλάσης#
line(
triport::port &port );
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο line και απελευθερώνει τους σχετικούς πόρους.
virtual ~line();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η θύρα 3 καλωδίων στην οποία είναι συνδεδεμένος ο ιχνηλάτης γραμμής, γραμμένη ως |
Παραδείγματα#
// Create a line instance in Port A
line LineTrackerA = line(Brain.ThreeWirePort.A);
Συναρτήσεις Μελών#
Η κλάση line περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
reflectivity— Επιστρέφει μια τιμήint32_tπου αντιπροσωπεύει την ποσότητα φωτός που ανακλάται από την επιφάνεια ως ποσοστό.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους line , πρέπει να δημιουργηθεί μια παρουσία line , όπως φαίνεται παρακάτω:
/* This constructor is required when using VS Code.
Line Tracker configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a line instance in Port A
line LineTrackerA = line(Brain.ThreeWirePort.A);
reflectivity#
Επιστρέφει μια τιμή int32_t που αντιπροσωπεύει την ποσότητα φωτός που ανακλάται από την επιφάνεια ως ποσοστό. Αυτό μπορεί να χρησιμοποιηθεί για να βοηθήσει ένα ρομπότ να ακολουθήσει μια προσημασμένη διαδρομή.
Σημείωμα:
Η ανακλαστικότητα 0% σημαίνει ότι το αντικείμενο είναι πολύ σκοτεινό.
Η ανακλαστικότητα 100% σημαίνει ότι το αντικείμενο είναι πολύ φωτεινό.
int32_t reflectivity(
percentUnits units = percentUnits::pct );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα που αντιπροσωπεύει την ανακλαστικότητα: |
Επιστρέφει μια τιμή int32_t που αντιπροσωπεύει την ανακλαστικότητα που μετράται από το Line Tracker ως ποσοστό στην περιοχή 0 - 100%.
// Display the detected reflectivity
int32_t value = LineTrackerA.reflectivity();
Brain.Screen.print(value);