Langsung ke konten utama

Pelajaran 3: Alur Proyek dengan Beberapa Perulangan While

Setelah Anda membuat proyek teks untuk mengarahkan Robot VR ke huruf 'A' pada Labirin Dinding Taman Bermain, Anda akan mengembangkan keterampilan Anda menggunakan kondisi dan nilai sensor. Dalam Pelajaran ini, Anda akan mengarahkan Robot VR ke angka '2' di Labirin Dinding Taman Bermain, kemudian menjelajahi mengapa perintah tambahan diperlukan untuk mengarahkannya ke huruf 'B.' Dalam tantangan mini ini, Anda akan menerapkan keterampilan ini untuk menavigasi dari awal Labirin Dinding ke angka '3'.

Tampilan dari atas taman bermain Wall Maze dengan Robot VR yang dimulai dari panah hijau di bagian tengah bawah taman bermain. Angka 2 disorot dalam kotak merah, dan diposisikan di tengah kuadran kiri bawah labirin, lebih jauh ke kiri melewati huruf A. Angka 2 berada di sudut yang dibentuk oleh tiga dinding yang mengelilinginya.

Hasil belajar

  • Jelaskan alur program dalam sebuah proyek yang melibatkan robot VR yang bergerak maju hingga sensor bemper ditekan.

Ganti nama proyek

  • Jika proyek Pelajaran sebelumnya belum dimuat, muat proyek Unit4Lesson2.
  • Ganti nama proyek Unit4Lesson3.Toolbar VEXcode VR menampilkan Unit 4 Pelajaran 3 sebagai nama proyek. Nama proyek ditandai dengan kotak merah.

     

 

Alur Proyek Menuju Huruf 'A'

Pada pelajaran sebelumnya, Robot VR mengemudi ke huruf 'A' pada Labirin Dinding Taman Bermain. Mari kita uraikan alur proyek saat kita bersiap untuk menuju lokasi baru di Labirin Dinding.

Tampilan dari atas Taman Bermain Labirin Dinding dengan Robot VR di lokasi awal di bagian tengah bawah Taman Bermain. Huruf A terletak tepat di sebelah kiri robot, dipisahkan oleh dinding pendek.
  • Untuk lebih memahami alur proyek mengemudi ke huruf 'A' pada Labirin Dinding Taman Bermain, mulailah dengan memodifikasi proyek Anda sebelumnya atau buat proyek baru yang sesuai dengan proyek dasar ini.

    def main():
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    	
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.stop()
  • Ketika sebuah proyek menggunakan dengan kondisi , alur program proyek tersebut tetap mengikuti urutan dari atas keyang sama. Perulangan whilememungkinkan alur program untuk "berhenti sementara" pada titik tertentu, selama suatu kondisi terpenuhi. Operatorbukanmemungkinkan proyek untuk tetap berada dalam perulangan sampai kondisi dilaporkan Salah. Kemudian proyek akan berlanjut ke perintah berikutnya di luar loop. Kondisi Boolean, seperti tombol Bumper Kiri ditekan, akan melaporkan nilai True atau False. Dalam kode ini untuk menggerakkan Robot VR ke huruf 'A,' Robot VR akan bergerak maju hingga kondisi
    bahwa Bumper Kiri ditekan bernilai True. Alur proyek untuk menggerakkan Robot VR ke huruf 'A' akan terlihat seperti ini:Diagram alur proyek yang menggambarkan alur proyek di atas untuk menuju ke huruf A, yang ditunjukkan di sebelah kiri. Di sebelah kanan, panah menunjukkan alur proyek. Pertama, panah melingkar berwarna merah menggambarkan bahwa selama bumper tidak ditekan, kondisi loop while akan bernilai false, sehingga robot akan bergerak maju. Panah hijau ke bawah selanjutnya menggambarkan bahwa ketika bumper ditekan, kondisi tersebut dilaporkan bernilai benar sehingga proyek keluar dari loop tersebut dan robot berbelok ke kiri 90 derajat. Urutan ini diulang untuk setiap perulangan dalam proyek.

Perilaku Robot VR menunjukkan bagaimana setiap perulanganwhiledieksekusi. Jika diuraikan bersamaan dengan pergerakan Robot VR, kita dapat dengan jelas melihat ke mana Robot VR telah bergerak setelah setiap perulangansementaradalam proyek dieksekusi.Di sebelah kiri menunjukkan kode Python yang berisi tiga perulangan while berurutan, masing-masing menginstruksikan robot untuk bergerak maju hingga bumper kiri ditekan. Setelah bumper ditekan di setiap lingkaran, robot akan melakukan tindakan tertentu.  Pada putaran pertama, robot bergerak maju hingga bumper ditekan, lalu berbelok ke kiri sebesar 90 derajat. Gambar di sebelah kanan menunjukkan posisi robot di dalam labirin setelah tindakan ini, yang ditandai dengan lingkaran kuning.  Pada putaran kedua, robot kembali bergerak maju hingga bumper ditekan, lalu berbelok ke kiri sebesar 90 derajat. Gambar kedua menunjukkan posisi robot yang diperbarui di dalam labirin setelah belokan ini.  Pada putaran ketiga dan terakhir, robot bergerak maju hingga bumper ditekan. Saat bumper ditekan, robot berhenti bergerak. Gambar terakhir menunjukkan posisi berhenti robot di dalam labirin, yang sekali lagi ditandai dengan lingkaran kuning.

 

Berkendaralah ke Nomor '2'

Dalam Pelajaran ini, proyek akan diedit agar Robot VR dapat bergerak ke angka '2' pada Labirin Dinding Taman Bermain!

Tampilan dari atas taman bermain Wall Maze dengan Robot VR yang dimulai dari panah hijau di bagian tengah bawah taman bermain. Angka 2 disorot dalam kotak merah, dan diposisikan di tengah kuadran kiri bawah labirin, lebih jauh ke kiri melewati huruf A. Angka 2 berada di sudut yang dibentuk oleh tiga dinding yang mengelilinginya.
  • Proyek dari Pelajaran 2 menampilkan Robot VR yang berbelok ke kiri untuk menuju huruf 'A.' Untuk menuju ke angka '2,' Robot VR harus berbelok ke kanan, melaju ke depan, lalu berbelok ke kiri.

    Tampilan dari atas Taman Bermain Labirin Dinding tempat Robot VR diposisikan di atas penanda A, menghadap dinding kiri. Sebuah panah merah menunjuk ke arah A, dan tiga panah hijau menunjukkan jalur yang dimaksud ke nomor 2. Panah hijau menunjuk ke atas menuju dinding di seberang A, lalu ke kiri menuju dinding berikutnya di sebelah kiri nomor 2, kemudian ke bawah menuju sudut yang berisi nomor 2.
  • Ubah arah perintah turn_forkedua menjadi kanan, bukan kiri. Proyek Anda sekarang akan terlihat seperti ini:

    def main():
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    	
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
    
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.stop()
  • Luncurkan Wall Maze Playground jika belum terbuka dan jalankan proyeknya.
  • Saksikan robot VR mulai mengemudi menuju angka '2,' tetapi berhenti di dinding. Oleh karena itu, Robot VR perlu berbelok ke kiri begitu menempel ke dinding, bukannya berhenti.

    Tampilan dari atas taman bermain Wall Maze dengan robot VR menghadap dinding di seberang huruf A, menunjuk ke atas.
  • Pilih tombol “Reset” untuk mereset Playground dan memindahkan Robot VR kembali ke posisi awal.Taman Bermain Labirin Dinding yang menampilkan keseluruhan antarmuka taman bermain. Tombol reset di bagian kiri bawah antarmuka playground ditandai dengan kotak merah.

     

  • Edit kode tersebut dengan menghapus perintah stop dan menggantinya dengan perintah berikut untuk menggerakkan Robot VR ke angka '2.'

    def main():
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    	
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.turn_for(RIGHT, 90, DEGREES)
    
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    	
    	while not left_bumper.pressed():
    		drivetrain.drive(FORWARD)
    		wait(5, MSEC)
    	
    	drivetrain.turn_for(LEFT, 90, DEGREES)
    
    	while not bemper_kiri.ditekan():
    		drivetrain.drive(MAJU)
    		tunggu(5, MSEC)
    	
    	drivetrain.stop()
  • Luncurkan Wall Maze Playground jika belum terbuka dan jalankan proyeknya.
  • Saksikan Robot VR mengemudi ke angka '2' di Labirin Dinding Taman Bermain!

    Pemandangan dari atas taman bermain Wall Maze. Robot VR sekarang diposisikan di atas penanda 2, menghadap dinding bawah dengan bagian depannya menempel ke dinding.
  • Pilih tombol “Reset” untuk mereset Playground dan memindahkan Robot VR kembali ke posisi awal.

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