Lompat ke isi utama

Pelajaran 2: Berkendara ke Disk Berikutnya

Berkendara ke Blue Disks

Proyek sebelumnya membuat Robot VR berbelok ke kanan saat Sensor Mata Depan mendeteksi cakram hijau, yang membawa Robot VR melalui langkah pertama di labirin. Sekarang, kita akan terus membangun proyek tersebut sehingga Robot VR melaju ke empat disk pertama di Disk Maze Playground.

Melihat ke mana Robot VR menghadap setelah berbelok ke kanan di cakram hijau, kita dapat melihat bahwa untuk menavigasi ke tiga cakram biru berikutnya, Robot VR harus melaju ke depan dan berbelok ke kiri di setiap cakram biru. Kita dapat menggunakan logika yang sama dari perulangansementaradengan kondisibukanagar Robot VR terus melaju melalui labirin, dan berbelok ke kiri saat mendeteksi cakram biru.Tampilan atas-bawah taman bermain labirin cakram. Robot pada cakram hijau pertama menghadap ke kanan ke arah cakram biru pertama. Panah hitam diperlihatkan untuk menunjukkan bagaimana robot harus bergerak. Ini menunjukkan robot akan melaju ke cakram biru, berbelok ke kiri, melaju ke cakram biru kedua, berbelok ke kiri, dan berhenti di cakram biru ketiga.

  • Tambahkan komentar lain di bawah turn_for dalam proyek yang ada untuk mendeskripsikan perilaku Robot VR berikutnya. Proyek Anda akan terlihat seperti ini:
def main():
    # Berkendara ke cakram pertama (hijau), belok kanan
    while not front_eye.detect(GREEN):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)

    # Berkendara ke cakram kedua (biru), belok kiri
  • Di bawah komentar baru, tambahkan loop while lainnya dengan kondisi not. Tetapkan kondisi ke perintah deteksidan tetapkan parameter ke "BIRU", karena disk berikutnya yang akan ditemui Robot VR berwarna biru.
    # Berkendara ke disk ke-2 (biru), belok kiri
    saat tidak ada front_eye.detect(BLUE):
        wait(5, MSEC)
  • Di dalam loop while , seret atau ketik perintah drive yang tidak menunggu. 
    # Berkendara ke disk ke-2 (biru), belok kiri
    saat tidak ada front_eye.detect(BLUE):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)
  • Tarik atau ketik perintah turn_for , dan atur parameter untuk berbelok ke kiri 90 derajat.
    # Berkendara ke cakram ke-2 (biru), belok kiri
    saat tidak ada front_eye.detect(BLUE):
        drivetrain.drive(MAJU)
        tunggu(5, MSEC)

    drivetrain.turn_for(KIRI, 90, DERAJAT)
  • Jalankan proyek untuk melihat bagaimana Robot VR bergerak melalui Disk Maze Playground.Tampilan atas bawah Robot VR di Disk Maze Playground dengan panah hitam yang menunjukkan robot akan melaju ke cakram hijau tepat di seberang lokasi awal, lalu belok kanan, melaju ke depan ke cakram biru, belok kiri, lalu berhenti melaju.
    • Perhatikan bahwa Robot VR berbelok ke kanan saat Sensor Mata Depan mendeteksi cakram hijau, dan berbelok ke kiri saat Sensor Mata Depan mendeteksi cakram biru.
  • Lanjutkan membangun proyek ini untuk menggerakkan Robot VR ke dua cakram biru lagi di Disk Maze Playground menggunakan Sensor Mata Depan. Tambahkan perintah ke proyek, navigasikan Robot VR ke dua disk berikutnya, lalu berhenti. Proyek lengkap Anda sekarang akan terlihat seperti ini:
def main():
    # Berkendara ke cakram pertama (hijau), belok kanan
    saat tidak ada front_eye.detect(GREEN):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)

    # Berkendara ke cakram kedua (biru), belok kiri
    saat tidak ada front_eye.detect(BLUE):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(LEFT, 90, DEGREES)

    # Berkendara ke cakram keempat (biru), belok kiri 16 ...
        drivetrain.drive(FORWARD) 14 drivetrain.turn_for(LEFT, 90, DEGREES) 15 # Berkendara ke cakram keempat (biru), belok kiri
    saat tidak ada front_eye.detect(BLUE):

    drivetrain.turn_for(LEFT, 90, DEGREES) 15 # Berkendara ke cakram keempat (biru), belok kiri
        saat tidak ada front_eye.detect(BLUE):

    # Berkendara ke cakram keempat (biru), belok kiri
    saat tidak ada front_eye.detect(BLUE): 16 drivetrain.drive(FORWARD) 17 # Berkendara ke front_eye.detect(BLUE):
        drivetrain.drive(MAJU)
        wait(5, MSEC)

    drivetrain.turn_for(KIRI, 90, DERAJAT)

Mengidentifikasi Pola dalam Pergerakan Robot VR

Sasaran navigasi Disk Maze dengan Front Eye Sensor dengan sukses adalah untuk menciptakan pola konsisten di mana Robot VR berbelok ke kanan saat Front Eye Sensor mendeteksi disk hijau, dan ke kiri saat Front Eye Sensor mendeteksi disk biru. Mengidentifikasi pola seperti ini dapat membantu Anda menyederhanakan proyek Anda seiring bertambahnya kompleksitas.

Tampilan atas-bawah taman bermain labirin cakram. Robot berada di lokasi awal. Anak panah menunjukkan lintasan yang akan diambil robot Vr, menunjukkan gerakan maju ke cakram hijau pertama, belok kanan, gerakan ke cakram biru, belok kiri, gerakan ke cakram biru kedua, belok kiri, dan berhenti di cakram biru ketiga.

Untuk Informasi Anda

Perhatikan bahwa ada pola dalam urutan perintah dalam proyek juga. Ada serangkaian perintah (untuk cakram biru) yang diulang tiga kali dalam proyek. Bagian kode ini dapat diringkas dengan menggunakan loop untuk . Proyek yang ditunjukkan di sini menggabungkan ketiga loop sementara yang terkait dengan cakram biru menjadi satu loop untuk.

def main():
    # Berkendara ke cakram pertama (hijau), belok kanan
    saat tidak ada front_eye.detect(GREEN):
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)

    # Berkendara ke 3 cakram berikutnya (biru), belok kiri
    untuk nilai dalam rentang(3): 
        saat tidak ada front_eye.detect(BLUE):
            drivetrain.drive(FORWARD)
            wait(5, MSEC)

        drivetrain.turn_for(LEFT, 90, DEGREES)

Menggunakan loopuntukdapat membuat proyek Anda lebih sederhana dan lebih mudah dibaca, tetapi berisi perintah berulang di dalam satu loop.

  • Buka Disk Maze Playground jika belum terbuka, dan jalankan proyeknya.
  • Saksikan Robot VR menavigasi ke empat cakram di Disk Maze Playground.

    Tampilan atas-bawah taman bermain labirin cakram. Robot berada di lokasi awal. Anak panah menunjukkan lintasan yang akan diambil robot VR, menunjukkan gerakan maju ke cakram hijau pertama, belok kanan, gerakan ke cakram biru, belok kiri, gerakan ke cakram biru kedua, belok kiri, dan berhenti di cakram biru ketiga. Kotak merah berada pada cakram biru terakhir yang menunjukkan lokasi akhir.
  • Dalam proyek ini, Robot VR bergerak maju hingga Sensor Mata Depan mendeteksi warna hijau.
    • Robot VR berbelok ke kanan 90 derajat dan melaju ke depan lagi hingga warna biru terdeteksi.
    • Robot VR kemudian berbelok ke kiri dan melaju ke depan hingga Sensor Mata Depan mendeteksi warna biru. Setelah warna biru terdeteksi, Robot VR berbelok ke kiri lagi.
    • Terakhir, Robot VR bergerak maju hingga Sensor Mata Depan mendeteksi warna biru, lalu berhenti.
  • Perhatikan pola ketika Sensor Mata Depan mendeteksi warna hijau, Robot VR berbelok ke kanan. Ketika Sensor Mata Depan mendeteksi warna biru, Robot VR berbelok ke kiri dalam proyek ini.

Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.