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.

  • pressed – Belirtilen bir düğmeye basıldığında bir fonksiyon çalıştırır.

  • released – Belirtilen bir düğme bırakıldığında bir fonksiyon çalıştırır.

  • changed – Joystick’in konumu belirtilen bir eksen boyunca değiştiğinde bir fonksiyon çalıştırır.

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

button5

controller.button5.pressing() — Button 5

button6

controller.button6.pressing() — Button 6

button7

controller.button7.pressing() — Button 7

button8

controller.button8.pressing() — Button 8

button9

controller.button9.pressing() — Button 9

button10

controller.button10.pressing() — Button 10

button11

controller.button11.pressing() — Button 11

button12

controller.button12.pressing() — Button 12

5'ten 12'ye kadar olan düğmeleri gösteren bir VEX AIR Drone Kumandası. 5 ve 6 numaralı düğmeler kumandanın sağ tarafının arkasında, joystick'e dik konumdadır. 7 ve 8 numaralı düğmeler sol tarafta aynı konumdadır. 9'dan 12'ye kadar olan düğmeler kumandanın alt yüzeyindedir; 9 numaralı düğme 10 numaralı düğmenin üstündeki sağ üst köşede, 11 numaralı düğme ise 12 numaralı düğmenin üstündeki sol üst köşededir.

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

axis1

controller.axis1.position() — Sol joystick dikey ekseni

axis2

controller.axis2.position() — Sol joystick yatay ekseni

axis3

controller.axis3.position() — Sağ joystick yatay ekseni

axis4

controller.axis4.position() — Sağ joystick dikey ekseni

Sol kumanda kolunun etrafında Eksen 1 ve 2 etiketleri, sağ kumanda kolunun etrafında ise Eksen 3 ve 4 etiketleri vurgulanmış bir VEX AIR Drone Kumandası.

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

button5

controller.button5.pressing() — Button 5

button6

controller.button6.pressing() — Button 6

button7

controller.button7.pressing() — Button 7

button8

controller.button8.pressing() — Button 8

button9

controller.button9.pressing() — Button 9

button10

controller.button10.pressing() — Button 10

button11

controller.button11.pressing() — Button 11

button12

controller.button12.pressing() — Button 12

5'ten 12'ye kadar olan düğmeleri gösteren bir VEX AIR Drone Kumandası. 5 ve 6 numaralı düğmeler kumandanın sağ tarafının arkasında, joystick'e dik konumdadır. 7 ve 8 numaralı düğmeler sol tarafta aynı konumdadır. 9'dan 12'ye kadar olan düğmeler kumandanın alt yüzeyindedir; 9 numaralı düğme 10 numaralı düğmenin üstündeki sağ üst köşede, 11 numaralı düğme ise 12 numaralı düğmenin üstündeki sol üst köşededir.

Parametreler

Tanım

callback

Belirtilen düğmeye her basıldığında çalıştırılacak önceden tanımlanmış bir fonksiyon.

arg

İ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

button5

controller.button5.pressing() — Button 5

button6

controller.button6.pressing() — Button 6

button7

controller.button7.pressing() — Button 7

button8

controller.button8.pressing() — Button 8

button9

controller.button9.pressing() — Button 9

button10

controller.button10.pressing() — Button 10

button11

controller.button11.pressing() — Button 11

button12

controller.button12.pressing() — Button 12

5'ten 12'ye kadar olan düğmeleri gösteren bir VEX AIR Drone Kumandası. 5 ve 6 numaralı düğmeler kumandanın sağ tarafının arkasında, joystick'e dik konumdadır. 7 ve 8 numaralı düğmeler sol tarafta aynı konumdadır. 9'dan 12'ye kadar olan düğmeler kumandanın alt yüzeyindedir; 9 numaralı düğme 10 numaralı düğmenin üstündeki sağ üst köşede, 11 numaralı düğme ise 12 numaralı düğmenin üstündeki sol üst köşededir.

Parametreler

Tanım

callback

Belirtilen düğme her bırakıldığında çalıştırılacak önceden tanımlanmış bir fonksiyon.

arg

İ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

axis1

controller.axis1.position() — Sol joystick dikey ekseni

axis2

controller.axis2.position() — Sol joystick yatay ekseni

axis3

controller.axis3.position() — Sağ joystick yatay ekseni

axis4

controller.axis4.position() — Sağ joystick dikey ekseni

Sol kumanda kolunun etrafında Eksen 1 ve 2 etiketleri, sağ kumanda kolunun etrafında ise Eksen 3 ve 4 etiketleri vurgulanmış bir VEX AIR Drone Kumandası.

Parametreler

Tanım

callback

Joystick’in konumu belirtilen eksen boyunca her değiştiğinde çalıştırılacak önceden tanımlanmış bir fonksiyon.

arg

İ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)