Sensor#
Perkenalan#
Drone VEX AIR dilengkapi dengan Sensor Inersia untuk mengukur gerakan rotasi dan mendeteksi perubahan gerakan, serta Sensor Jarak untuk mendeteksi jarak. Drone VEX AIR juga dapat memantau level baterainya. Sensor-sensor ini memungkinkan drone untuk melacak orientasi, arah, percepatan, dan jaraknya dari objek.
Berikut adalah daftar semua metode yang tersedia:
Inersia - Melacak pergerakan rotasi drone.
get_rotation– Mengembalikan seberapa banyak drone telah berputar sejak mulai.get_heading– Mengembalikan haluan saat ini (0 hingga 359,99°).get_yaw– Mengembalikan sudut yaw (–180 hingga 180°).get_roll– Mengembalikan sudut roll (–180 hingga 180°).get_pitch– Mengembalikan sudut kemiringan (–180 hingga 180°).reset_rotation– Mengatur ulang nilai rotasi menjadi 0.reset_heading– Mengatur haluan saat ini menjadi 0.set_heading– Mengatur judul ke nilai tertentu.get_acceleration– Mengembalikan percepatan dalam arah tertentu.get_turn_rate– Mengembalikan kecepatan putar dalam derajat per detik.
Jangkauan — Mendeteksi jarak dari Sensor Jangkauan drone.
get_distance— Mengembalikan jarak antara Sensor Jarak yang dipilih dan objek terdekat yang terdeteksi.
Baterai - Menampilkan persentase baterai drone.
get_battery_level– Mengembalikan level baterai drone dalam persen.
Inersia#
get_rotation#
get_rotation mengembalikan jumlah derajat putaran drone sejak awal. Fungsi ini menjumlahkan semua putaran dan mengembalikan total dalam derajat: positif untuk searah jarum jam, negatif untuk berlawanan arah jarum jam.
Usage:
drone.inertial.get_rotation()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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 mengembalikan sudut haluan drone sebagai nilai float dalam rentang 0 hingga 359,99 derajat.
Usage:
drone.inertial.get_heading()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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 mengembalikan sudut yaw drone dalam rentang –180,0 hingga 180,0 derajat sebagai nilai float.
Gambar di bawah ini menggunakan panah untuk menunjukkan arah rotasi positif untuk yaw.

Usage:
drone.inertial.get_yaw
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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 mengembalikan sudut roll drone dalam rentang –180,0 hingga 180,0 derajat sebagai nilai float.
Gambar di bawah ini menggunakan panah untuk menunjukkan arah rotasi positif untuk gerakan berguling (roll).

Usage:
drone.inertial.get_roll()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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 mengembalikan sudut kemiringan drone dalam rentang –180,0 hingga 180,0 derajat sebagai nilai float.
Gambar di bawah ini menggunakan panah untuk menunjukkan arah rotasi positif untuk pitch.

Usage:
drone.inertial.get_pitch()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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 mengatur ulang nilai rotasi drone menjadi 0 derajat.
Usage:
drone.inertial.reset_rotation()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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#
Perintah reset_heading mengatur ulang arah drone ke 0 derajat.
Penggunaan:
drone.inertial.reset_heading()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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 mengatur arah drone ke nilai tertentu dalam derajat.
Penggunaan:
drone.inertial.set_heading(heading)
Parameter |
Keterangan |
|---|---|
|
Nilai yang akan digunakan untuk arah baru dalam rentang 0 hingga 359,99 derajat. |
# 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 mengembalikan percepatan drone dalam arah yang ditentukan. Nilai yang dikembalikan mewakili laju perubahan kecepatan, diukur dalam satuan g (di mana 1g ≈ 9,81 m/s²), sebagai bilangan float yang berkisar dari -4,00 hingga 4,00.
Gambar di bawah ini menggunakan panah untuk menunjukkan arah percepatan positif ke depan dan ke kanan, serta percepatan negatif ke bawah.

Penggunaan:
drone.inertial.get_acceleration(type)
Parameter |
Keterangan |
|---|---|
|
Arah percepatan yang harus dilaporkan:
|
# 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 mengembalikan kecepatan putaran drone di sepanjang sumbu yang ditentukan. Ini mengembalikan nilai dalam derajat per detik \(dps\) sebagai angka desimal dari –1000,00 hingga 1000,00 dps.
Gambar di bawah ini menggunakan panah untuk menunjukkan arah rotasi positif untuk roll, pitch, dan yaw.

Usage:
drone.inertial.get_turn_rate(axis)
Parameter |
Keterangan |
|---|---|
|
Orientasi mana yang harus dilaporkan:
|
# 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))
Jangkauan#
get_distance#
get_distance mengembalikan jarak antara Sensor Jarak yang dipilih dan objek terdekat yang terdeteksi.
Usage:
drone.range.get_distance(range, units)
Parameter |
Keterangan |
|---|---|
|
Sensor Jarak yang digunakan: |
|
Opsional. Satuan jarak:
|
# 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()
Baterai#
get_battery_level#
get_battery_level mengembalikan tingkat pengisian daya baterai drone dalam persentase. Ini mengembalikan angka dari 0 hingga 100.
Usage:
drone.get_battery_level()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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!")