Pengontrol#
Perkenalan#
Pengontrol Drone VEX AIR memiliki tata letak 12 tombol dan dua joystick. Input ini memungkinkan drone untuk mendeteksi penekanan tombol dan pergerakan joystick, sehingga memungkinkan kontrol yang interaktif dan responsif.
Berikut adalah daftar semua metode yang tersedia:
Getter – Membaca tombol, joystick, dan status koneksi.
pressing– Mengembalikan nilai true jika tombol tertentu sedang ditekan.position– Mengembalikan posisi joystick sepanjang sumbu yang ditentukan.is_drone_connected– Mengembalikan apakah pengontrol terhubung ke drone.get_battery_level– Mengembalikan level baterai pengontrol.
Callback – Merespons perubahan input tombol atau joystick.
Pencari#
pressing#
Metode pressing mengembalikan nilai Boolean yang menunjukkan apakah tombol tertentu pada controller sedang ditekan. Metode ini harus dipanggil pada objek tombol tertentu, seperti button5 (lihat daftar lengkap objek tombol di bawah).
True- Tombol yang ditentukan sedang ditekan.False- Tombol yang ditentukan tidak ditekan.
Cara Penggunaan:
Salah satu dari delapan tombol yang tersedia, bernomor 5 hingga 12, dapat digunakan dengan metode ini, seperti yang ditunjukkan di bawah ini:
Tombol |
Memerintah |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Take a picture when button 5 is pressed.
drone.take_off(climb_to=500)
while True:
# Fly using the controller sticks
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
# Capture an image from the forward camera when button 5 is pressed.
if controller.button5.pressing():
drone.camera.capture_image(FORWARD_CAMERA)
wait(5, MSEC)
position#
position mengembalikan posisi sumbu joystick yang ditentukan, sebagai persentase dari –100% hingga 100%.
Penggunaan:
Salah satu dari empat sumbu yang tersedia dapat digunakan dengan metode ini, yang diberi nomor 1 hingga 4.
Sumbu |
Memerintah |
|---|---|
|
|
|
|
|
|
|
|

Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Climb when the left joystick is moved up.
drone.take_off(climb_to=500)
while True:
if controller.axis1.position() > 0:
drone.climb(direction=UP, velocity=50)
else:
drone.hover()
wait(5, MSEC)
is_drone_connected#
is_drone_connected mengembalikan nilai Boolean yang menunjukkan apakah drone terhubung atau tidak.
True- Drone terhubung.False- Drone tidak terhubung.
Penggunaan:
controller.is_drone_connected()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Print controller connection status on screen.
while True:
if controller.is_drone_connected():
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Controller connected")
wait(0.5, SECONDS)
get_battery_level#
get_battery_level mengembalikan level baterai Controller, sebagai persentase dari 0% hingga 100%.
Penggunaan:
controller.get_battery_level()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Show controller's battery level.
if controller.get_battery_level() > 50:
controller.screen.print("Battery level ok")
else:
controller.screen.print("Battery level low")
Panggilan balik#
pressed#
pressed menjalankan sebuah fungsi ketika tombol yang ditentukan ditekan. Setelah digunakan, fungsi tersebut akan berjalan secara otomatis setiap kali tombol tersebut ditekan.
Cara Penggunaan:
Salah satu dari delapan tombol yang tersedia dapat digunakan dengan metode ini, bernomor 5 hingga 12.
Tombol |
Memerintah |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Parameter |
Keterangan |
|---|---|
|
Sebuah fungsi yang telah didefinisikan sebelumnya untuk dijalankan setiap kali tombol yang ditentukan ditekan. |
|
Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Event dengan Parameter untuk informasi lebih lanjut. |
# Take a picture when button 5 is pressed.
def take_picture():
drone.camera.capture_image(FORWARD_CAMERA)
# Run take_picture each time button 5 is pressed.
controller.button5.pressed(take_picture)
# Fly using the controller sticks.
drone.take_off(climb_to=500)
while True:
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
released#
released menjalankan sebuah fungsi ketika tombol yang ditentukan dilepaskan. Setelah digunakan, fungsi tersebut akan berjalan secara otomatis setiap kali tombol tersebut dilepaskan.
Cara Penggunaan:
Salah satu dari delapan tombol yang tersedia dapat digunakan dengan metode ini, bernomor 5 hingga 12.
Tombol |
Memerintah |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Parameter |
Keterangan |
|---|---|
|
Sebuah fungsi yang telah didefinisikan sebelumnya untuk dijalankan setiap kali tombol yang ditentukan dilepas. |
|
Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Fungsi dengan Parameter untuk informasi lebih lanjut. |
# Take a picture when button 5 is released.
def take_picture():
drone.camera.capture_image(FORWARD_CAMERA)
# Run take_picture each time button 5 is released.
controller.button5.released(take_picture)
# Fly using the controller sticks.
drone.take_off(climb_to=500)
while True:
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
changed#
changed menjalankan sebuah fungsi ketika posisi joystick berubah sepanjang sumbu yang ditentukan. Setelah digunakan, fungsi tersebut akan berjalan secara otomatis setiap kali posisi joystick berubah sepanjang sumbu tersebut.
Penggunaan:
Salah satu dari empat sumbu yang tersedia dapat digunakan dengan metode ini, yang diberi nomor 1 hingga 4.
Sumbu |
Memerintah |
|---|---|
|
|
|
|
|
|
|
|

Parameter |
Keterangan |
|---|---|
|
Sebuah fungsi yang telah didefinisikan sebelumnya untuk dijalankan setiap kali posisi joystick berubah sepanjang sumbu yang ditentukan. |
|
Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Fungsi dengan Parameter untuk informasi lebih lanjut. |
# Move forward when the left joystick moves.
def on_axis1_changed():
drone.move_for(direction=0, distance=200, velocity=50, units=MM)
drone.take_off(climb_to=500)
controller.axis1.changed(on_axis1_changed)