Langsung ke konten utama

Pelajaran 3: Masukan Sensor Ganda

Pada pelajaran sebelumnya, Sensor Jarak digunakan untuk menentukan apakah Robot VR mendeteksi suatu objek atau tidak, dan jika ya, maka robot akan bergerak maju menuju objek tersebut. Namun, tidak ada nilai sensor yang digunakan untuk menentukan apakah Robot VR sudah dekat dengan tepi Taman Bermain sehingga dapat dihentikan. Menghentikan Robot VR saat berada dekat tepi Taman Bermain akan mencegahnya melaju keluar dari sisi taman bermain.

Proyek VEXcode VR dari Pelajaran sebelumnya yang menggunakan Sensor Jarak pada robot untuk mendeteksi kastil, lalu mengemudi untuk menabraknya, ditampilkan di sebelah kiri. Di sebelah kanan adalah Jendela Taman Bermain yang menampilkan proyek yang sedang berlangsung, dengan beberapa kastil yang runtuh, tetapi Robot VR akan melaju keluar dari tepi Taman Bermain.

Dengan kondisi seperti sekarang, proyek ini mengulangi perilaku maju dan berbelok, selamanya. Namun, tidak ada kondisi untuk memeriksa batas merah di sekitar Taman Bermain. Dengan demikian, Robot VR dapat jatuh dari area bermain saat bergerak maju.

Tampilan samping Robot VR di Arena Bermain Dynamic Castle Crasher, mendorong sepotong kastil ke samping dan hendak melaju ke tepi arena itu sendiri.

Sensor lain diperlukan agar Robot VR dapat menentukan apakah ia sudah dekat dengan tepi Area Bermain atau belum. Perilaku mengemudi maju dan berbelok hanya perlu diulangi hingga batas merah terdeteksi. Dengan demikian, blok [Selamanya] dapat diganti dengan blok [Ulangi hingga], untuk mengulangi perilaku mengemudi maju dan berbelok hingga kondisi deteksi batas merah terpenuhi. Sensor Down Eye dapat digunakan untuk menentukan apakah Robot VR berada dekat dengan tepi Area Bermain dengan mendeteksi batas merah di sekitar Area Bermain.

Blok sensor warna VEXcode VR membaca "Down Eye mendeteksi warna merah?".
  • Muat proyek Unit9Lesson2 dari Pelajaran sebelumnya.
Proyek Unit 9 Pelajaran 2. Proyek ini dimulai dengan blok "When started" yang terhubung dengan blok "forever". Di dalam blok forever terdapat blok If then dengan Front Distance found an object sebagai parameternya. Cabang If then memiliki komentar yang berbunyi: Hancurkan bangunan yang ditemukan menggunakan Sensor Jarak dan blok Maju. Cabang else memiliki komentar yang berbunyi "Berbelok untuk menemukan bangunan menggunakan Sensor Jarak dan blok belok kanan."
  • Ganti nama proyek Unit9Lesson3.
Kotak nama proyek di tengah Toolbar VEXcode VR, disorot dengan kotak merah, di sebelah kiri tombol Pilih Playground. Nama proyeknya adalah Unit 9 Pelajaran 3.
  • Diperlukan sebuah blok untuk terus menerus memeriksa Sensor Mata Bawah (Down Eye Sensor). Robot VR perlu mengulangi perilaku ini hingga Sensor Mata Bawah mendeteksi warna merah. Pertama, hapus blok [Selamanya].
Gambaran umum tentang penghapusan blok Forever dari proyek. Proyek baru ini berpindah dari blok "When started" ke blok "If then else", tanpa adanya perulangan "Forever".
  • Tambahkan blok [Ulangi hingga].
Gambaran umum tentang cara menambahkan blok Ulangi hingga di sekeliling seluruh blok Jika maka else. Proyek baru dimulai dengan blok When Started, kemudian memiliki blok Repeat until dengan parameter open. Di dalam huruf C dari blok Ulangi sampai terdapat blok Jika maka jika tidak.
  • Tambahkan blok <Color sensing> di dalam blok [Ulangi hingga] dan atur parameternya menjadi 'DownEye mendeteksi 'merah.'
Proyek yang sama dengan pengaturan Down Eye Detects berwarna merah sebagai parameter pada blok Repeat until.

Dalam proyek ini, blok [Ulangi hingga] digunakan sebagai pengganti blok [Tunggu hingga]. Hal ini karena blok [Tunggu hingga] adalah blok tunggu yang akan menghentikan sementara alur proyek hingga kondisi terpenuhi. Jika blok [Wait until] digunakan, blok [If then else] tidak akan dieksekusi sampai kondisi [Wait until] terpenuhi dan blok [If then else] hanya akan dieksekusi sekali.

Diagram alur proyek jika blok "Tunggu sampai" digunakan sebagai pengganti perulangan "Ulangi sampai". Proyek akan berhenti di blok tunggu hingga kondisi dilaporkan benar, dan baru kemudian akan beralih ke blok Jika maka else.

Dengan menggunakan blok [Ulangi sampai], kondisi [Jika maka else] terus-menerus diperiksa dan dieksekusi.

Diagram alur proyek dengan blok Repeat Until, menunjukkan bahwa kondisi blok If then else terus diperiksa, dan dieksekusi berdasarkan apakah objek ditemukan (True) atau tidak ditemukan (False).
  • Tambahkan komentar untuk mencatat tujuan penggunaan blok [Ulangi hingga].
Proyek yang sama seperti yang dibuat sebelumnya, dengan blok Komentar ditambahkan di antara blok Saat dimulai dan blok Ulangi hingga. Komentar tersebut berbunyi 'Cari bangunan hingga batas merah terdeteksi.'
  • Buka Dynamic Castle Crasher Playground dan jalankan proyeknya.
  • Saat proyek ini dijalankan, Robot VR akan bergerak menuju objek yang terdeteksi dan berbelok ke kanan jika tidak terdeteksi. Namun, meskipun Sensor Mata Bawah mencari batas merah, Robot VR tidak diberi tahu apa yang harus dilakukan setelah mendeteksi warna merah, sehingga terus bergerak dan akhirnya jatuh dari Area Bermain.

    Tampilan dari atas jendela Dynamic Castle Crasher Playground saat proyek sedang berjalan, dengan beberapa kastil yang hancur dan Robot VR yang melaju keluar dari tepi kanan atas Playground untuk mengejar potongan kastil.

Setelah kondisi blok [Ulangi hingga] terpenuhi, alur proyek akan dieksekusi keluar dari blok [Ulangi hingga].

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