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, 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.
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.

Menambahkan Sensor Mata Bawah
Sensor lain diperlukan agar Robot VR dapat menentukan apakah ia sudah dekat dengan tepi Area Bermain atau belum. Sensor Down Eye dapat digunakan untuk menentukan apakah Robot VR berada dekat dengan tepi Area Bermain dengan mendeteksi batas merah di sekitar Area Bermain.
Perilaku mengemudi maju dan berbelok hanya perlu diulang hingga Sensor Mata Bawah melaporkan bahwa batas merah telah terdeteksi. Dengan demikian, perulangan tak terbatas while dapat digantikan dengan perulangan whiledengan kondisi not , untuk mengulangi perilaku mengemudi maju dan berbelok hingga kondisi pendeteksian batas merah terpenuhi.
-
Muat proyek Unit9Lesson2 dari Pelajaran sebelumnya.
def main(): while True: # Apakah Sensor Jarak mendeteksi kastil? Jika front_distance.found_object(): # Tabrakan kastil terdeteksi oleh Sensor Jarak drivetrain.drive(FORWARD) else: # Berbelok untuk mencari kastil menggunakan Sensor Jarak drivetrain.turn(RIGHT) wait(5, MSEC) - Ganti nama proyek Unit9Lesson3.

-
Tambahkan komentar untuk mencatat bagaimana loop whileakan digunakan dengan Down Eye Sensor. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Cari bangunan selama batas merah tidak terdeteksi while True: # Apakah Sensor Jarak mendeteksi kastil? Jika front_distance.found_object(): # Tabrakan kastil terdeteksi oleh Sensor Jarak drivetrain.drive(FORWARD) else: # Berbelok untuk mencari kastil menggunakan Sensor Jarak drivetrain.turn(RIGHT) wait(5, MSEC) -
Diperlukan perintah untuk terus memeriksa Sensor Mata Bawah (Down Eye Sensor). Robotperlu mengulangi perilaku ini sementara Sensor Matatidak mendeteksi warna merah. Ubah kondisi perulangan while dengan menambahkan kata kunci notdi depan kondisi tersebut. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Cari bangunan selama batas merah tidak terdeteksi while not True: # Apakah Sensor Jarak mendeteksi kastil? Jika front_distance.found_object(): # Tabrakan kastil terdeteksi oleh Sensor Jarak drivetrain.drive(FORWARD) else: # Berbelok untuk mencari kastil menggunakan Sensor Jarak drivetrain.turn(RIGHT) wait(5, MSEC) -
Kemudian, ubah kondisi dari True menjadi perintah down_eye.detect. Atur parameter ke 'MERAH'. Proyek Anda sekarang akan terlihat seperti ini:
def main(): # Cari bangunan selama batas merah belum terdeteksi while not down_eye.detect(RED): # Apakah Sensor Jarak mendeteksi kastil? Jika front_distance.found_object(): # Tabrakan kastil terdeteksi oleh Sensor Jarak drivetrain.drive(FORWARD) else: # Berbelok untuk mencari kastil menggunakan Sensor Jarak drivetrain.turn(RIGHT) wait(5, MSEC) - Buka Dynamic Castle Crasher Playground jika belum terbuka, lalu jalankan proyek tersebut. Apakah robot VR tersebut berperilaku sesuai dengan yang Anda inginkan?
-
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.

Setelah kondisi loop whileterpenuhi, alur proyek akan dieksekusi di luar loop while.
Pilih tombol Berikutnya untuk melanjutkan ke bagian selanjutnya dari Pelajaran ini.