Kode Pengontrol Kustom di VEXcode V5

Dengan menggunakan Pengendali, Anda dapat lebih mudah mengendalikan dan menggerakkan robot untuk menyelesaikan tugas. Namun, ada keterbatasan dalam menggunakan program Drive, dan bergantung pada rancangan robot atau tugas yang dihadapi, Anda mungkin menginginkan kontrol yang berbeda. Pengkodean Pengendali memungkinkan Anda mengoptimalkan Pengendali agar lebih sesuai dengan robot dan tugas yang sedang dikerjakan. Ada beberapa cara untuk membuat kode Controller dalam VEXcode V5. Masing-masing memiliki kelebihan dan keterbatasan, dan beberapa metode lebih cocok untuk situasi tertentu tergantung pada hasil yang diinginkan.

Artikel ini akan memandu Anda melalui tiga opsi berbeda untuk membuat kode khusus Controller di VEXcode V5. Setiap metode akan dijelaskan dengan kelebihan, keterbatasan, dan contoh kasus penggunaan untuk membantu memandu Anda saat memilih suatu metode. Untuk keperluan artikel ini, semua contoh kode yang ditampilkan dibuat untuk Clawbot. Namun, konsep yang sama dapat diterapkan pada sejumlah build lain yang ditemukan di builds.vex.com, dan build khusus.

Opsi 1: Menetapkan Tombol dalam Konfigurasi Perangkat

Pilihan ini sangat bagus jika Anda menggunakan build standar, seperti Speedbot atau Clawbot, dan ingin segera memulai dan menjalankannya.

Opsi ini memungkinkan Anda menetapkan motor, drivetrain, atau grup motor ke tombol pada Pengontrol dalam Konfigurasi Perangkat. Untuk informasi lebih lanjut tentang cara menetapkan tombol ke Pengontrol dalam Konfigurasi Perangkat, lihat artikel ini.

Diagram yang mengilustrasikan blok V5 untuk pemrograman, menampilkan berbagai jenis blok dan koneksinya dalam format visual untuk membantu pemahaman tutorial pengkodean berbasis blok.

Ringkasan Opsi 1: Menetapkan Tombol dalam Konfigurasi Perangkat

Keuntungan

Keterbatasan

Contoh Situasi

  • Pengaturan cepat tanpa perlu coding
  • Metode paling sederhana
  • Mudah disesuaikan
  • Dapat menetapkan motor individual, drivetrain standar, dan grup motor ke tombol
  • Penugasan tombol dibatasi pada jumlah tombol pada Pengontrol
  • Sistem penggerak tidak boleh melebihi 4 motor atau disesuaikan (hanya penggerak standar yang didukung, bukan penggerak H, holonomic, atau sistem penggerak khusus lainnya)
  • Memanipulasi bangunan standar seperti Speedbot, Clawbot, atau modifikasi sederhana dari bangunan standar tersebut. Misalnya, Speedbot dengan intake yang terpasang di bagian depan yang dikendalikan oleh grup motor.
  • Memanipulasi tombol mana yang sesuai dengan perilaku berbeda pada robot dengan cepat tanpa banyak pengkodean

Opsi 2: Menggunakan Forever Loop

Jika Anda menggunakan build khusus dan bukan build standar, atau ingin memiliki lebih banyak kustomisasi pada Controller Anda, opsi ini adalah pilihan yang bagus. Menggunakan loop Forever merupakan cara yang bagus untuk membuat kode khusus bagi Controller Anda.

Opsi ini menempatkan semua kondisi untuk Pengontrol, dan tombol-tombol terkaitnya, dalam loop Selamanya. Hal ini memberikan lebih banyak fleksibilitas, terutama dengan desain bangunan khusus, tetapi juga memerlukan beberapa pengalaman pengkodean. Namun, satu pertimbangan saat menggunakan opsi ini adalah panjang dan kompleksitas proyek Anda. Semakin banyak kondisi yang ditambahkan, tumpukan kode akan menjadi semakin panjang. Artinya, beberapa blok harus dieksekusi secara berurutan, dan jika terdapat banyak blok, hal ini dapat memperlambat eksekusi proyek. Eksekusi proyek yang lebih lambat dapat menyebabkan jeda antara menekan tombol Pengontrol dan melihat perilaku robot.

Contoh spesifik yang ditunjukkan di bawah ini adalah salah satu cara Anda dapat menggunakan loop Forever dengan robot desain khusus (seperti robot dengan drivetrain khusus) untuk menggerakkan robot dan memanipulasi cakar dan lengan untuk berinteraksi dengan objek.

Diagram yang mengilustrasikan tutorial blok V5, memamerkan berbagai jenis blok dan koneksinya dalam tata letak yang jelas dan terorganisir untuk meningkatkan pemahaman pemrograman robotika VEX.

Unduh file proyek VEXcode V5 "Opsi 2" >

Penjelasan Kode Opsi 2.

Potongan Kode

Penjelasan

Diagram yang mengilustrasikan komponen blok V5 dan fungsinya dalam format tutorial, menampilkan berbagai jenis blok dan koneksi untuk tujuan pendidikan.

Clawbot digunakan untuk contoh kode ini. Bila tombol pada Pengendali digunakan untuk menaikkan dan menurunkan lengan, begitu tombol dilepaskan, lengan akan jatuh kembali karena gaya gravitasi. Mengatur lengan dan cakar ke "tahan" akan memastikan bahwa lengan dan cakar akan tetap di tempatnya bahkan setelah tombol pada Pengontrol dilepaskan.

Diagram yang mengilustrasikan komponen blok V5 dan fungsinya, digunakan dalam bagian Tutorial Blok di Basis Pengetahuan VEX, memamerkan berbagai jenis blok dan koneksinya untuk tujuan pendidikan. Diagram yang mengilustrasikan blok V5 dengan komponen dan koneksi berlabel, digunakan dalam tutorial untuk memahami pemrograman blok dalam robotika VEX.

Clawbot digunakan untuk contoh kode ini. Bila tombol pada Pengendali digunakan untuk menaikkan dan menurunkan lengan, begitu tombol dilepaskan, lengan akan jatuh kembali karena gaya gravitasi. Mengatur lengan dan cakar ke "tahan" akan memastikan bahwa lengan dan cakar akan tetap di tempatnya bahkan setelah tombol pada Pengontrol dilepaskan.

Loop Forever digunakan untuk terus memeriksa tombol mana yang ditekan pada Pengontrol.

Blok [Atur kecepatan motor] digunakan untuk mengatur kecepatan motor ke posisi Pengendali saat ini sepanjang sumbu 2 dan 3. Ini sama saja dengan menyetel mobil ke posisi drive. Itu belum tentu membuat mobil bergerak, hanya mengaturnya.

Setiap sumbu joystick mengembalikan nilai antara -100 hingga +100, dan mengembalikan nilai nol saat dipusatkan. Ini berarti bahwa sumbu joystick, ketika ditekan, setara dengan -100% hingga 100%. Semakin jauh ke arah 100 atau -100 sumbu didorong, semakin cepat motor akan berputar.

Blok [Spin] kemudian digunakan untuk benar-benar menggerakkan motor. Ini sama saja dengan menekan gas pada mobil setelah arahnya sudah ditetapkan. Hal ini memungkinkan setiap motor dikontrol oleh salah satu dari empat sumbu Pengendali.

Diagram yang mengilustrasikan blok V5 untuk tutorial pemrograman, memamerkan berbagai jenis blok dan koneksinya, yang dirancang untuk meningkatkan pemahaman konsep pengkodean dalam konteks pendidikan.

Clawbot digunakan untuk contoh kode ini. Bila tombol pada Pengendali digunakan untuk menaikkan dan menurunkan lengan, begitu tombol dilepaskan, lengan akan jatuh kembali karena gaya gravitasi. Mengatur lengan dan cakar ke "tahan" akan memastikan bahwa lengan dan cakar akan tetap di tempatnya bahkan setelah tombol pada Pengontrol dilepaskan.

Blok [If then else if then else] digunakan untuk memetakan perilaku tertentu ke tombol yang ditekan atau dilepaskan pada Pengontrol. Pada bagian kode ini, kondisi yang ditetapkan adalah jika tombol Atas atau Bawah ditekan. Jika demikian, perilaku tertentu akan terjadi, seperti mengangkat dan menurunkan lengan. Ada pula bagian lain dari kondisi tersebut, jika tidak ada tombol yang ditekan, lengan diatur untuk berhenti bergerak.

Perhatikan bagian kode berikut dalam proyek untuk Claw mengikuti penjelasan yang sama.

Ringkasan Opsi 2: Menggunakan Forever Loop

Keuntungan

Keterbatasan

Contoh Situasi

  • Dapat mengakomodasi pembuatan khusus, terutama drivetrain dengan lebih dari 4 motor
  • Dapat menetapkan beberapa perilaku ke satu tombol
  • Dapat menetapkan perilaku ke sumbu yang berbeda pada Pengontrol (berbeda dengan satu-satunya opsi Arcade Kiri, Arcade Kanan, Arcade Terpisah, dan Penggerak Tangki dalam Konfigurasi Perangkat)
  • Memerlukan sejumlah pengetahuan pengkodean (kondisi, loop, dan pengetahuan tentang tombol/joystick pada Pengontrol)
  • Potensi pelaksanaan proyek menjadi lebih lambat, atau tertundanya waktu respons tombol. Karena semua perintah berada dalam satu loop Forever, eksekusi kode dapat berjalan lambat, tergantung pada kondisi yang ditetapkan dan panjang kode.
  • Menggunakan Controller dengan robot yang dibuat khusus, terutama dengan drivetrain non-standar
  • Saat ingin menetapkan beberapa perilaku ke satu tombol. Misalnya, saat Tombol Atas ditekan, Cakar dapat terbuka, bergerak maju, dan kemudian menutup di sekitar suatu objek.

Opsi 3: Menggunakan Acara

Jika Anda menginginkan banyak penyesuaian pada Pengontrol Anda, Menggunakan Peristiwa adalah pilihan terbaik bagi Anda. Menekan satu tombol dapat memicu beberapa perilaku robot, seperti menekan tombol untuk membuka cakar, mengangkat lengan, dan melaju ke depan sejauh jarak tertentu. Mencoba mengodekan beberapa perilaku per tombol dalam loop Forever akan menyebabkan eksekusi proyek melambat drastis – menggunakan Events memungkinkan Anda melakukannya dengan lebih efektif.

Opsi ini menggunakan Peristiwa untuk memecah alur proyek. Ini serupa dengan penggunaan loop Forever, tetapi memungkinkan kode menjadi lebih terorganisasi, sehingga eksekusi tombol memiliki waktu respons yang lebih cepat. Waktu respons yang lebih cepat berarti Anda tidak akan melihat jeda antara menekan tombol Pengontrol dan melihat perilaku robot. Contoh ini menunjukkan perilaku yang sama seperti proyek sebelumnya, tetapi dilakukan dengan menggunakan Events, bukan Forever Loop.

Ilustrasi blok V5 yang digunakan dalam tutorial, memamerkan berbagai jenis blok dan koneksinya, menunjukkan cara membangun dan memprogram dengan robotika VEX V5.

Unduh file proyek VEXcode V5 "Opsi 3" >

Penjelasan Kode Opsi 3.

Potongan Kode

Penjelasan

Diagram yang mengilustrasikan berbagai blok V5 yang digunakan dalam tutorial robotika, memamerkan fungsi dan koneksinya untuk tujuan pendidikan.

Clawbot digunakan untuk contoh kode ini. Bila tombol pada Pengendali digunakan untuk menaikkan dan menurunkan lengan, begitu tombol dilepaskan, lengan akan jatuh kembali karena gaya gravitasi. Mengatur lengan dan cakar ke "tahan" akan memastikan bahwa lengan dan cakar akan tetap di tempatnya bahkan setelah tombol pada Pengontrol dilepaskan.

Diagram yang mengilustrasikan blok V5 dalam tutorial robotika, memamerkan berbagai jenis blok dan koneksinya untuk tugas pemrograman. Diagram yang mengilustrasikan blok V5 dengan komponen dan koneksi berlabel, digunakan dalam tutorial untuk memahami pemrograman blok dalam robotika VEX.

Clawbot digunakan untuk contoh kode ini. Bila tombol pada Pengendali digunakan untuk menaikkan dan menurunkan lengan, begitu tombol dilepaskan, lengan akan jatuh kembali karena gaya gravitasi. Mengatur lengan dan cakar ke "tahan" akan memastikan bahwa lengan dan cakar akan tetap di tempatnya bahkan setelah tombol pada Pengontrol dilepaskan.

{When controller axis} Blok peristiwa digunakan untuk memicu perilaku tertentu ketika salah satu dari empat sumbu pada Pengendali diubah dengan menggunakan joystick.

Blok [Atur kecepatan motor] digunakan untuk mengatur kecepatan motor ke posisi Pengendali saat ini sepanjang sumbu A dan D. Ini sama saja dengan menyetel mobil ke posisi drive. Itu belum tentu membuat mobil bergerak, hanya mengaturnya.

Setiap sumbu joystick mengembalikan nilai antara -100 hingga +100, dan mengembalikan nilai nol saat dipusatkan. Ini berarti bahwa sumbu joystick, ketika ditekan, setara dengan -100% hingga 100%. Semakin jauh ke arah 100 atau -100 sumbu didorong, semakin cepat motor akan berputar.

Blok [Spin] kemudian digunakan untuk benar-benar menggerakkan motor. Ini sama saja dengan menekan gas pada mobil setelah arahnya sudah ditetapkan. Hal ini memungkinkan setiap motor dikontrol oleh salah satu dari empat sumbu Pengendali.

Diagram yang mengilustrasikan blok V5 yang digunakan dalam tutorial pemrograman, memamerkan berbagai jenis blok dan fungsinya dalam sistem VEX Robotics.

Clawbot digunakan untuk contoh kode ini. Bila tombol pada Pengendali digunakan untuk menaikkan dan menurunkan lengan, begitu tombol dilepaskan, lengan akan jatuh kembali karena gaya gravitasi. Mengatur lengan dan cakar ke "tahan" akan memastikan bahwa lengan dan cakar akan tetap di tempatnya bahkan setelah tombol pada Pengontrol dilepaskan.

{When controller axis} Blok peristiwa digunakan untuk memetakan perilaku tertentu ke tombol yang ditekan atau dilepaskan pada Pengontrol. Pada bagian kode ini, kondisi yang ditetapkan adalah jika tombol Atas atau Bawah ditekan. Jika demikian, perilaku tertentu akan terjadi, seperti mengangkat, menurunkan, atau berhenti.

Perhatikan bagian terakhir kode dalam proyek untuk Claw mengikuti penjelasan yang sama.

Ringkasan Opsi 3: Menggunakan Peristiwa

Keuntungan

Keterbatasan

Contoh Situasi

  • Dapat mengakomodasi pembuatan khusus, terutama drivetrain dengan lebih dari 4 motor
  • Dapat menetapkan beberapa perilaku ke satu tombol
  • Dapat menetapkan perilaku ke sumbu yang berbeda pada Pengontrol (berbeda dengan satu-satunya opsi Arcade Kiri, Arcade Kanan, Arcade Terpisah, dan Penggerak Tangki dalam Konfigurasi Perangkat)
  • Eksekusi kode yang lebih cepat dan dengan demikian, respons tombol (karena setiap kondisi dipanggil secara terpisah dan tidak tertanam dalam satu tumpukan kode)
  • Memerlukan pengetahuan pengkodean paling banyak tentang opsi (kondisi, loop, acara, dan pengetahuan tentang tombol/joystick pada Pengontrol)
  • Menggunakan Controller dengan robot yang dibuat khusus, terutama dengan drivetrain non-standar
  • Saat ingin menetapkan beberapa perilaku ke tombol tunggal tanpa jeda. Misalnya, saat Tombol Atas ditekan, Cakar dapat terbuka, bergerak maju, dan kemudian menutup di sekitar suatu objek.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: