Capteurs#
Introduction#
Le drone VEX AIR est équipé d’un capteur inertiel pour mesurer les mouvements de rotation et détecter les changements de direction, ainsi que d’un télémètre pour mesurer les distances. Il surveille également le niveau de sa batterie. Ces capteurs lui permettent de suivre son orientation, son cap, son accélération et la distance qui le sépare des objets.
Vous trouverez ci-dessous la liste de toutes les méthodes disponibles :
Inertiel - Suivre le mouvement de rotation du drone.
get_rotation– Renvoie de combien le drone a tourné depuis son démarrage.get_heading– Renvoie le cap actuel (0 à 359,99°).get_yaw– Renvoie l’angle de lacet (–180 à 180°).get_roll– Renvoie l’angle de roulis (–180 à 180°).get_pitch– Renvoie l’angle de tangage (–180 à 180°).reset_rotation– Réinitialise la valeur de rotation à 0.reset_heading– Définit le cap actuel à 0.set_heading– Définit l’en-tête sur une valeur spécifique.get_acceleration– Renvoie l’accélération dans une direction spécifique.get_turn_rate– Renvoie le taux de rotation en degrés par seconde.
Portée — Détecte les distances grâce aux capteurs de portée du drone.
get_distance— Renvoie la distance entre le capteur de portée sélectionné et l’objet détecté le plus proche.
Batterie - Affiche le pourcentage de batterie du drone.
get_battery_level– Renvoie le niveau de batterie du drone en pourcentage.
Inertiel#
get_rotation#
get_rotation get_rotation renvoie le nombre de degrés de rotation du drone depuis son démarrage. Elle additionne tous les virages et renvoie le total en degrés : positif pour une rotation horaire, négatif pour une rotation antihoraire.
Usage:
drone.inertial.get_rotation()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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 renvoie l’angle de cap du drone sous forme de nombre flottant compris entre 0 et 359,99 degrés.
Usage:
drone.inertial.get_heading()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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 renvoie l’angle de lacet du drone dans la plage de –180,0 à 180,0 degrés sous forme de nombre flottant.
L’image ci-dessous utilise une flèche pour indiquer le sens de rotation positif du lacet.

Usage:
drone.inertial.get_yaw
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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 renvoie l’angle de roulis du drone dans la plage de –180,0 à 180,0 degrés sous forme de nombre flottant.
L’image ci-dessous utilise une flèche pour indiquer le sens de rotation positif du roulis.

Usage:
drone.inertial.get_roll()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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 renvoie l’angle de tangage du drone dans la plage de –180,0 à 180,0 degrés sous forme de nombre flottant.
L’image ci-dessous utilise une flèche pour indiquer le sens de rotation positif du tangage.

Usage:
drone.inertial.get_pitch()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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 réinitialise la valeur de rotation du drone à 0 degré.
Usage:
drone.inertial.reset_rotation()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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 réinitialise le cap du drone à 0 degré.
Usage:
drone.inertial.reset_heading()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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 définit le cap du drone à une valeur spécifiée en degrés.
Usage:
drone.inertial.set_heading(heading)
Paramètres |
Description |
|---|---|
|
La valeur à utiliser pour le nouveau cap dans la plage de 0 à 359,99 degrés. |
# 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 renvoie l’accélération du drone dans une direction spécifiée. La valeur renvoyée représente le taux de variation de la vitesse, mesuré en unités de g (où 1 g ≈ 9,81 m/s²), sous forme de nombre flottant compris entre -4,00 et 4,00.
L’image ci-dessous utilise des flèches pour indiquer la direction de l’accélération positive vers l’avant et vers la droite, et celle de l’accélération négative vers le bas.

Usage:
drone.inertial.get_acceleration(type)
Paramètres |
Description |
|---|---|
|
Sens de l’accélération à signaler :
|
# 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 get_turn_rate renvoie la vitesse de rotation du drone autour de l’axe spécifié. Elle renvoie une valeur en degrés par seconde \(dps\) sous forme de nombre flottant compris entre -1000,00 et 1000,00 dps.
L’image ci-dessous utilise des flèches pour indiquer le sens de rotation positif pour le roulis, le tangage et le lacet.

Usage:
drone.inertial.get_turn_rate(axis)
Paramètres |
Description |
|---|---|
|
Quelle orientation signaler :
|
# 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))
Gamme#
get_distance#
get_distance renvoie la distance entre le capteur de portée sélectionné et l’objet détecté le plus proche.
Usage:
drone.range.get_distance(range, units)
Paramètres |
Description |
|---|---|
|
Capteur de distance à utiliser : |
|
Optionnel. Unité de distance :
|
# 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()
Batterie#
get_battery_level#
La get_battery_level` renvoie le niveau de charge de la batterie du drone en pourcentage. Elle renvoie un nombre compris entre 0 et 100.
Usage:
drone.get_battery_level()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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!")