Lompat ke isi utama

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.Kode proyek ada di sisi kiri, sedangkan taman bermain ditampilkan di sisi kanan. Robot VR berada di atas batas merah taman bermain dan berhenti bergerak agar tidak jatuh dari tepi taman bermain.

 

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.

Pandangan bersudut dari Dynamic Castle Crasher Playground yang menunjukkan Robot VR tengah mendorong balok kastil. Robot VR telah berhenti sebelum balok kastil didorong keluar dari tepi taman bermain.

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.Tampilan bagian bawah Robot VR, dengan Sensor Mata Bawah Robot VR disorot.

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.
    Bilah Alat VEXcode VR menampilkan nama proyek yang disorot dengan kotak merah. Nama proyeknya adalah Unit 9 Pelajaran 3.
  • 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.

    Tampilan atas ke bawah dari taman bermain Dynamic Castle Crasher yang menunjukkan Robot VR mendorong sebuah kastil dari tepian taman bermain tetapi tidak terjatuh dari taman bermain juga.

Setelah kondisi loop whileterpenuhi, aliran proyek akan dieksekusi di luar loop while.

Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.