Pengkodean dengan VEX IQ Smart Motors

Motor Cerdas VEX IQ memiliki banyak fungsi untuk digunakan saat membuat kode dalam VEXcode IQ. Ini dapat berguna saat membuat kode lengan, cakar, dan intake serta drivetrain dan mekanisme lain yang dibuat menggunakan VEX IQ. Memahami bagaimana motor dapat dikodekan akan membantu meringankan masalah seperti proyek terhenti atau motor tidak bekerja sebagaimana mestinya.

Pengkode Motor

Motor Cerdas VEX IQ tidak hanya mengubah energi listrik menjadi energi mekanik seperti kebanyakan motor lainnya, tetapi juga memiliki fitur-fitur yang tidak dimiliki kebanyakan motor lainnya, sehingga menjadikannya “cerdas.” Salah satu fitur utamanya adalah enkoder kuadratur. Encoder ini dipasang di bagian dalam motor untuk melacak kecepatan dan/atau posisi poros motor.

Laporan dari encoder VEX IQ Smart Motor memungkinkan untuk mengetahui:

  • Arah putaran motor (maju/mundur atau terbuka/tertutup)
  • Posisi motor dan jumlah putaran dan posisi motor (dalam putaran atau derajat)
  • Kecepatan putaran motor (berdasarkan posisi encoder dari waktu ke waktu)

Karena encoder melaporkan status motor, status tersebut dapat digunakan dalam kalkulasi di balik layar untuk membuat banyak perintah Gerakan dan Penginderaan berfungsi dalam VEXcode IQ.

Pengkodean Motor Individual

Sebelum mulai membuat kode motor pintar individual di VEXcode IQ, Anda perlu mengonfigurasi motornya. Motor individual sering digunakan untuk mekanisme tambahan seperti intake, lengan, dan cakar. Namun semua informasi tersebut masih berlaku untuk mekanisme lain yang menggunakan motor individual.

Menu Perangkat VEXcode IQ dengan daftar perangkat yang terhubung ditampilkan. Motor Cerdas disorot, menunjukkan bahwa motor tersebut dapat dikonfigurasi setelah memilihnya.

Ikuti langkah-langkah dalam artikel ini untuk mengonfigurasi motor individual Anda di VEXcode IQ.

Dengan satu motor yang dikonfigurasi, perintah untuk mengendalikan motor tersebut akan muncul di Kotak Alat. Anda akan melihat ada berbagai jenis perintah: menunggu dan tidak menunggu.

Perintah Menunggu versus Perintah Tidak Menunggu

Perhatikan bahwa semua gambar di sini menunjukkan balok. Semua proyek ini dapat dibangun kembali dalam Python atau C++ dan berisi fungsionalitas yang sama seperti blok.

VEXcode IQ memblokir proyek yang menggunakan perintah menunggu untuk menggerakkan motor cakar, lalu robot, dan kemudian motor lengan satu demi satu. Proyek tersebut berbunyi Saat dimulai, putar ClawMotor hingga 90 derajat. Berikutnya, gerakkan mundur sejauh 200 mm lalu putar ArmMotor ke posisi 180 derajat.

Perintah menunggu menghalangi proyek untuk dilanjutkan hingga perilaku tersebut selesai. Ini termasuk perintah seperti [Putar untuk] dan [Putar ke posisi].

Proyek yang ditunjukkan di sini menggunakan templat Clawbot (2-motor) dan semua perintahnya menunggu. Jadi secara seri, motor cakar akan menutup 90 derajat, robot akan bergerak mundur, lalu lengan akan berputar ke atas hingga mencapai posisi 180 derajat.

VEXcode IQ memblokir proyek yang menggunakan perintah tanpa menunggu untuk memutar motor pemasukan tepat selama 2 detik. Proyek tersebut berbunyi Saat dimulai, putar IntakeMotor, tunggu 2 detik, lalu hentikan IntakeMotor.

Sebaliknya ada perintah yang tidak menunggu. Perintah yang tidak menunggu akan mengeksekusi perilaku tersebut tanpa batas waktu atau hingga diperintahkan untuk berubah ke perilaku lain. Ini termasuk perintah seperti [Putar].

Proyek yang ditunjukkan di sini menggunakan BaseBot dengan intake tambahan. Di sini motor pemasukan akan mulai berputar. Perintah [Tunggu] adalah perintah menunggu, jadi intake akan terus berputar hingga 2 detik habis, lalu pindah ke perintah berikutnya dalam proyek, yaitu perintah [Berhenti]. Lalu motornya berhenti berputar.

Waktu Habis Motor

Saat mengodekan motor sebagai bagian dari lengan atau cakar, penting untuk diingat perbedaan antara blok yang menunggu dan yang tidak menunggu dan bagaimana hal itu akan memengaruhi pergerakan robot Anda. Batas waktu motor memungkinkan Anda menetapkan batas waktu bagi motor untuk mencapai posisi target yang dituju. Jika belum menemui posisi itu saat waktu habis, motor akan berhenti mencoba berputar dan proyek akan berpindah ke perintah berikutnya.

Blok VEXcode IQ memproyeksikan yang menggunakan blok batas waktu motor untuk memutar motor cakar hingga tertutup selama 90 derajat atau hingga 2 detik berlalu sebelum menggerakkan robot. Proyek tersebut berbunyi Saat dimulai, atur batas waktu ClawMotor ke 2 detik dan putar ClawMotor hingga tertutup sejauh 90 derajat. Terakhir, putar mundur sejauh 200 mm.

Dalam contoh ini, batas waktu motor ditetapkan pada 2 detik. Jika cakar tidak menutup hingga 90 derajat dalam waktu 2 detik, motor akan berhenti berputar pada tanda 2 detik, lalu beralih ke perintah berikutnya dan melaju maju.

Layar otak ditampilkan dengan Dashboard Sensor Motor yang dibuka dari menu Perangkat. Informasi ditampilkan tentang motor seperti perintah, kecepatan, posisi, arus, dan Smart Port motor.

Jika Anda tidak yakin seberapa jauh menggerakkan motor, gunakan dasbor sensor. Dasbor melaporkan posisi motor dalam derajat dan putaran, jadi saat Anda menggerakkan motor (seperti membuka dan menutup cakar), angkanya akan berubah. Gunakan pengujian ini untuk menentukan berapa derajat atau putaran yang dibutuhkan untuk menutup cakar, mengangkat lengan, memutar intake, dan sebagainya.

Lihat artikel ini untuk mempelajari cara menggunakan dasbor sensor.

Mengkodekan Motor Cerdas sebagai Bagian dari Sistem Penggerak

Sebelum mulai membuat kode drivetrain di VEXcode IQ, Anda perlu mengonfigurasi drivetrain termasuk motor yang digunakan. Motor dikonfigurasikan dalam drivetrain untuk memastikannya dikontrol dengan perintah yang sama seperti [Drive] dan [Drive for].

Perintah Menunggu dan Tidak Menunggu

Saat mengodekan drivetrain, perintah menunggu dan tidak menunggu tersedia untuk mengendalikan pergerakan robot.

VEXcode IQ memblokir proyek yang menggunakan perintah menunggu untuk menggerakkan robot maju dan kemudian berbelok ke kanan satu demi satu. Proyek tersebut berbunyi: Saat memulai, maju sejauh 200 mm dan kemudian belok kanan sejauh 90 derajat.

Perintah menunggu menghalangi proyek untuk dilanjutkan hingga perilaku tersebut selesai. Perintah-perintah tersebut termasuk [Berkendara ke], [Berbelok ke], dan [Berbelok ke arah].

Proyek yang ditunjukkan di sini menggunakan templat Clawbot (2-motor) dan semua perintahnya menunggu. Jadi secara seri, robot akan bergerak maju sejauh 200 milimeter lalu berbelok ke kanan, semuanya dengan menggunakan drivetrain.

VEXcode IQ memblokir proyek yang menggunakan perintah tanpa menunggu untuk menggerakkan robot maju hingga Bumper ditekan, lalu berbelok ke kanan. Proyek tersebut berbunyi Saat memulai, maju terus, tunggu hingga Bumper3 ditekan, lalu belok kanan sejauh 90 derajat.

Sebaliknya ada perintah yang tidak menunggu. Perintah yang tidak menunggu akan mengeksekusi perilaku tersebut tanpa batas waktu atau hingga diperintahkan untuk berubah ke perilaku lain. Ini termasuk perintah seperti [Drive].

Proyek yang ditunjukkan di sini menggunakan BaseBot. Di sini robot akan melaju maju tanpa batas hingga Bumper Switch ditekan. Kemudian proyek akan berpindah ke perintah berikutnya dan robot akan berhenti melaju dan berbelok ke kanan sejauh 90 derajat.

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

Last Updated: