Pengontrol#

Perkenalan#

Kontroler VEX AIM One Stick memiliki empat tombol dan sebuah joystick. Joystick dapat digerakkan sepanjang dua sumbu dan juga dapat ditekan seperti tombol.

Metode pengontrol dapat digunakan untuk memeriksa penekanan tombol, membaca pergerakan joystick, memeriksa status koneksi dan baterai, atau menjalankan fungsi ketika peristiwa pengontrol terjadi.

Berikut adalah daftar semua metode:

Fungsi Getter — Membaca status tombol, joystick, koneksi, dan baterai.

  • .pressing — Mengembalikan apakah tombol yang ditentukan sedang ditekan.

  • .position — Mengembalikan posisi joystick sepanjang sumbu yang ditentukan.

  • is_connected — Mengembalikan apakah pengontrol terhubung.

  • get_battery_level — Mengembalikan level baterai pengontrol.

Callback — Menjalankan fungsi saat input controller berubah.

  • .pressed — Menjalankan fungsi ketika tombol tertentu ditekan.

  • .released — Menjalankan fungsi ketika tombol tertentu dilepaskan.

  • .changed — Menjalankan fungsi ketika posisi joystick berubah sepanjang sumbu yang ditentukan.

Pencari#

.pressing#

.pressing mengembalikan nilai boolean yang menunjukkan apakah tombol tertentu pada controller sedang ditekan. Metode ini harus dipanggil pada objek tombol tertentu, seperti controller.button_up.

  • True — Tombol yang ditentukan sedang ditekan.

  • False — Tombol yang ditentukan tidak ditekan.

Penggunaan:
Salah satu dari lima objek tombol yang tersedia dapat digunakan dengan metode ini:

Tombol

Memerintah

button_up

controller.button_up.pressing() — Tombol Naik

button_down

controller.button_down.pressing() — Tombol Turun

button_left

controller.button_left.pressing() — Tombol Kiri

button_right

controller.button_right.pressing() — Tombol Kanan

button_stick

controller.button_stick.pressing() — Tombol Joystick

Kontroler VEX AIM One Stick dengan joystick di sebelah kiri dan empat tombol di sebelah kanan. Joystick dan keempat tombol tersebut disorot.

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# 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 mengembalikan posisi sumbu joystick sebagai angka dari -100 hingga 100.

Metode ini harus dipanggil pada objek sumbu tertentu, seperti controller.axis1.

Penggunaan:
Salah satu dari dua objek sumbu yang tersedia dapat digunakan dengan metode ini:

Sumbu

Memerintah

axis1

controller.axis1.position() — Sumbu vertikal

axis2

controller.axis2.position() — Sumbu horizontal

Kontroler VEX AIM dengan joystick di sebelah kiri dan empat tombol di sebelah kanan. Sumbu 1 dan 2 untuk joystick ditandai.

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# 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 mengembalikan nilai boolean yang menunjukkan apakah controller terhubung atau tidak.

  • True — Pengontrol terhubung.

  • False — Pengontrol tidak terhubung.

Usage:
controller.is_connected()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# 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 mengembalikan level baterai pengontrol sebagai angka dari 0 hingga 100.

Usage:
controller.get_battery_level()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

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.

Penggunaan:
Salah satu dari lima objek tombol yang tersedia dapat digunakan dengan metode ini:

Tombol

Memerintah

button_up

controller.button_up.pressed(callback, arg) — Tombol Naik

button_down

controller.button_down.pressed(callback, arg) — Tombol Turun

button_left

controller.button_left.pressed(callback, arg) — Tombol Kiri

button_right

controller.button_right.pressed(callback, arg) — Tombol Kanan

button_stick

controller.button_stick.pressed(callback, arg) — Tombol Joystick

Kontroler VEX AIM One Stick dengan joystick di sebelah kiri dan empat tombol di sebelah kanan. Joystick dan keempat tombol tersebut disorot.

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya untuk dijalankan setiap kali tombol yang ditentukan ditekan.

arg

Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Event dengan Parameter untuk informasi selengkapnya.

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

controller.button_up.pressed(kick_object)

.released#

.released menjalankan sebuah fungsi ketika tombol yang ditentukan dilepaskan. Setelah digunakan, fungsi tersebut akan berjalan secara otomatis setiap kali tombol tersebut dilepaskan.

Penggunaan:
Salah satu dari lima objek tombol yang tersedia dapat digunakan dengan metode ini:

Tombol

Memerintah

button_up

controller.button_up.released(callback, arg) — Tombol Naik

button_down

controller.button_down.released(callback, arg) — Tombol Turun

button_left

controller.button_left.released(callback, arg) — Tombol Kiri

button_right

controller.button_right.released(callback, arg) — Tombol Kanan

button_stick

controller.button_stick.released(callback, arg) — Tombol Joystick

Kontroler VEX AIM One Stick dengan joystick di sebelah kiri dan empat tombol di sebelah kanan. Joystick dan keempat tombol tersebut disorot.

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya untuk dijalankan setiap kali tombol yang ditentukan dilepas.

arg

Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Event dengan Parameter untuk informasi selengkapnya.

# 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 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 dua objek sumbu yang tersedia dapat digunakan dengan metode ini:

Sumbu

Memerintah

axis1

controller.axis1.changed(callback, arg) — Sumbu vertikal

axis2

controller.axis2.changed(callback, arg) — Sumbu horizontal

Kontroler VEX AIM dengan joystick di sebelah kiri dan empat tombol di sebelah kanan. Sumbu 1 dan 2 untuk joystick ditandai.

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya untuk dijalankan setiap kali posisi joystick berubah sepanjang sumbu yang ditentukan.

arg

Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Event dengan Parameter untuk informasi selengkapnya.

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

controller.axis1.changed(move_joystick)