Langsung ke konten utama

Pelajaran 3: Saat Warna Merah Terdeteksi

Tidak ada perintah untuk memberi tahu Robot VR apa yang harus dilakukan setelah mendeteksi warna merah. Untuk menghindari batas merah, Robot VR harus berbalik dan berbelok begitu mendeteksi warna merah, seperti yang dilakukannya dalam video ini.

Berkas video
  • Tambahkan komentar di akhir loopwhileuntuk menunjukkan apa yang harus terjadi ketika Down Eye Sensor mendeteksi batas 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():
    			# Tabrak kastil yang terdeteksi oleh Sensor Jarak
    			drivetrain.drive(FORWARD)
    		
    		else:
    			# Berbelok untuk mencari kastil menggunakan Sensor Jarak
    			drivetrain.turn(RIGHT)
    			
    		wait(5, MSEC)
    		
    	# Mundur dan berbelok saat batas merah terdeteksi
  • Tambahkan perintah drive_fordan turn_for di bawah komentar untuk memungkinkan Robot VR berbalik dan berbelok setelah Sensor Mata Bawah mendeteksi warna merah.

    def main():
    	# Cari bangunan selama batas merah belum terdeteksi
    	while not down_eye.detect(RED):
    		# Apakah Sensor Jarak mendeteksi kastil?
    		
    		if front_distance.found_object():
    			# Tabrakan kastil terdeteksi oleh Sensor Jarak
    			drivetrain.drive(FORWARD)
    		
    		else:
    			# Berbelok untuk menemukan kastil menggunakan Sensor Jarak
    			drivetrain.turn(RIGHT)
    			
    		wait(5, MSEC)
    		
    	# Mundur dan berbelok saat batas merah terdeteksi
    	drivetrain.drive_for(REVERSE, 300, MM)
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
  • Buka Dynamic Castle Crasher Playgroundjika belum terbuka, lalu jalankan proyek tersebut. Apakah robot VR tersebut berperilaku sesuai dengan yang Anda inginkan?
  • Saat proyek ini dijalankan, ada dua kondisi yang diperiksa. Yang pertama adalah kondisi Down Eye Sensor mendeteksi warna merah di dalam loop while. Perhatikan bahwa alur proyek berlanjut ke kondisi berikutnya yaitu terdeteksinya objek HANYA jika Sensor Mata Bawah tidak melihat warna merah. Jika Down Eye Sensor mendeteksi warna merah, alur proyek akan melewati pernyataan if else dan langsung beralih ke mengemudi mundur dan berbelok.
    Kode proyek Python untuk pelajaran ini, beserta diagram yang menunjukkan alur proyek di sampingnya. Tertulis: Kondisi pertama diperiksa: Sensor Mata Bawah mendeteksi warna merah di area oranye, yang menandakan dimulainya perulangan. Terdapat lingkaran panah merah yang menunjukkan kapan Sensor Mata Bawah mendeteksi warna merah, yang akan melaporkan True dan Proyek akan keluar dari tampilan berulang. Jika sensor melaporkan nilai false, kode akan beralih ke pernyataan if then dan terus berulang hingga Down Eye Sensor mendeteksi warna merah.
 
  • Kondisi kedua yang diperiksa adalah pernyataanif else. Selama Sensor Mata Bawah tidak mendeteksi warna merah, proyek akan berlanjut dalam loopwhileuntuk memeriksa kondisi Sensor Jarak. Robot VR akan menggunakan data dari Sensor Jarak untuk membuat keputusan apakah akan bergerak maju atau berbelok ke kanan. Kode proyek Python untuk pelajaran ini, beserta diagram yang menunjukkan alur proyek di sampingnya. Tertulis: Kondisi kedua diperiksa: Sensor Jarak mendeteksi objek. Ini menunjukkan apa yang terjadi jika kondisi kedua diperiksa, dan jika hasilnya benar, Robot VR akan bergerak maju, dan jika kondisi kedua hasilnya salah, Robot VR akan berbelok ke kanan.
  • Namun, begitu Sensor Mata Bawah mendeteksi warna merah, Robot VR akan bergerak mundur, berbelok, lalu berhenti karena itu adalah akhir dari alur proyek. Tidak ada perulangan yang digunakan untuk mengulangi perilaku tersebut.

    Tampilan dari atas taman bermain Dynamic Castle Crashed yang menunjukkan beberapa kastil yang roboh, dengan robot VR yang telah berbalik arah setelah melewati batas merah, sehingga menghadap kembali ke tengah taman bermain.

Menambahkan perulangan tak terbatas while

  • Diperlukan perulangan tak terbatas whileagar perilaku tersebut dapat berulang dalam sebuah perulangan. Seret atau ketikkan perulangan while di bagian atas proyek, dan atur kondisinya menjadi True untuk membuat perulangan tak terbatas. Kemudian, salin dan tempel kode sebelumnya ke dalam perulangan tak terbatas while. Pastikan perintah-perintah tersebut diberi indentasi yang tepat di bawah judul yang benar, jika tidak, proyek mungkin tidak berjalan seperti yang diharapkan. Proyek Anda sekarang akan terlihat seperti ini:

    def main():
    
    	while True:
    		# Cari bangunan selama batas merah belum terdeteksi
    		while not down_eye.detect(RED):
    			# Apakah Sensor Jarak mendeteksi kastil?
    		
    			if front_distance.found_object():
    				# Tabrakan kastil terdeteksi oleh Sensor Jarak
    				drivetrain.drive(FORWARD)
    		
    			else:
    				# Berbelok untuk menemukan kastil menggunakan Sensor Jarak
    				drivetrain.turn(RIGHT)
    			
    			wait(5, MSEC)
    		
    		# Mundur dan berbelok saat batas merah terdeteksi
    		drivetrain.drive_for(REVERSE, 300, MM)
    		drivetrain.turn_for(RIGHT, 90, DEGREES)
    
  • Buka Dynamic Castle Crasher Playgroundjika 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 kastil yang terdeteksi dan berbelok ke kanan jika tidak ada kastil yang dilaporkan. Begitu Sensor Mata Bawah mendeteksi warna merah, Robot VR akan bergerak mundur, berbelok, dan terus melaju menuju kastil lain.

    Tampilan dari atas taman bermain Dynamic Castle Crasher menunjukkan bahwa Robot VR telah merobohkan beberapa kastil di taman bermain dan sekarang bergerak menuju kastil terakhir yang masih berdiri.

Pertanyaan

Silakan pilih tautan di bawah ini untuk mengakses kuis pelajaran.

Google Doc / .docx / .pdf