Langsung ke konten utama

Pelajaran 3: Berkendara ke Nomor '31'

Dalam Pelajaran ini, Robot VR akan mengemudi ke angka '31' dan kemudian kembali ke angka '1' pada Peta Kisi Angka Playground!

Tampilan dari atas taman bermain Peta Kisi Angka, dengan angka 31 ditandai dengan kotak merah. Robot VR tersebut memulai dari nomor 1, dan kotak nomor 31 berada tiga kotak di atasnya.

Perhatikan bahwa Robot VR akan bergerak sepanjang sumbu Y untuk menuju angka '31' pada Peta Grid Angka Playground.

Tampilan dari atas area bermain Peta Kisi Angka, dengan ruang nomor 31 ditandai dengan kotak hitam. Garis tersebut menunjukkan pengukuran di sepanjang sumbu Y, dengan spasi pertama adalah -900 milimeter pada sumbu Y, dan spasi berikutnya adalah -700, dan seterusnya dengan kelipatan 200 setiap kali. Ruang nomor 31 berada pada lokasi Y sebesar -300 milimeter.

Robot VR akan bergerak ke lokasi angka '31' pada Peta Grid Angka Playground. Namun, sebelum Robot VR dapat menuju ke angka tersebut, Robot VR harus diberi tahu di mana lokasi angka tersebut berada. Koordinat angka '31' adalah (-900, -300).

Tampilan dari atas lapangan bermain Peta Kisi Angka, dengan dua indikator sumbu yang menandai lokasi ruang angka 31. Robot VR dimulai pada koordinat -900 X dan -900 Y, sedangkan ruang nomor 31 berada pada koordinat -900 X dan -300 Y.
  • Seret blok [Drive] yang tidak menunggu ke ruang kerja.

    Sebuah proyek blok VEXcode VR baru yang dimulai dengan blok When Started diikuti oleh blok Drive Forward.
  • Tambahkan blok [Tunggu sampai] di bawah blok [Kendaraan].

    Kelanjutan dari proyek blok VEXcode VR, sekarang dengan blok Tunggu Hingga ditambahkan setelah blok Maju. Seluruh proyek sekarang berbunyi: Saat Dimulai, Maju Terus dan Tunggu Hingga. Blok Wait Until memiliki parameter boolean kosong.
  • Seret blok pelapor Boolean <Greater than> ke dalam blok [Tunggu sampai].

    Kelanjutan dari proyek blok VR VEXcode, sekarang dengan blok "Lebih Besar Dari" yang disisipkan ke dalam blok "Tunggu Hingga". Seluruh proyek sekarang berbunyi "Saat Dimulai, Maju Terus" diikuti oleh blok "Tunggu Hingga" dengan blok "Lebih Besar Dari" di dalamnya yang berbunyi "kosong lebih besar dari 50".
  • Perhatikan bahwa blok <Greater than> digunakan sebagai pengganti blok <Less than> karena Robot VR bergerak naik dari bagian bawah Taman Bermain. Robot VR dimulai pada nilai Y sebesar -900 milimeter (mm). Saat robot VR bergerak maju, nilai Y meningkat.

    Tampilan dari atas yang sama dari area bermain Peta Kisi Angka dengan dua indikator sumbu yang menandai lokasi ruang angka 31 seperti sebelumnya. Robot VR dimulai pada koordinat -900 X dan -900 Y, sedangkan ruang nomor 31 berada pada koordinat -900 X dan -300 Y.
  • Seret blok (Posisi Robot) ke dalam blok <Greater than>.

    Kelanjutan dari proyek blok VR VEXcode, sekarang dengan blok Posisi Robot yang disisipkan ke dalam blok Lebih Besar Dari. Seluruh proyek sekarang berbunyi: Saat Dimulai, Maju dan Tunggu Hingga Posisi X Robot dalam milimeter Lebih Besar Dari 50.
  • Atur parameter blok (Posisi Robot) ke “Y” dan parameter blok <Greater than> ke -300.

    Kelanjutan dari proyek blok VR VEXcode, kini dengan sumbu blok Posisi Robot diubah dari X ke Y dan parameter kedua blok Lebih Besar Dari diubah dari 50 menjadi -300. Seluruh proyek sekarang berbunyi: Saat Dimulai, Maju dan Tunggu Hingga Posisi Y Robot dalam milimeter Lebih Besar Dari -300.
  • Seret blok [Berhenti mengemudi] dan tambahkan ke proyek.

    Kelanjutan dari proyek blok VEXcode VR, kini dengan tambahan blok Stop Driving di bawah blok Wait Until. Seluruh proyek sekarang berbunyi: Saat Dimulai, Maju dan Tunggu Hingga Posisi Y Robot dalam milimeter Lebih Besar Dari -300. Terakhir, berhentilah mengemudi.
  • Luncurkan Number Grid Map Playground jika belum terbuka dan jalankan proyeknya.
  • Saksikan Robot VR mengemudi ke angka '31' di Taman Bermain Peta Kisi Angka .

    Tampilan dari atas taman bermain Peta Kisi Angka dengan robot VR yang berada di ruang nomor 31.
  • Dalam proyek ini, Robot VR bergerak menuju angka '31' pada Peta Grid Angka Playground. Karena nilai Y meningkat seiring dengan pergerakan Robot VR menuju angka '31', proyek ini menggunakan blok <Greater than>.
  • Robot VR akan berhenti setelah nilai Y-nya lebih besar dari dari nilai Y koordinat tempat angka yang ditunjukkan berada. Karena nilai Y dari angka '31' adalah -300, Robot VR akan berhenti bergerak begitu nilai Y lebih besar dari -300.
Diagram yang memvisualisasikan alur logika dalam proyek VEXcode VR Blocks. Proyek ini dimulai dengan blok When Started dan kemudian mulai bergerak maju, dan mempertahankan perintah tersebut hingga Posisi Y sensor Robot dalam milimeter lebih besar dari -300, setelah itu blok Stop Driving mengakhiri perintah Drive Forward.

Menggunakan Blok Sakelar 

Dalam pelajaran ini, Anda telah mempelajari cara menggunakan blok [Wait until] VEXcode dengan kondisi Boolean untuk memerintahkan robot agar menunggu hingga robot mencapai posisi lebih besar dari -300 pada sumbu Y sebelum melanjutkan ke perilaku berikutnya.

Gambar di bawah menunjukkan blok VEXcode di samping blok Switch yang berisi perintah Python untuk perilaku yang sama. 

Perbandingan antara blok VEXcode VR Wait Until dan blok switch yang sesuai. Blok VR tersebut bertuliskan 'Tunggu Hingga Posisi Y Robot dalam milimeter lebih besar dari -300'. Kode Python pada blok switch berbunyi 'while not location.position(Y, MM) > -300: wait(5, MSEC)'. Perintah wait diindentasi di bawah while not.Di dalam blok Switch,while not location.position(Y, MM) > -300:adalah perintah Python pertama yang memeriksa apakah posisi robot di sepanjang sumbu X lebih besar dari -300.

Perintah indentasi kedua,wait (5, MSEC),menghentikan eksekusi loop kondisional selama 5 milidetik.

Di VEXcode VR, perintah wait selalu ditambahkan dengan loop kondisional. Tujuan dari perintah wait adalah untuk memastikan bahwa VEXcode VR dapat menjalankan proyek dengan benar sesuai yang diharapkan, karena sifat platform VEXcode VR yang berbasis web. Perintah wait tidak boleh dihapus saat menggunakan perulangan bersyarat, atau proyek Anda mungkin tidak berjalan sesuai yang diharapkan. 

Dalam contoh ini, proyek memeriksa apakah posisi robot lebih besar dari nilai Y sebesar -300 setiap 5 MSEC atau tidak. Baris kode ini diberi indentasi di bawah baris kode pertama karena perintah ini adalah perilaku yang akan diulang sampai kondisi (nilai koordinat Y lebih besar dari -300) terpenuhi. 

Pilih tombol Berikutnya untuk melanjutkan ke bagian selanjutnya dari Pelajaran ini.