Kontrolör#

giriiş#

VEX AIM One Stick Kontrol Cihazı dört düğme ve bir joystick’e sahiptir. Joystick iki eksen boyunca hareket ettirilebilir ve ayrıca bir düğme gibi basılabilir.

Kontrolcü yöntemleri, düğme basımlarını kontrol etmek, joystick hareketlerini okumak, bağlantı ve pil durumunu kontrol etmek veya kontrolcü olayları gerçekleştiğinde işlevleri çalıştırmak için kullanılabilir.

Aşağıda tüm yöntemlerin listesi bulunmaktadır:

Alıcılar — Okuma düğmesi, joystick, bağlantı ve pil durumu.

  • .pressing — Belirtilen bir düğmenin basılıp basılmadığını döndürür.

  • .position — Belirtilen eksen boyunca joystick konumunu döndürür.

  • is_connected — Denetleyicinin 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ı — Kontrolcü girişinde değişiklik olduğunda fonksiyonları çalıştırın.

  • .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ı döndürür. Bu yöntem, controller.button_up gibi belirli bir düğme nesnesi üzerinde çağrılmalıdır.

  • True — Belirtilen düğmeye basılıyor.

  • False — Belirtilen düğmeye basılmıyor.

Usage:
One of five available button objects can be used with this method:

Düğme

Emretmek

button_up

controller.button_up.pressing() — Yukarı düğmesi

button_down

controller.button_down.pressing() — Aşağı düğmesi

button_left

controller.button_left.pressing() — Sol düğmesi

button_right

controller.button_right.pressing() — Sağ düğmesi

button_stick

controller.button_stick.pressing() — Joystick düğmesi

VEX AIM Tek Çubuklu Kumanda, sol tarafta bir joystick ve sağ tarafta dört düğmeden oluşmaktadır. Joystick ve dört düğme vurgulanmıştır.

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# Move forward while the Up button is being pressed
while True:
    if controller.button_up.pressing():
        robot.move_at(0)
    else:
        robot.stop_all_movement()

    wait(20, MSEC)

.position#

.position , bir joystick ekseninin konumunu -100 ile 100 arasında bir sayı olarak döndürür.

Bu yöntem, controller.axis1 gibi belirli bir eksen nesnesi üzerinde çağrılmalıdır.

Usage:
One of two available axis objects can be used with this method:

Eksen

Emretmek

axis1

controller.axis1.position() — Dikey eksen

axis2

controller.axis2.position() — Yatay eksen

Sol tarafta joystick, sağ tarafta dört düğme bulunan VEX AIM kontrol cihazı. Joystickin 1 ve 2 eksenleri vurgulanmıştır.

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# Move forward when the joystick is moved up
while True:
    if controller.axis1.position() > 0:
        robot.move_at(0)
    else:
        robot.stop_all_movement()

    wait(20, MSEC)

is_connected#

is_connected , kontrol cihazının bağlı olup olmadığını döndürür.

  • True — Kontrol cihazı bağlı.

  • False — Kontrol cihazı bağlı değil.

Usage:
controller.is_connected()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# Stop the robot if the controller disconnects
robot.move_at(0)

while True:
    if not controller.is_connected():
        robot.stop_all_movement()

    wait(100, MSEC)

get_battery_level#

get_battery_level get_battery_level kontrol cihazının pil seviyesini 0 ile 100 arasında bir sayı olarak döndürür.

Usage:
controller.get_battery_level()

Parametreler

Tanım

Bu yöntemin parametresi yoktur.

# Display the controller's battery level
robot.screen.print(controller.get_battery_level())

Geri aramalar#

.pressed#

.pressed belirtilen düğmeye basıldığında bir işlevi çalıştırır. Bir kez kullanıldıktan sonra, bu işlev düğmeye her basıldığında otomatik olarak çalışacaktır.

Usage:
One of five available button objects can be used with this method:

Düğme

Emretmek

button_up

controller.button_up.pressed(callback, arg) — Yukarı düğmesi

button_down

controller.button_down.pressed(callback, arg) — Aşağı düğmesi

button_left

controller.button_left.pressed(callback, arg) — Sol düğmesi

button_right

controller.button_right.pressed(callback, arg) — Sağ düğmesi

button_stick

controller.button_stick.pressed(callback, arg) — Joystick düğmesi

VEX AIM Tek Çubuklu Kumanda, sol tarafta bir joystick ve sağ tarafta dört düğmeden oluşmaktadır. Joystick ve dört düğme vurgulanmıştır.

Parametre

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 demet. Daha fazla bilgi için Parametreli Olayları Kullanma bölümüne bakın.

# Kick hard when the Up button is pressed
def kick_object():
    robot.kicker.kick(HARD)

controller.button_up.pressed(kick_object)

.released#

.released belirtilen düğme bırakıldığında bir işlevi çalıştırır. Bir kez kullanıldıktan sonra, bu işlev düğme her bırakıldığında otomatik olarak çalışacaktır.

Usage:
One of five available button objects can be used with this method:

Düğme

Emretmek

button_up

controller.button_up.released(callback, arg) — Yukarı düğmesi

button_down

controller.button_down.released(callback, arg) — Aşağı düğmesi

button_left

controller.button_left.released(callback, arg) — Sol düğmesi

button_right

controller.button_right.released(callback, arg) — Sağ düğme

button_stick

controller.button_stick.released(callback, arg) — Joystick düğmesi

VEX AIM Tek Çubuklu Kumanda, sol tarafta bir joystick ve sağ tarafta dört düğmeden oluşmaktadır. Joystick ve dört düğme vurgulanmıştır.

Parametre

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 demet. Daha fazla bilgi için Parametreli Olayları Kullanma bölümüne bakın.

# Clear the screen after the Up button is released
def clear_screen():
    robot.screen.clear_screen()

controller.button_up.released(clear_screen)

robot.screen.print("Press Up, then")
robot.screen.next_row()
robot.screen.print("Release Up!")

.changed#

.changed joystick’in konumu belirtilen eksen boyunca değiştiğinde bir fonksiyonu çalıştırır. Bir kez kullanıldıktan sonra, joystick’in konumu o eksen boyunca her değiştiğinde fonksiyon otomatik olarak çalışacaktır.

Usage:
One of two available axis objects can be used with this method:

Eksen

Emretmek

axis1

controller.axis1.changed(callback, arg) — Dikey eksen

axis2

controller.axis2.changed(callback, arg) — Yatay eksen

Sol tarafta joystick, sağ tarafta dört düğme bulunan VEX AIM kontrol cihazı. Joystickin 1 ve 2 eksenleri vurgulanmıştır.

Parametre

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 demet. Daha fazla bilgi için Parametreli Olayları Kullanma bölümüne bakın.

# Show an emoji when the joystick moves up or down
def move_joystick():
    robot.screen.show_emoji(CONFUSED)

controller.axis1.changed(move_joystick)