Sensörler#
giriiş#
VEX AIR Drone, dönme hareketini ölçmek ve hareket değişikliklerini tespit etmek için bir Atalet Sensörü ve mesafeleri tespit etmek için bir Menzil Sensörü içerir. VEX AIR Drone ayrıca pil seviyesini de takip edebilir. Bu sensörler, dronun yönünü, rotasını, ivmesini ve nesnelere olan mesafesini izlemesini sağlar.
Aşağıda mevcut tüm yöntemlerin listesi bulunmaktadır:
Ataletsel İzleme - Drone’un dönme hareketini takip edin.
get_rotation– Drone’un başladığından beri ne kadar döndüğünü döndürür.get_heading– Geçerli yönü döndürür (0 ila 359,99°).get_yaw– Sapma açısını döndürür (–180 ila 180°).get_roll– Yuvarlanma açısını döndürür (–180 ila 180°).get_pitch– Eğim açısını döndürür (–180 ila 180°).reset_rotation– Döndürme değerini 0’a sıfırlar.reset_heading– Geçerli yönü 0’a ayarlar.set_heading– Başlığı belirli bir değere ayarlar.get_acceleration– Belirli bir yöndeki ivmeyi döndürür.get_turn_rate– Saniyede derece cinsinden dönüş hızını döndürür.
Menzil — Drone’un Menzil Sensörlerinden gelen mesafeleri algılar.
get_distance— Seçilen Menzil Sensörü ile en yakın algılanan nesne arasındaki mesafeyi döndürür.
Pil - Drone’un pil yüzdesini gösterir.
get_battery_level– Drone’un pil seviyesini yüzde olarak döndürür.
Atalet#
get_rotation#
get_rotation , dronun kalkıştan beri kaç derece döndüğünü döndürür. Tüm dönüşleri toplar ve toplamı derece cinsinden döndürür: saat yönünde dönüş için pozitif, saat yönünün tersine dönüş için negatif.
Usage:
drone.inertial.get_rotation()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 fonksiyonu, dronun yön açısını 0 ile 359,99 derece arasında bir ondalık sayı olarak döndürür.
Usage:
drone.inertial.get_heading()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 dronun sapma açısını -180,0 ile 180,0 derece aralığında ondalık sayı olarak döndürür.
Aşağıdaki görselde, sapma açısı için pozitif dönüş yönünü göstermek üzere bir ok kullanılmıştır.

Usage:
drone.inertial.get_yaw
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 dronun yuvarlanma açısını -180,0 ile 180,0 derece aralığında ondalık sayı olarak döndürür.
Aşağıdaki görselde, yuvarlanma hareketinin pozitif dönüş yönünü göstermek için bir ok kullanılmıştır.

Usage:
drone.inertial.get_roll()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 dronun eğim açısını -180,0 ile 180,0 derece aralığında ondalık sayı olarak döndürür.
Aşağıdaki görselde, eğim için pozitif dönüş yönünü göstermek üzere bir ok kullanılmıştır.

Usage:
drone.inertial.get_pitch()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 komutu, dronun dönüş değerini 0 dereceye sıfırlar.
Usage:
drone.inertial.reset_rotation()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 komutu, dronun yönünü 0 dereceye sıfırlar.
Kullanım:
drone.inertial.reset_heading()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 komutu, dronun yönünü derece cinsinden belirtilen bir değere ayarlar.
Kullanım:
drone.inertial.set_heading(heading)
Parametreler |
Tanım |
|---|---|
|
Yeni yön için kullanılacak değer, 0 ile 359,99 derece aralığındadır. |
# 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 fonksiyonu, belirtilen yönde dronun ivmesini döndürür. Döndürülen değer, g biriminde (1g ≈ 9,81 m/s²) ölçülen hızdaki değişim oranını -4,00 ile 4,00 arasında değişen bir ondalık sayı olarak temsil eder.
Aşağıdaki görselde, ileri ve sağa doğru hareketlerde pozitif ivmenin, aşağı doğru hareketlerde ise negatif ivmenin yönünü göstermek için oklar kullanılmıştır.

Kullanım:
drone.inertial.get_acceleration(type)
Parametreler |
Tanım |
|---|---|
|
Bildirilecek ivme yönü:
|
# 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 dronun belirtilen eksen etrafında dönme hızını döndürür. Bu, saniyede derece \(dps\) cinsinden -1000,00 ile 1000,00 dps arasında bir ondalık sayı değeri döndürür.
Aşağıdaki görselde, yuvarlanma, eğim ve sapma hareketlerinin pozitif dönüş yönleri oklarla gösterilmiştir.

Usage:
drone.inertial.get_turn_rate(axis)
Parametreler |
Tanım |
|---|---|
|
Hangi yönelimi bildirmelisiniz:
|
# 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))
Menzil#
get_distance#
get_distance seçilen Mesafe Sensörü ile en yakın algılanan nesne arasındaki mesafeyi döndürür.
Usage:
drone.range.get_distance(range, units)
Parametreler |
Tanım |
|---|---|
|
Kullanılacak Mesafe Sensörü: |
|
İsteğe bağlı. Mesafe birimi:
|
# 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()
Pil#
get_battery_level#
get_battery_level fonksiyonu, dronun pil şarj seviyesini yüzde olarak döndürür. Bu, 0 ile 100 arasında bir sayı döndürür.
Usage:
drone.get_battery_level()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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!")