Γύρος#
Εισαγωγή#
Ο γυροσκοπικός αισθητήρας είναι ένας αισθητήρας κίνησης που ανιχνεύει την περιστροφή γύρω από έναν μόνο άξονα. Μπορεί να μετρήσει πόσο έχει στρίψει το ρομπότ, επιτρέποντάς του να παρακολουθεί τον προσανατολισμό και την κατεύθυνση.
Αυτή η σελίδα χρησιμοποιεί drivetrain_gyro ως παράδειγμα ονόματος αισθητήρα γυροσκοπίου. Αντικαταστήστε το με το δικό σας διαμορφωμένο όνομα, όπως απαιτείται.
Παρακάτω είναι μια λίστα με όλες τις διαθέσιμες μεθόδους:
Ενέργειες — Βαθμονόμηση ή προσαρμογή της κατεύθυνσης και της περιστροφής του γυροσκοπικού αισθητήρα.
calibrate— Βαθμονομεί τον γυροσκοπικό αισθητήρα για σταθερή παρακολούθηση κατεύθυνσης.set_heading— Ορίζει την κατεύθυνση του γυροσκοπικού αισθητήρα σε μια καθορισμένη τιμή.set_rotation— Ορίζει την τιμή περιστροφής του γυροσκοπικού αισθητήρα.reset_heading— Ορίζει την κεφαλίδα του γυροσκοπικού αισθητήρα σε 0.reset_rotation— Ορίζει την περιστροφή του γυροσκοπικού αισθητήρα σε 0.
Λήπτες — Διαβάστε την κατεύθυνση, την περιστροφή και την κατάσταση του γυροσκοπικού αισθητήρα.
heading— Επιστρέφει την τρέχουσα επικεφαλίδα.rotation— Επιστρέφει την αθροιστική περιστροφή.rate— Επιστρέφει τη γωνιακή ταχύτητα γύρω από τον άξονα x, y ή z.is_calibrating— Επιστρέφει εάν ο γυροσκοπικός αισθητήρας βαθμονομείται ή όχι.installed— Επιστρέφει εάν ένας γυροσκοπικός αισθητήρας είναι συνδεδεμένος στον εγκέφαλο.
Επανάκληση — Εκτέλεση κώδικα όταν ο γυροσκοπικός αισθητήρας ανιχνεύσει κίνηση ή αλλαγή.
changed— Καταγράφει μια συνάρτηση που θα καλείται όταν ο Γυροσκοπικός Αισθητήρας ανιχνεύσει αλλαγή.
Κατασκευαστές — Μη αυτόματη αρχικοποίηση και διαμόρφωση ενός γυροσκοπικού αισθητήρα.
Gyro— Δημιουργεί έναν Γυροσκοπικό Αισθητήρα.
Ενέργειες#
calibrate#
calibrate βαθμονομεί τον γυροσκοπικό αισθητήρα. Όλες οι επόμενες γραμμές θα περιμένουν την ολοκλήρωση της βαθμονόμησης πριν από την εκτέλεσή της. Η βαθμονόμηση είναι μια εσωτερική διαδικασία που μετρά και αντισταθμίζει τον θόρυβο και την απόκλιση του αισθητήρα σε μια καθορισμένη χρονική περίοδο. Κατά τη διάρκεια αυτής της περιόδου, ο γυροσκοπικός αισθητήρας πρέπει να παραμένει εντελώς ακίνητος (δηλαδή, σε μια σταθερή επιφάνεια χωρίς καμία εξωτερική κίνηση). Η κίνηση κατά τη βαθμονόμηση θα παράγει ανακριβή αποτελέσματα.
Usage:
calibrate()
Παράμετρος |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Start Gyro Sensor calibration
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
wait(0.1, SECONDS)
brain.screen.print("Done!")
set_heading#
set_heading ορίζει την επικεφαλίδα του γυροσκοπικού αισθητήρα σε μια συγκεκριμένη τιμή.
Usage:
set_heading(value, units)
Παράμετροι |
Περιγραφή |
|---|---|
αξία |
Η τιμή επικεφαλίδας που θα οριστεί. |
μονάδες |
Προαιρετικό. Η μονάδα που χρησιμοποιείται για την αναπαράσταση της νέας κατεύθυνσης:
|
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)
set_rotation#
set_rotation ορίζει την περιστροφή του γυροσκοπικού αισθητήρα σε μια συγκεκριμένη τιμή.
Usage:
set_rotation(value, units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η τιμή επικεφαλίδας που θα οριστεί. |
|
Προαιρετικά. Η μονάδα που χρησιμοποιείται για την αναπαράσταση της νέας τιμής περιστροφής:
|
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)
reset_heading#
reset_heading επαναφέρει την επικεφαλίδα του γυροσκοπικού αισθητήρα στο 0.
Usage:
reset_heading()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Turn the robot before and after resetting the heading
drivetrain.turn_to_heading(90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_heading()
drivetrain.turn_to_heading(90, DEGREES)
reset_rotation#
reset_rotation επαναφέρει την περιστροφή του γυροσκοπικού αισθητήρα στο 0.
Usage:
reset_rotation()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Turn the robot before and after resetting the rotation
drivetrain.turn_to_rotation(-90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_rotation()
drivetrain.turn_to_rotation(-90, DEGREES)
Αποκτητές#
heading#
Η κεφαλίδα heading επιστρέφει την τρέχουσα κεφαλίδα του γυροσκοπικού αισθητήρα.
Usage:
heading(units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικό. Η μονάδα που χρησιμοποιείται για την αναπαράσταση της κατεύθυνσης:
|
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())
rotation#
rotation επιστρέφει την τρέχουσα περιστροφή του γυροσκοπικού αισθητήρα.
Usage:
rotation(units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικά. Η μονάδα που χρησιμοποιείται για την αναπαράσταση της περιστροφής:
|
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())
rate#
Η συνάρτηση rate επιστρέφει τον τρέχοντα ρυθμό αλλαγής της περιστροφής του γυροσκοπικού αισθητήρα σε καθορισμένες μονάδες.
Usage:
rate(units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικό. Η μονάδα που χρησιμοποιείται για την αναπαράσταση του ρυθμού γυροσκοπίου:
|
# Display the rate of change of
# rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(drivetrain_gyro.rate())
drivetrain.stop()
is_calibrating#
is_calibrating ελέγχει εάν ο γυροσκοπικός αισθητήρας βρίσκεται σε διαδικασία βαθμονόμησης.
True— Ο γυροσκοπικός αισθητήρας βαθμονομείται.False— Ο γυροσκοπικός αισθητήρας δεν βαθμονομείται.
Usage:
is_calibrating()
Παράμετρος |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
wait(0.1, SECONDS)
brain.screen.print("Done!")
installed#
installed επιστρέφει μια Boolean τιμή που υποδεικνύει εάν ο Γυροσκοπικός Αισθητήρας είναι συνδεδεμένος στον Εγκέφαλο.
True— Ο γυροσκοπικός αισθητήρας είναι συνδεδεμένος με τον εγκέφαλο.False— Ο γυροσκοπικός αισθητήρας δεν είναι συνδεδεμένος με τον εγκέφαλο.
Usage:
installed()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
brain.screen.print("Installed!")
Επανάκληση#
changed#
Η τιμή changed καταγράφει μια συνάρτηση επανάκλησης για την αλλαγή της κατεύθυνσης του γυροσκοπικού αισθητήρα.
Usage:
changed(callback, arg)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η συνάρτηση επανάκλησης που θα κληθεί όταν αλλάξει η επικεφαλίδα του γυροσκοπικού αισθητήρα. |
|
Προαιρετικό. Μια πλειάδα ορισμάτων που θα διαβιβαστεί στη συνάρτηση επανάκλησης. |
def gyro_changed():
brain.screen.clear_screen()
brain.screen.set_cursor(1, 1)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain_gyro.heading())
# Display the heading when the gyro detects a change
drivetrain.turn_for(RIGHT, 90, DEGREES, wait=False)
drivetrain_gyro.changed(gyro_changed)
Κατασκευαστές#
Οι κατασκευαστές χρησιμοποιούνται για τη χειροκίνητη δημιουργία αντικειμένων Gyro , τα οποία είναι απαραίτητα για τη διαμόρφωση ενός αισθητήρα Gyro εκτός του VEXcode.
Gyro#
Gyro δημιουργεί έναν Αισθητήρα Γυροσκοπίου.
Usage:
Gyro(smartport)
Παράμετρος |
Περιγραφή |
|---|---|
|
Η Έξυπνη Θύρα στην οποία είναι συνδεδεμένος ο Γυροσκοπικός Αισθητήρας, γραμμένη ως PORTx όπου x είναι ο αριθμός της θύρας. |
# Create the Brain
brain = Brain()
# When constructing Gyro Sensor "drivetrain_gyro" with a
# SmartDrive "drivetrain"
drivetrain_gyro = Gyro(Ports.PORT1)
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, drivetrain_gyro, 200)
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)