Lompat ke isi utama

Pelajaran 2: Berkendara ke Huruf 'A'

Menggunakan Sensor Jarak untuk Menghindari Dinding 

Sekarang setelah Anda mempelajari apa itu operator perbandingan dan bagaimana operator tersebut dapat digunakan dalam suatu proyek, Anda akan menerapkan pembelajaran itu untuk mengendalikan Robot VR ke huruf 'A' diWall Maze Playground. Proyek ini akan menggunakan Sensor Jarak untuk menavigasi melalui Wall Maze Playground tanpa menabrak dinding.

Beri Nama dan Simpan Proyek

  • Mulai proyek teks baru dan pilih Wall Maze Playgroundsaat diminta. Ubin pilihan Taman Bermain Labirin Dinding.
  • Beri nama proyek Unit5Pelajaran2.
    Bilah Alat VEXcode VR dan dialog nama proyek di tengah bertuliskan Unit 5 Pelajaran 2.
  • Tarik, ketik, atau salin loopwhiledan hapus perintah Drivetrain yang terisi sebagai bagian dari templat proyek Teks baru, sehingga proyek Anda tampak seperti ini. Perhatikan perintah tersebut akan mengisi loop while dengan perintah wait di dalamnya. Jangan hapus perintah wait , itu akan memastikan Robot VR mengeksekusi proyek dengan benar.

    def main():
        sementara kondisi:
            tunggu(5, MSEC)
  • Seret, ketik, atau salin perintah drive yang tidak menunggu ke dalam loop, sehingga proyek Anda tampak seperti ini.

    def main():
        sementara kondisi:
            drivetrain.drive(MAJU)
    
            tunggu(5, MSEC)
    • Periksa apakah indentasi sudah benar dan perintah drive selaras dengan perintah wait.

Tambahkan fungsiget_distancedan operator lebih besar dari

  • Seret atau ketik perintah get_distanceke dalam 'kondisi' loop while, sehingga proyek Anda tampak seperti ini. Ketik operator lebih besar dari dan operan kedua sebagai '50. 
  • def main():
        sementara jarak_depan.dapatkan_jarak(MM) > 50:
            drivetrain.drive(MAJU)
    
            tunggu(5, MSEC)
  • Tambahkan perintah stop di luar loop while, sehingga proyek Anda tampak seperti ini. Perintah stop diperlukan setelah loop while karena Robot VR akan terus melaju hingga diperintahkan berhenti.

    def main():
        sementara jarak_depan.dapatkan_jarak(MM) > 50:
            drivetrain.berkendara(MAJU)
            tunggu(5, MSEC)
            
        drivetrain.berhenti()
  • Buka Jendela Playground jika belum terbuka, pastikanWall Maze Playgroundterbuka, dan jalankan proyek.
  • Perhatikan Robot VR melaju ke depan hingga Sensor Jarak melaporkan jarak antara Robot VR dan dinding adalah bukan yang lebih besar dari 50 milimeter (mm).Tampilan atas Wall Maze Playground dengan Robot VR berhenti di depan dinding pertama di seberang lokasi awal.
  • Atur ulang Playground untuk mengembalikan Robot VR ke posisi awal.

Lanjutkan Proyek untuk Mencapai Huruf 'A'

Menggunakan operator lebih besar dari (>) dengan perintah get_distancesebagai kondisi loop while menginstruksikan Robot VR untuk bergerak maju selama jarak antara Robot VR dan dinding lebih besar dari 50 milimeter (mm). Setelah Sensor Jarak melaporkan jarak dari Robot VR ke dinding yang tidak lebih dari 50 milimeter, Robot VR akan berhenti melaju. Untuk melanjutkan ke huruf 'A', Robot VR perlu berputar saat mendekati dinding. 

Untuk mencapai huruf 'A', Robot VR perlu mendeteksi dua dinding, dan berbelok ke kiri saat dinding ini terdeteksi. Kemudian, Robot VR akan berhenti ketika mendeteksi dinding ketiga, yang terletak di belakang huruf 'A.'
Tampilan atas Wall Maze Playground dengan Robot VR pada posisi awal, dan tiga anak panah merah yang menunjukkan jalur dari awal hingga huruf A. Anak panah pertama memanjang ke depan menuju dinding di seberangnya, anak panah kedua memanjang dari sana ke kiri hingga menghadap dinding berikutnya, dan anak panah ketiga memanjang dari sana ke bawah hingga huruf A.

  • Ganti perintah stopdengan perintah turn_for, sehingga proyek Anda tampak seperti ini. Perintah turn_fordiperlukan karena begitu Sensor Jarak berada dalam jarak 50 milimeter (mm) dari dinding, Robot VR akan berbelok ke kiri untuk terus menuju huruf 'A.'

    • Atur parameter belokan ke "KIRI, 90, DERAJAT."
    def main():
        sementara jarak_depan.dapatkan_jarak(MM) > 50:
            drivetrain.berkendara(MAJU)
            tunggu(5, MSEC)
    
        drivetrain.belok_untuk(KIRI, 90, DERAJAT)
    • Tambahkan loop whilelainnya dengan perintah drive di dalam, di bawah perintah turn_for . Tetapkan kondisi menggunakan perintah get_distancesebagai operan pertama, operator lebih besar dari dan konstanta '50' sebagai operan kedua.
        sementara jarak_depan.dapatkan_jarak(MM) > 50:
            drivetrain.berkendara(MAJU)
            tunggu(5, MSEC)
    • Terakhir, tambahkan perintah berikut di bawah loop while kedua untuk menginstruksikan Robot VR untuk mendeteksi dinding terakhir di belakang huruf 'A' lalu berhenti melaju. Pastikan bahwa perintah turn_for dan perintah stop berada di luar loop while masing-masing.
        drivetrain.turn_for(KIRI, 90, DERAJAT)
    
        sementara jarak_depan.get_jarak(MM) > 50:
            drivetrain.drive(MAJU)
            tunggu(5, MSEC)
    
        drivetrain.stop()
    • Luncurkan Wall Maze Playground jika belum terbuka dan jalankan proyeknya.
    • Saksikan Robot VR melaju dari awal Wall Maze hingga huruf 'A,' lalu berhenti.

    Tampilan atas ke bawah Wall Maze Playground dengan Robot VR di lokasi awal di bagian tengah bawah Playground. Huruf A berada tepat di sebelah kiri robot, dipisahkan oleh dinding pendek.

    • Perhatikan bahwa Robot VR tidak menabrak dinding mana pun saat melaju ke huruf 'A'. Ketika nilai Sensor Jarak melaporkan bahwa Robot VR tidak lebih besar dari 50 milimeter (mm) dari dinding, Robot VR diinstruksikan untuk berputar atau berhenti di proyek.

Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.