Lompat ke isi utama

Pelajaran 2: Menggunakan Blok Perbandingan dan Mengemudi Hingga Mendekat

Dalam Pelajaran ini, Anda akan membuat proyek yang menavigasi Robot VR ke huruf 'A' menggunakan Sensor Jarak dengan blok reporter Boolean <Less than>. Dalam tantangan mini, Anda akan menerapkan keterampilan ini untuk menavigasi dari awal Wall Maze hingga angka '1.'

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

Hasil belajar

  • Identifikasi bahwa blok <Greater than> adalah blok Boolean yang melaporkan jika nilai pertama lebih besar dari nilai kedua.
  • Identifikasi bahwa blok <Less than> adalah blok Boolean yang melaporkan jika nilai pertama lebih kecil dari nilai kedua.
  • Identifikasi bahwa blok <Greater than> atau <Less than> melaporkan nilai BENAR atau SALAH dalam blok [Tunggu sampai].
  • Jelaskan cara membuat proyek yang mengharuskan Robot VR melaju maju hingga nilai Sensor Jarak kurang dari nilai ambang batas 50 milimeter (mm).

Beri Nama dan Simpan Proyek

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

Gunakan Sensor Jarak untuk Menghindari Dinding

  • Seret blok [Drive] ke ruang kerja.
    Proyek blok VEXcode VR, dimulai dengan blok When Started dengan blok Drive Forward di bawahnya. Ada kotak merah yang menyorot blok Drive Forward.
  • Lampirkan blok [Tunggu hingga] di bawah blok [Berkendara].
    Proyek blok VEXcode VR yang sama seperti sebelumnya, tetapi sekarang dengan blok Tunggu Hingga di bagian bawah yang disorot dengan kotak merah. Proyek lengkapnya berbunyi Saat Dimulai, Maju Terus dan Tunggu Hingga. Parameter blok Tunggu Hingga kosong.

Proyek ini akan menggunakan Sensor Jarak untuk menavigasi melalui Wall Maze Playground tanpa menabrak dinding. Anda akan menggunakan blok (Jarak dari) di dalam blok Boolean <Less than> dalam proyek ini.

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

  • <Less than> melaporkan BENAR apabila nilai pertama lebih kecil daripada nilai kedua dan SALAH apabila nilai pertama lebih besar atau sama dengan nilai kedua.
    Blok boolean VEXcode VR Kurang Dari, terbaca '25 kurang dari 50'.
  • <Greater than> melaporkan BENAR apabila nilai pertama lebih besar daripada nilai kedua, dan SALAH apabila nilai pertama lebih kecil daripada atau sama dengan nilai kedua.
    Blok boolean VEXcode VR Lebih Besar Dari, terbaca '100 lebih besar dari 50'.
  • <Equal to> melaporkan BENAR apabila kedua nilai tersebut persis sama, dan SALAH apabila tidak persis sama.
    VEXcode VR Sama Dengan blok boolean, terbaca '50 sama dengan 50'.

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

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

Blok boolean VEXcode VR Kurang Dari dengan blok Jarak Dari di dalamnya, bertuliskan 'Jarak Depan dalam milimeter kurang dari 50'.

  • Seret blok Boolean <Less than> ke blok [Tunggu sampai].
  • Tempatkan blok putaran (Jarak dari) di dalam blok reporter Boolean
    Proyek VEXcode VR Blocks yang menyatukan langkah-langkah sebelumnya. Seluruh proyek sekarang berbunyi Saat Memulai, Maju Terus dan Tunggu Hingga Jarak Depan dalam milimeter kurang dari 50. Kotak merah menyorot blok boolean Kurang Dari.
  • Blok [Tunggu hingga] akan membuat Robot VR terus melaju hingga kondisi terpenuhi, dan jarak yang dilaporkan kurang dari 50 milimeter (mm). Kemudian, proyek akan berpindah ke blok berikutnya dalam tumpukan, yaitu blok [Berhenti Mengemudi].
    Diagram yang memvisualisasikan aliran logika dalam proyek VEXcode VR Blocks. Proyek dimulai dengan melaju ke depan, dan menahan perintah itu hingga jarak sensor Jarak Depan dalam milimeter kurang dari 50, setelah itu blok Berhenti Mengemudi mengakhiri perintah Berkendara Maju.
  • Blok [Berhenti mengemudi] diperlukan setelah blok [Tunggu sampai] karena Robot VR akan terus mengemudi hingga diperintahkan 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 Memulai Mengemudi Maju dan Tunggu Hingga Jarak Depan dalam milimeter kurang dari 50, lalu Berhenti Mengemudi.
  • Luncurkan Wall Maze Playground jika belum terbuka dan jalankan proyeknya.
  • Saksikan Robot VR melaju dari awal Wall Maze dan berhenti ketika Sensor Jarak melaporkan jaraknya kurang dari 50 milimeter (mm) dari dinding.
    Tampilan atas-bawah labirin dinding dengan huruf A di dekat posisi awal robot VR. Robot VR kini telah bergerak maju sebagai hasil dari proyek blok.
  • Menggunakan blok <Less than> dengan blok (Jarak dari) di dalam blok [Tunggu hingga], menginstruksikan Robot VR untuk menunggu hingga jaraknya kurang dari 50 milimeter (mm) dari dinding sebelum berhenti.
  • Atur ulang Playground untuk mengembalikan Robot VR ke posisi awal.

Menggunakan Blok Switch

Dalam pelajaran ini, Anda mempelajari tentang blok Boolean <Greater than>, <Less than>, dan <Equal to>. Gambar di bawah menunjukkan blok perbandingan Switch Boolean. Agar blok Boolean Switch berfungsi sebagaimana mestinya, fungsi Python Switch 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 suatu nilai (misalnya, x = 10), sementara dua tanda sama dengan (==) memeriksa apakah dua nilai 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 Besar Dari ditulis dalam Python sebagai '100 > 50', dan blok Sama Dengan ditulis dalam Python sebagai '50 == 50'. Kotak merah menyorot tanda sama dengan ganda pada contoh terakhir, menunjukkan cara membandingkan dua nilai yang sama dalam Python.

Anda juga melihat contoh proyek di mana Robot VR akan melaju 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. Perintah,while not front_distance.get_distance(MM) < 50memberi tahu robot untuk memeriksa apakah jarak yang dilaporkan kurang dari 50 MM dari suatu objek.

Baris kode menjorok berikutnya,tunggu (5, MSEC),menjeda 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 lagi. 

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

Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.