Pengontrol#
Perkenalan#
Kontroler V5 memiliki tombol, dua joystick, motor getar, dan layar. Metode kontroler dapat digunakan untuk memeriksa penekanan tombol, membaca pergerakan joystick, menggetarkan kontroler, mengaktifkan atau menonaktifkan tindakan kontroler yang telah dikonfigurasi, menjalankan fungsi saat terjadi peristiwa pada kontroler, atau menampilkan teks pada layar kontroler.
Tindakan Controller yang dikonfigurasi adalah perilaku controller yang diatur di menu Perangkat. Gunakan remote_control_code_enabled untuk sementara mengaktifkan atau menonaktifkan tindakan yang dikonfigurasi tersebut selama proyek berlangsung.
Halaman ini menggunakan controller_1 sebagai contoh nama Controller. Ganti dengan nama yang Anda konfigurasi sendiri sesuai kebutuhan.
Berikut adalah daftar semua metode yang tersedia:
Aksi — Getarkan Controller atau aktifkan/nonaktifkan aksi Controller yang telah dikonfigurasi.
rumble— Memainkan pola getaran pada Controller.remote_control_code_enabled— Mengaktifkan atau menonaktifkan tindakan Pengontrol yang dikonfigurasi di menu Perangkat.
Layar — Menampilkan teks dan angka pada layar Pengontrol.
print— Menampilkan teks, angka, atau nilai variabel pada layar Controller.set_cursor— Memindahkan kursor ke baris dan kolom tertentu pada layar Controller.column— Mengembalikan kolom kursor saat ini pada layar Controller.row— Mengembalikan baris kursor saat ini di layar Controller.clear_screen— Membersihkan layar Pengontrol.clear_row— Menghapus satu baris pada layar Controller.next_row— Memindahkan kursor ke baris berikutnya di layar Controller.
Getter — Membaca status tombol dan posisi joystick.
.pressing— Mengembalikan apakah tombol yang ditentukan sedang ditekan..position— Mengembalikan posisi sumbu joystick yang ditentukan.
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.
Konstruktor — Membuat objek Controller secara manual.
Controller— Membuat objek Controller.
Tindakan#
rumble#
rumble memainkan pola getaran pada Controller. Dalam rangkaian pola tersebut, titik adalah getaran pendek, tanda hubung adalah getaran panjang, dan spasi adalah jeda.
Usage:
controller_1.rumble(pattern)
Parameter |
Keterangan |
|---|---|
|
Serangkaian karakter yang terdiri dari titik, tanda hubung, dan spasi yang mewakili pola gemuruh. |
# Rumble the Controller with a short-short-long-long pattern
controller_1.rumble("..--")
remote_control_code_enabled#
remote_control_code_enabled adalah variabel yang mengaktifkan atau menonaktifkan tindakan Controller yang dikonfigurasi di menu Perangkat. Tindakan Controller yang dikonfigurasi diaktifkan secara default.
Usage:
remote_control_code_enabled = state
Nilai |
Keterangan |
|---|---|
|
Mengaktifkan tindakan yang dikonfigurasi pada Controller. |
|
Menonaktifkan tindakan yang dikonfigurasi pada Controller. |
# Drive forward or backward using the left joystick
remote_control_code_enabled = False
while True:
if controller_1.axis3.position() > 0:
drivetrain.drive(FORWARD)
elif controller_1.axis3.position() < 0:
drivetrain.drive(REVERSE)
# Press A to use Controller configured actions again
elif controller_1.buttonA.pressing():
break
else:
drivetrain.stop()
wait(20, MSEC)
remote_control_code_enabled = True
Layar#
Layar V5 Controller memiliki 3 baris dan 19 kolom untuk menampilkan teks dan angka.

print#
controller_1.screen.print menampilkan teks, angka, atau nilai variabel pada layar Controller menggunakan posisi kursor saat ini.
Usage:
controller_1.screen.print(value, sep, precision)
Parameter |
Keterangan |
|---|---|
|
Teks, angka, atau nilai variabel yang akan ditampilkan pada layar Controller. Lebih dari satu nilai dapat dicetak dengan memisahkan nilai-nilai tersebut dengan koma. |
|
Opsional. Sebuah string untuk ditempatkan di antara nilai. Ini harus ditulis sebagai argumen kata kunci, seperti |
|
Opsional. Jumlah tempat desimal yang akan ditampilkan saat mencetak angka sederhana. Ini harus ditulis sebagai argumen kata kunci, seperti |
# Print a number on the Controller screen
controller_1.screen.print(1)
# Print multiple numbers separated by hyphens
controller_1.screen.print(1, 2, 3, 4, sep="-")
# Print a number using one decimal place
controller_1.screen.print(1 / 3, precision=1)
set_cursor#
set_cursor memindahkan kursor ke baris dan kolom tertentu pada layar Controller. Nilai yang dicetak berikutnya akan muncul di posisi tersebut.
Usage:
controller_1.screen.set_cursor(row, col)
Parameter |
Keterangan |
|---|---|
|
Baris kursor, dari |
|
Kolom kursor, dari |
# Print text at row 2, column 1
controller_1.screen.set_cursor(2, 1)
controller_1.screen.print("Ready")
column#
column mengembalikan kolom saat ini tempat teks akan dicetak pada layar Controller.
Usage:
controller_1.screen.column()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Print the current column number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.column())
row#
row mengembalikan baris saat ini tempat teks akan dicetak di layar Controller.
Usage:
controller_1.screen.row()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Print the current row number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.row())
clear_screen#
clear_screen membersihkan layar Controller dan memindahkan kursor kembali ke posisi awal.
Usage:
controller_1.screen.clear_screen()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Print text, then clear the Controller screen
controller_1.screen.print("VEX V5")
wait(2, SECONDS)
controller_1.screen.clear_screen()
clear_row#
clear_row menghapus satu baris pada layar Controller.
Usage:
controller_1.screen.clear_row(row)
Parameter |
Keterangan |
|---|---|
|
Opsional. Baris yang akan dihapus, dari |
# Clear row 2 on the Controller screen
controller_1.screen.clear_row(2)
next_row#
next_row memindahkan kursor ke kolom 1 pada baris berikutnya di layar Controller. Nilai yang dicetak berikutnya akan muncul pada baris tersebut.
Usage:
controller_1.screen.next_row()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Print on two rows
controller_1.screen.print("VEX V5")
controller_1.screen.next_row()
controller_1.screen.print("Controller")
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_1.buttonA.
True— Tombol yang ditentukan sedang ditekan.False— Tombol yang ditentukan tidak ditekan.
Penggunaan:
Salah satu objek tombol yang tersedia dapat digunakan dengan metode ini:

Tombol |
Memerintah |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Turn right while L1 is pressed
while True:
if controller_1.buttonL1.pressing():
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
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_1.axis1.
Penggunaan:
Salah satu objek sumbu yang tersedia dapat digunakan dengan metode ini:

Sumbu |
Memerintah |
|---|---|
|
|
|
|
|
|
|
|
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Turn with the left joystick
remote_control_code_enabled = False
while True:
if controller_1.axis4.position() > 10:
drivetrain.turn(RIGHT)
elif controller_1.axis4.position() < -10:
drivetrain.turn(LEFT)
else:
drivetrain.stop()
wait(20, MSEC)
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 objek tombol yang tersedia dapat digunakan dengan metode ini:

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 selengkapnya. |
# Drive forward when A is pressed
def drive_forward():
drivetrain.drive_for(FORWARD, 100, MM)
controller_1.buttonA.pressed(drive_forward)
.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 objek tombol yang tersedia dapat digunakan dengan metode ini:

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 Event dengan Parameter untuk informasi selengkapnya. |
# Drive backward when A is released
def back_up():
drivetrain.drive_for(REVERSE, 100, MM)
controller_1.buttonA.released(back_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 objek sumbu yang tersedia dapat digunakan dengan metode ini:

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 Event dengan Parameter untuk informasi selengkapnya. |
# Play a sound when the left joystick moves
def tada_sound():
brain.play_sound(SoundType.TADA)
controller_1.axis4.changed(tada_sound)
Konstruktor#
Controller#
Controller membuat objek Controller. Pembuatan objek Controller secara manual hanya diperlukan saat mengkonfigurasi controller di luar VEXcode.
Usage:
Controller(controller_type)
Parameter |
Keterangan |
|---|---|
|
Opsional. Tipe Controller yang akan dibuat: |
# Create the primary Controller
controller_1 = Controller(PRIMARY)
# Create a partner Controller
controller_2 = Controller(PARTNER)