Αισθητήρες#
Εισαγωγή#
Το VEX AIR Drone περιλαμβάνει έναν αδρανειακό αισθητήρα για τη μέτρηση της περιστροφικής κίνησης και για την ανίχνευση αλλαγών στην κίνηση, καθώς και έναν αισθητήρα εμβέλειας για την ανίχνευση αποστάσεων. Το VEX AIR Drone μπορεί επίσης να παρακολουθεί τα επίπεδα μπαταρίας του. Αυτοί οι αισθητήρες επιτρέπουν στο drone να παρακολουθεί τον προσανατολισμό, την κατεύθυνση, την επιτάχυνση και την απόστασή του από αντικείμενα.
Παρακάτω είναι μια λίστα με όλες τις διαθέσιμες μεθόδους:
Αδρανειακό - Παρακολουθήστε την περιστροφική κίνηση του drone.
get_rotation– Επιστρέφει την περιστροφή του drone από την έναρξή του.get_heading– Επιστρέφει την τρέχουσα επικεφαλίδα (0 έως 359,99°).get_yaw– Επιστρέφει τη γωνία εκτροπής (–180 έως 180°).get_roll– Επιστρέφει τη γωνία κύλισης (–180 έως 180°).get_pitch– Επιστρέφει τη γωνία κλίσης (–180 έως 180°).reset_rotation– Επαναφέρει την τιμή περιστροφής στο 0.reset_heading– Ορίζει την τρέχουσα επικεφαλίδα σε 0.set_heading– Ορίζει την επικεφαλίδα σε μια συγκεκριμένη τιμή.get_acceleration– Επιστρέφει την επιτάχυνση σε μια συγκεκριμένη κατεύθυνση.get_turn_rate– Επιστρέφει τον ρυθμό περιστροφής σε μοίρες ανά δευτερόλεπτο.
Εμβέλεια — Εντοπισμός αποστάσεων από τους αισθητήρες εμβέλειας του drone.
get_distance— Επιστρέφει την απόσταση μεταξύ του επιλεγμένου αισθητήρα εμβέλειας και του πλησιέστερου αντικειμένου που εντοπίστηκε.
Μπαταρία - Επιστροφή του ποσοστού μπαταρίας του drone.
get_battery_level– Επιστρέφει το επίπεδο μπαταρίας του drone σε ποσοστό.
Αδρανειακό#
get_rotation#
get_rotation επιστρέφει τον αριθμό των μοιρών που έχει περιστραφεί το drone από την έναρξή του. Αθροίζει όλες τις στροφές και επιστρέφει το σύνολο σε μοίρες: θετικό για δεξιόστροφη φορά, αρνητικό για αριστερόστροφη φορά.
Usage:
drone.inertial.get_rotation()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Display the rotation after turning
drone.take_off(climb_to=500)
drone.turn_for(LEFT, 450, 50)
print(drone.inertial.get_rotation(), end="")
drone.land()
get_heading#
Η συνάρτηση get_heading επιστρέφει τη γωνία κατεύθυνσης του drone ως μεταβλητή στην περιοχή από 0 έως 359,99 μοίρες.
Usage:
drone.inertial.get_heading()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Display the drone's heading after turning
drone.take_off(climb_to=500)
drone.set_turn_velocity(100)
drone.turn(RIGHT)
wait(5, SECONDS)
controller.screen.print("Heading: ")
controller.screen.print(drone.inertial.get_heading())
drone.land()
get_yaw#
Η συνάρτηση get_yaw επιστρέφει τη γωνία εκτροπής του drone στην περιοχή από –180,0 έως 180,0 μοίρες ως πλωτήρα.
Η παρακάτω εικόνα χρησιμοποιεί ένα βέλος για να δείξει την κατεύθυνση της θετικής περιστροφής για την εκτροπή.

Usage:
drone.inertial.get_yaw
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Display the yaw angle as you rotate the drone by hand
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Yaw: ")
controller.screen.print(drone.inertial.get_yaw())
wait(0.2, SECONDS)
get_roll#
Η συνάρτηση get_roll επιστρέφει τη γωνία κύλισης του drone στην περιοχή από –180,0 έως 180,0 μοίρες ως πλωτήρας.
Η παρακάτω εικόνα χρησιμοποιεί ένα βέλος για να δείξει την κατεύθυνση της θετικής περιστροφής για την κύλιση.

Usage:
drone.inertial.get_roll()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Display the roll angle as you rotate the drone by hand
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Roll: ")
controller.screen.print(drone.inertial.get_roll())
wait(0.2, SECONDS)
get_pitch#
Η συνάρτηση get_pitch επιστρέφει τη γωνία κλίσης του drone στην περιοχή από –180,0 έως 180,0 μοίρες ως πλωτήρας.
Η παρακάτω εικόνα χρησιμοποιεί ένα βέλος για να δείξει την κατεύθυνση της θετικής περιστροφής για το βήμα.

Usage:
drone.inertial.get_pitch()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Display the pitch angle as you rotate the drone by hand
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Pitch: ")
controller.screen.print(drone.inertial.get_pitch())
wait(0.2, SECONDS)
reset_rotation#
reset_rotation επαναφέρει την τιμή περιστροφής του drone στις 0 μοίρες.
Usage:
drone.inertial.reset_rotation()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Display the new rotation after resetting
drone.take_off(climb_to=500)
drone.turn(RIGHT)
while not drone.inertial.get_rotation() > 360:
wait(5, MSEC)
drone.hover()
drone.inertial.reset_rotation()
wait(1, SECONDS)
print(drone.inertial.get_rotation(), end="")
drone.land()
reset_heading#
reset_heading επαναφέρει την κατεύθυνση του drone στις 0 μοίρες.
Χρήση:
drone.inertial.reset_heading()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Turn to a heading, reset the heading, and turn to the same heading.
drone.take_off(climb_to=500)
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.inertial.reset_heading()
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.land()
set_heading#
set_heading ορίζει την κατεύθυνση του drone σε μια καθορισμένη τιμή σε μοίρες.
Χρήση:
drone.inertial.set_heading(heading)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η τιμή που θα χρησιμοποιηθεί για τη νέα κατεύθυνση στο εύρος 0 έως 359,99 μοίρες. |
# Turn to a heading, set the heading, and turn to the same heading.
drone.take_off(climb_to=500)
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.inertial.set_heading(90)
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.land()
get_acceleration#
get_acceleration επιστρέφει την επιτάχυνση του drone σε μια καθορισμένη κατεύθυνση. Η τιμή που επιστρέφεται αντιπροσωπεύει τον ρυθμό μεταβολής της ταχύτητας, μετρούμενο σε μονάδες g (όπου 1g ≈ 9,81 m/s²), ως πλωτήρα που κυμαίνεται από -4,00 έως 4,00.
Η παρακάτω εικόνα χρησιμοποιεί βέλη για να δείξει την κατεύθυνση της θετικής επιτάχυνσης για εμπρός και δεξιά, και της αρνητικής επιτάχυνσης για προς τα κάτω.

Χρήση:
drone.inertial.get_acceleration(type)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η κατεύθυνση επιτάχυνσης που πρέπει να αναφερθεί:
|
# Display the acceleration as the drone takes off
drone.take_off(500, wait=False)
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print(drone.inertial.get_acceleration(DOWNWARD))
wait(5, MSEC)
get_turn_rate#
get_turn_rate επιστρέφει τον ρυθμό με τον οποίο περιστρέφεται το drone κατά μήκος του καθορισμένου άξονα. Αυτό επιστρέφει μια τιμή σε μοίρες ανά δευτερόλεπτο \(dps\) ως κινητή μεταβλητή από –1000,00 έως 1000,00 dps.
Η παρακάτω εικόνα χρησιμοποιεί βέλη για να δείξει την κατεύθυνση της θετικής περιστροφής για κύλιση, κλίση και εκτροπή.

Usage:
drone.inertial.get_turn_rate(axis)
Παράμετροι |
Περιγραφή |
|---|---|
|
Ποιος προσανατολισμός να αναφερθεί:
|
# Display the drone turn rate as it is rotated by hand.
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(7, 1)
controller.screen.print(drone.inertial.get_turn_rate(ROLL))
Σειρά#
get_distance#
Η συνάρτηση get_distance επιστρέφει την απόσταση μεταξύ του επιλεγμένου αισθητήρα εμβέλειας και του πλησιέστερου αντικειμένου που ανιχνεύθηκε.
Usage:
drone.range.get_distance(range, units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Ο αισθητήρας εμβέλειας που θα χρησιμοποιηθεί: |
|
Προαιρετικά. Η μονάδα απόστασης:
|
# Fly forward until close to an object
drone.take_off(climb_to=500)
drone.move_at(direction=0, velocity=50)
while not drone.range.get_distance(FORWARD_RANGE, MM) < 750:
wait(0.1, SECONDS)
drone.land()
Μπαταρία#
get_battery_level#
Η συνάρτηση get_battery_level επιστρέφει το επίπεδο φόρτισης της μπαταρίας του drone ως ποσοστό. Αυτό επιστρέφει έναν αριθμό από το 0 έως το 100.
Usage:
drone.get_battery_level()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Display the drone's battery level
if drone.get_battery_level() < 25:
controller.screen.print("Charge the drone Battery!")
else:
controller.screen.print("Ready to fly!")