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.
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.
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.
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.
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.
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.
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.
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.