Langsung ke konten utama

Pelajaran 2: Menggunakan Balok Perbandingan dan Mengemudi Hingga Mendekati

Dalam pelajaran ini, Anda akan membuat proyek yang mengarahkan Robot VR ke huruf 'A' menggunakan Sensor Jarak dengan blok pelapor Boolean <Less than>. Dalam tantangan mini ini, Anda akan menerapkan keterampilan ini untuk menavigasi dari awal Labirin Dinding ke angka '1'.

Tampilan dari atas labirin dinding dengan huruf A sebagai tujuan yang disorot dalam kotak merah, di dekat posisi awal robot VR.

Hasil belajar

  • Identifikasi bahwa blok <Greater than> adalah blok Boolean yang melaporkan apakah nilai pertama lebih besar dari nilai kedua.
  • Identifikasi bahwa blok <Less than> adalah blok Boolean yang melaporkan apakah nilai pertama kurang dari nilai kedua.
  • Identifikasi bahwa blok <Greater than> atau <Less than> melaporkan nilai TRUE atau FALSE di blok [Tunggu sampai].
  • Jelaskan cara membuat proyek yang memiliki Robot VR yang bergerak maju hingga nilai Sensor Jarak kurang dari nilai ambang batas 50 milimeter (mm).

Beri nama dan simpan proyek tersebut.

  • Mulai proyek baru di VEXcode VR dan beri nama proyek tersebut Unit5Lesson2. Ingatlah bahwa Anda dapat menggunakan blok VEXcode, blok Switch, atau kombinasi dari kedua jenis blok tersebut untuk proyek Anda. 
Toolbar VEXcode VR dengan tombol 'Nama Proyek' disorot dalam kotak merah, di sebelah kiri tombol Pilih Playground. Nama proyek ditetapkan menjadi Unit 5 Pelajaran 2.

Gunakan Sensor Jarak untuk Menghindari Dinding

  • Seret blok [Drive] ke ruang kerja.
    Proyek blok VR VEXcode, dimulai dengan blok When Started dan blok Drive Forward di bawahnya. Terdapat kotak merah yang menyoroti blok "Drive Forward".
  • Tambahkan blok [Tunggu sampai] di bawah blok [Kendaraan].
    Proyek blok VEXcode VR yang sama seperti sebelumnya, tetapi sekarang dengan blok Tunggu Hingga di bagian bawah yang disorot dengan kotak merah. Judul lengkap proyek tersebut adalah "Saat Dimulai, Maju Terus dan Tunggu Hingga". Parameter blok Wait Until kosong.

Proyek ini akan menggunakan Sensor Jarak untuk menavigasi melalui Labirin Dinding di Taman Bermain tanpa menabrak dinding. Anda akan menggunakan blok (Jarak dari) di dalam blok Boolean <Less than> dalam proyek ini.

Angka <Less than>, <Greater than>, dan <Equal to> adalah blok perbandingan - mereka membandingkan nilai. Blok-blok ini juga merupakan blok pelapor Boolean yang melaporkan nilai TRUE ketika kondisi perbandingan terpenuhi, dan FALSE ketika kondisi TIDAK terpenuhi.

  • <Less than> melaporkan TRUE ketika nilai pertama lebih kecil dari nilai kedua dan FALSE ketika nilai pertama lebih besar dari atau sama dengan nilai kedua.
    Blok boolean VEXcode VR Kurang Dari, membaca '25 kurang dari 50'.
  • <Greater than> melaporkan TRUE ketika nilai pertama lebih besar dari nilai kedua, dan FALSE ketika nilai pertama lebih kecil dari atau sama dengan nilai kedua.
    Blok boolean VEXcode VR Lebih Besar Dari, membaca '100 lebih besar dari 50'.
  • <Equal to> melaporkan TRUE ketika kedua nilai tersebut sama persis, dan FALSE ketika tidak sama.
    Blok boolean VEXcode VR Equal To, membaca '50 sama dengan 50'.

Blok perbandingan dapat menerima angka desimal, bilangan bulat, atau blok numerik. Mereka juga menerima blok reporter bulat, seperti blok (Jarak dari). Blok (Jarak dari) dapat digabungkan dengan blok perbandingan saat menggunakan Sensor Jarak dalam sebuah proyek.

Dalam contoh ini, blok akan melaporkan TRUE ketika jarak antara suatu objek dan Sensor Jarak pada Robot VR kurang dari 50 milimeter (mm).

Blok boolean VEXcode VR Less Than dengan blok Distance From di dalamnya, yang bertuliskan 'Jarak Depan dalam milimeter kurang dari 50'.

  • Seret blok Boolean <Less than> ke dalam blok [Tunggu sampai].
  • Tempatkan blok bulat (Jarak dari) di dalam blok pelapor Boolean.
    Proyek VEXcode VR Blocks yang menggabungkan langkah-langkah sebelumnya. Seluruh proyek sekarang berbunyi: Saat Dimulai, Maju Terus dan Tunggu Hingga Jarak Depan dalam milimeter kurang dari 50. Kotak merah menyoroti blok boolean Kurang Dari.
  • Blok [Tunggu hingga] akan membuat Robot VR terus bergerak maju hingga kondisi terpenuhi, dan jarak yang dilaporkan kurang dari 50 milimeter (mm). Kemudian, proyek akan berlanjut ke blok berikutnya dalam tumpukan, yaitu blok [Berhenti mengemudi].
    Diagram yang memvisualisasikan alur logika dalam proyek VEXcode VR Blocks. Proyek ini dimulai dengan mengemudi maju, dan mempertahankan perintah tersebut hingga jarak sensor Jarak Depan dalam milimeter kurang dari 50, setelah itu blok Hentikan Mengemudi mengakhiri perintah Mengemudi Maju.
  • Blok [Berhenti mengemudi] diperlukan setelah blok [Tunggu sampai] karena Robot VR akan terus mengemudi sampai diperintahkan untuk berhenti. Tambahkan blok [Berhenti mengemudi] ke proyek.
    Proyek blok VEXcode VR dari sebelumnya dengan blok Stop Driving yang ditambahkan setelah blok Wait Until. Seluruh proyek sekarang berbunyi, Saat Mulai Berkendara Maju dan Tunggu Hingga Jarak Depan dalam milimeter kurang dari 50, setelah itu Berhenti Berkendara.
  • Luncurkan Wall Maze Playground jika belum terbuka dan jalankan proyeknya.
  • Saksikan Robot VR bergerak dari awal Labirin Dinding dan berhenti ketika Sensor Jarak melaporkan bahwa jaraknya kurang dari 50 milimeter (mm) dari dinding.
    Tampilan dari atas labirin dinding dengan huruf A sebagai tujuan di dekat posisi awal robot VR. Robot VR kini telah mengalami kemajuan berkat proyek blok tersebut.
  • Dengan menggunakan blok <Less than> dan blok (Jarak dari) di dalam blok [Tunggu sampai], robot VR diinstruksikan untuk menunggu hingga jaraknya kurang dari 50 milimeter (mm) dari dinding sebelum berhenti.
  • Atur ulang Playground untuk memindahkan Robot VR kembali ke posisi awal.

Menggunakan Blok Sakelar

Dalam pelajaran ini, Anda telah mempelajari tentang blok Boolean <Greater than>, <Less than>, dan <Equal to>. Gambar di bawah ini menunjukkan blok perbandingan Boolean Switch. Agar blok Switch Boolean berfungsi sebagaimana mestinya, fungsi Switch Python harus dimasukkan dengan ejaan dan tanda baca yang benar. 

Perhatikan bahwa blok Switch <Equal to> menggunakan dua tanda sama dengan (==). Hal ini karena dalam Python, satu tanda sama dengan (=) mewakili penetapan nilai (misalnya, x = 10), sedangkan dua tanda sama dengan (==) memeriksa apakah kedua nilai tersebut sama. Pastikan untuk menggunakan dua tanda sama dengan saat menggunakan blok Switch <Equal to>. 
Perbandingan tiga blok boolean VEXcode VR dan blok switch yang sesuai. Blok Kurang Dari ditulis dalam Python sebagai '25 < 50', blok Lebih Dari ditulis dalam Python sebagai '100 > 50', dan blok Sama Dengan ditulis dalam Python sebagai '50 == 50'. Kotak merah menyoroti tanda sama dengan ganda pada contoh terakhir, menunjukkan cara membandingkan dua nilai sebagai sama di Python.

Anda juga melihat contoh proyek di mana Robot VR akan bergerak maju hingga jarak yang dilaporkan kurang dari 50 milimeter (mm) dari suatu objek. Kemudian, Robot VR akan berhenti. Proyek di sebelah kanan menunjukkan perintah Python yang sesuai di dalam blok Switch. Perintahwhile not front_distance.get_distance(MM) < 50memberi tahu robot untuk memeriksa apakah jarak yang dilaporkan kurang dari 50 MM dari suatu objek.

Baris kode yang menjorok berikutnya,wait (5, MSEC),menghentikan kode selama 5 milidetik. Perintah yang memeriksa apakah jarak yang dilaporkan kurang dari 50 MM dari suatu objek akan menunggu selama 5 MSEC sebelum memeriksa kondisi tersebut lagi. 

Perbandingan proyek VEXcode VR kami, dengan blok Wait Until yang diubah menjadi blok switch di sisi kanan. Blok switch baru tersebut dibaca dalam Python sebagai 'while not front_distance.get_distance(MM) < 50: wait(5, msec)'.

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