Pelajaran 3: Menambahkan Sensor Mata Bawah
Pada Pelajaran sebelumnya, Sensor Jarak digunakan untuk menentukan apakah Robot VR mendeteksi suatu objek atau tidak, dan jika ya, melaju ke arah objek tersebut. Namun, tidak ada nilai sensor yang digunakan untuk menentukan apakah Robot VR berada dekat dengan tepi Taman Bermain untuk menghentikannya. Menghentikan Robot VR saat sudah dekat dengan tepi Taman Bermain akan mencegahnya keluar jalur.
Seperti adanya, proyek tersebut mengulang perilaku mengemudi maju dan berbelok, selamanya. Namun tidak ada ketentuan untuk memeriksa batas merah di sekitar Taman Bermain. Dengan demikian, Robot VR dapat terjatuh dari Playground saat melaju ke depan.

Menambahkan Sensor Mata Bawah
Sensor lain diperlukan agar Robot VR dapat menentukan apakah ia dekat dengan tepian Taman Bermain atau tidak. Sensor Mata Bawah dapat digunakan untuk menentukan apakah Robot VR berada dekat dengan tepi Taman Bermain dengan mendeteksi batas merah di sekitar Taman Bermain.
Perilaku melaju maju dan berbelok hanya perlu diulang hingga Sensor Mata Bawah melaporkan bahwa batas merah terdeteksi. Dengan demikian, perulangan tak terhingga while dapat digantikan dengan perulangan whiledengan kondisi bukan , untuk mengulang perilaku melaju dan berbelok hingga kondisi mendeteksi batas merah terpenuhi.
-
Muat proyek Unit9Lesson2 dari Pelajaran sebelumnya.
def main(): while True: # Apakah Sensor Jarak mendeteksi sebuah kastil? jika front_distance.found_object(): # Kastil tabrakan terdeteksi oleh Sensor Jarak drivetrain.drive(MAJU) yang lain: # Belok untuk menemukan kastil menggunakan Sensor Jarak drivetrain.turn(KANAN) tunggu(5, MSEC) - Ubah nama proyek Unit9Lesson3.

-
Tambahkan komentar untuk mencatat bagaimana loop sementaraakan digunakan dengan Down Eye Sensor. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Cari bangunan saat batas merah tidak terdeteksi while True: # Apakah Sensor Jarak mendeteksi kastil? jika front_distance.found_object(): # Kastil tabrakan terdeteksi oleh Sensor Jarak drivetrain.drive(MAJU) yang lain: # Belok untuk menemukan kastil menggunakan Sensor Jarak drivetrain.turn(KANAN) tunggu(5, MSEC) -
Perintah diperlukan untuk terus memeriksa Sensor Mata Bawah. Robot VR perlu mengulang perilaku ini sementara Sensor Mata Bawah bukanmendeteksi warna merah. Ubah kondisi perulangan while dengan meletakkan kata kunci notdi depan kondisi. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Cari bangunan saat batas merah tidak terdeteksi while not Benar: # Apakah Sensor Jarak mendeteksi kastil? jika front_distance.found_object(): # Kastil tabrakan terdeteksi oleh Sensor Jarak drivetrain.drive(MAJU) yang lain: # Belok untuk menemukan kastil menggunakan Sensor Jarak drivetrain.turn(KANAN) tunggu(5, MSEC) -
Kemudian, ubah kondisi dari True ke perintah down_eye.detect. Tetapkan parameter ke 'MERAH'. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Cari bangunan saat batas merah tidak terdeteksi while not down_eye.detect(RED): # Apakah Sensor Jarak mendeteksi kastil? jika front_distance.found_object(): # Kastil tabrakan terdeteksi oleh Sensor Jarak drivetrain.drive(MAJU) yang lain: # Belok untuk menemukan kastil menggunakan Sensor Jarak drivetrain.turn(KANAN) tunggu(5, MSEC) - Buka Dynamic Castle Crasher Playground jika belum terbuka, dan jalankan proyeknya. Apakah Robot VR berperilaku seperti yang Anda inginkan?
-
Saat proyek ini dijalankan, Robot VR akan melaju menuju objek yang terdeteksi, dan berbelok ke kanan jika tidak. Akan tetapi, meskipun Sensor Mata Bawah mencari batas merah, Robot VR tidak diberi tahu apa yang harus dilakukan setelah mendeteksi warna merah, sehingga ia terus melaju dan akhirnya terjatuh dari Taman Bermain.

Setelah kondisi loop whileterpenuhi, aliran proyek akan dieksekusi di luar loop while.
Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.