Kontrolör#
giriiş#
VEX AIR Drone Kumandası, 12 düğmeli bir düzene ve iki joystick’e sahiptir. Bu girişler, dronun düğme basışlarını ve joystick hareketlerini algılamasını sağlayarak etkileşimli ve duyarlı kontrol imkanı sunar.
Aşağıda mevcut tüm yöntemlerin listesi bulunmaktadır:
Alıcılar – Okuma düğmesi, joystick ve bağlantı durumu.
pressingbasıyor – Belirli bir düğmenin şu anda basılıp basılmadığını döndürür.position– Belirtilen eksen boyunca joystick’in konumunu döndürür.is_drone_connected– Kumandanın drone’a bağlı olup olmadığını döndürür.get_battery_level– Kontrol cihazının pil seviyesini döndürür.
Geri Çağrı Fonksiyonları – Düğme veya joystick girişindeki değişikliklere yanıt verir.
Getters#
pressing#
pressing kumandadaki belirli bir düğmenin şu anda basılı olup olmadığını gösteren bir Boolean değeri döndürür. Bu yöntem, button5 gibi belirli bir düğme nesnesi üzerinde çağrılmalıdır (düğme nesnelerinin tam listesi aşağıda).
True- Belirtilen düğmeye basılıyor.False- Belirtilen düğmeye basılmıyor.
Usage:
One of eight available buttons, numbered 5 through 12, can be used with this method, as shown below:
Düğme |
Emretmek |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 joystick’in belirtilen ekseninin konumunu -100% ile 100% arasında bir yüzde olarak döndürür.
Kullanım:
Bu yöntemde 1’den 4’e kadar numaralandırılmış dört eksenden biri kullanılabilir.
Eksen |
Emretmek |
|---|---|
|
|
|
|
|
|
|
|

Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 , dronun bağlı olup olmadığını gösteren bir Boolean değer döndürür.
True- Drone bağlı.False- Drone bağlı değil.
Kullanım:
controller.is_drone_connected()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 , kontrol cihazının pil seviyesini %0 ile %100 arasında bir yüzde olarak döndürür.
Kullanım:
controller.get_battery_level()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Show controller's battery level.
if controller.get_battery_level() > 50:
controller.screen.print("Battery level ok")
else:
controller.screen.print("Battery level low")
Geri aramalar#
pressed#
pressed numaralı düğme bir fonksiyon çalıştırır. Bir kez kullanıldıktan sonra, bu fonksiyon düğmeye her basıldığında otomatik olarak çalışacaktır.
Usage:
One of eight available buttons can be used with this method, numbered 5 to 12.
Düğme |
Emretmek |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Parametreler |
Tanım |
|---|---|
|
Belirtilen düğmeye her basıldığında çalıştırılacak önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir tuple. Daha fazla bilgi için Parametreli Olayları Kullanma bölümüne bakın. |
# 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 belirtilen düğme bırakıldığında bir fonksiyon çalıştırır. Bir kez kullanıldıktan sonra, bu düğme her bırakıldığında fonksiyon otomatik olarak çalışacaktır.
Usage:
One of eight available buttons can be used with this method, numbered 5 to 12.
Düğme |
Emretmek |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Parametreler |
Tanım |
|---|---|
|
Belirtilen düğme her bırakıldığında çalıştırılacak önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir tuple. Daha fazla bilgi için Parametreli Fonksiyonları Kullanma bölümüne bakın. |
# 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 joystick’in konumu belirtilen eksen boyunca değiştiğinde bir fonksiyon çalıştırır. Kullanıldıktan sonra, joystick’in konumu o eksen boyunca her değiştiğinde fonksiyon otomatik olarak çalışacaktır.
Kullanım:
Bu yöntemde 1’den 4’e kadar numaralandırılmış dört eksenden biri kullanılabilir.
Eksen |
Emretmek |
|---|---|
|
|
|
|
|
|
|
|

Parametreler |
Tanım |
|---|---|
|
Joystick’in konumu belirtilen eksen boyunca her değiştiğinde çalıştırılacak önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir tuple. Daha fazla bilgi için Parametreli Fonksiyonları Kullanma bölümüne bakın. |
# 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)