Lompat ke isi utama

Pelajaran 2: Menggunakan Blok [Tunggu sampai]

Dalam Pelajaran ini, Anda akan membuat proyek menggunakan Bumper Sensor dan blok [Tunggu hingga]. Dalam tantangan mini, Anda akan menerapkan keterampilan ini untuk menavigasi dari awal Wall Maze hingga huruf 'A'.

Tampak samping Wall Maze Playground dengan Robot VR tepat di depan dinding, memperlihatkan bahwa dinding tersebut memiliki tiga dimensi dan robot dapat bertabrakan dengannya.

Hasil belajar

  • Identifikasi bahwa blok yang tidak menunggu memiliki tumpukan yang terus berlanjut meskipun perilaku blok belum selesai.
  • Identifikasi bahwa blok yang menunggu menghentikan tumpukan hingga perilaku blok tersebut selesai.
  • Identifikasi bahwa penyorotan eksekusi proyek memvisualisasikan blok yang menunggu vs. yang tidak menunggu.
  • Identifikasi bahwa blok [Tunggu hingga] adalah blok Kontrol yang menerima nilai Boolean.
  • Identifikasi bahwa blok [Tunggu hingga] akan berulang kali memeriksa kondisi Boolean dan tidak akan berpindah ke blok berikutnya hingga kondisi melaporkan BENAR.
  • Identifikasi bahwa blok [Tunggu hingga] digunakan dengan blok yang tidak menunggu (misalnya Drive) untuk memeriksa kondisi sensor.
  • Identifikasi bahwa blok <Pressing bumper> melaporkan nilai BENAR atau SALAH dalam blok [Tunggu sampai].
  • Identifikasi bagaimana blok [Drive for] dan [Turn for] menjadi blok khusus yang bisa menunggu atau tidak menunggu.
  • Jelaskan cara membuat proyek yang melibatkan Robot VR yang bergerak maju hingga Sensor Bumper ditekan.

Beri Nama dan Simpan Proyek

  • Mulai proyek baru di VEXcode VR dan beri nama proyek Unit4Lesson2.
Kotak nama proyek di tengah Toolbar VEXcode VR, disorot dengan kotak merah, di sebelah kiri tombol Pilih Taman Bermain.

[Tunggu sampai] Blok

Blok [Tunggu sampai] adalah blok Kontrol yang menerima kondisi Boolean. [Tunggu hingga] blok berulang kali memeriksa kondisi Boolean dan mengendalikan alur proyek. Suatu proyek tidak akan berpindah ke blok berikutnya dalam tumpukan sampai kondisi di blok [Tunggu sampai] melaporkan BENAR. Blok [Tunggu sampai] digunakan bersama dengan blok yang tidak menunggu seperti [Berkendara] atau [Belok].

Untuk Informasi Anda

Blok tidak menunggu dan menunggu menentukan kapan blok berikutnya memulai suatu perilaku. Blok yang menunggu, seperti [Berkendara] dan [Berbelok], menyelesaikan perilakunya sebelum berpindah ke blok berikutnya dalam tumpukan. Blok yang tidak menunggu, seperti [Drive] dan [Turn], terus berpindah ke blok berikutnya dalam tumpukan meskipun perilaku blok yang tidak menunggu belum selesai.

Blok tertentu, seperti [Berkendara] dan [Belok] dapat berupa blok yang menunggu atau tidak menunggu. Memilih tanda panah pada blok akan mengubah blok dari menunggu menjadi blok tidak menunggu.

Dorongan untuk blok ditunjukkan dengan tanda panah di sebelah kanan blok tertutup dan terbuka. Di bagian atas, terdapat blok bertuliskan Drive forward for 200mm. Di bagian bawah, blok yang sama diperpanjang untuk membaca Berkendara maju sejauh 200mm dan jangan menunggu.

Menggunakan Blok Switch

Blok Switch yang tidak menunggu menambahkan parameter "wait=False" di akhir blok. "wait=False" adalah perintah Python yang memberi tahu blok untuk tidak menunggu dan terus berpindah ke blok berikutnya dalam tumpukan.

Blok Switch yang ekuivalen ditunjukkan dengan dorongan untuk perintah sebagai perintah menunggu dan tidak menunggu. Di atas, perintah Python di blok Switch membaca drivetrain dot drive_for (FORWARD, 200, MM).. Di bagian bawah, perintah yang sama diperluas untuk membaca drivetrain dot drive _ for (FORWARD, 200, MM, wait = false).

  • Seret blok [Drive] yang tidak menunggu ke ruang kerja.

    Proyek VEXcode VR baru Dengan blok Saat dimulai dengan blok penggerak terpasang dan diatur untuk diteruskan.
  • Lampirkan blok [Tunggu hingga] di bawah blok [Berkendara].

    Proyek yang sama dengan menunggu hingga blok ditambahkan ke bagian bawah tumpukan. Parameter blok Tunggu hingga kosong.
  • Blok [Tunggu sampai] menerima kondisi Boolean. Proyek ini akan menggunakan Bumper Sensor untuk melewati Wall Maze Playground. Seret blok Boolean <Pressing bumper> ke blok [Tunggu sampai].

    Proyek yang sama dengan blok Bumper ditekan ditambahkan ke parameter blok Tunggu hingga. Proyek kini berbunyi Saat dimulai, maju terus, tunggu hingga Bumper kiri ditekan.
  • Seret blok [Berhenti mengemudi] dan tambahkan ke proyek.

    Proyek yang sama dengan blok berhenti mengemudi ditambahkan di bawah blok tunggu sampai. Proyek sekarang berbunyi Saat dimulai, melajulah ke depan, tunggu hingga bemper kiri ditekan, lalu berhentilah melaju.
  • Luncurkan Wall Maze Playground jika belum terbuka dan jalankan proyeknya.
  • Saksikan Robot VR melaju dari awal Wall Maze dan berhenti saat Bumper Sensor ditekan oleh dinding.
  • Blok [Drive] memungkinkan Robot VR terus melaju ke depan sambil memeriksa kondisi Bumper Sensor dengan blok <Pressing bumper>. Setelah <Pressing bumper> melaporkan BENAR, Robot VR akan berpindah ke blok berikutnya dalam tumpukan dan berhenti bergerak.

    Proyek VEXcode VR dari pelajaran ini dipecah untuk menunjukkan alur proyek. Blok Saat dimulai diikuti oleh blok maju. Panah emas menunjuk ke bawah dari blok penggerak maju di blok Tunggu hingga bemper kiri ditekan. Di sebelah kanan blok terdapat 2 panah merah melengkung yang menunjukkan gerakan melingkar dan kata-kata "tidak ditekan (salah)" yang menunjukkan apa yang terjadi saat robot melaju ke depan dan sakelar bumper tidak ditekan. Di bawah blok Tunggu hingga, panah hijau yang menunjuk ke bawah pada blok berhenti mengemudi dengan kata-kata "ditekan (benar)" menunjukkan bahwa proyek akan berpindah ke blok berhenti mengemudi saat sakelar bumper ditekan.

    Untuk Informasi Anda

    Untuk mengikuti visualisasi blok yang menunggu versus yang tidak menunggu, lihat fungsi penyorotan eksekusi kode di VEXcode VR. Pada awal proyek ini, sorotan hijau akan muncul di sekitar blok [Tunggu hingga] hingga kondisi terpenuhi. Hal ini karena blok [Tunggu sampai] adalah blok menunggu. Sorotan hijau akan muncul untuk melewati blok yang tidak menunggu karena perintah ini dieksekusi dengan cepat.

    Proyek VEXcode VR dari pelajaran ini dengan kotak keterangan merah di sekitar blok Tunggu hingga, yang menunjukkan itu adalah blok yang menunggu.

     

    Menggunakan Blok Switch 

    Ini adalah blok Switch yang berisi perintah [Tunggu sampai] dengan <Bumper pressed>  Reporter Boolean.

    Proyek VEXcode VR seperti di atas, tetapi dengan blok Tunggu hingga diganti dengan blok Beralih. Perintah Python di blok Switch membaca saat bukan left_bumper.pressed(): pada baris pertama. Kemudian di bagian bawah blok Python tertulis wait (5, msec).

    while not left_bumper.pressed():adalah perintah Python yang memeriksa apakah bumper kiri sedang ditekan.

    wait (5, MSEC)adalah perintah Python yang menghentikan sementara eksekusi pemeriksaan selama 5 milidetik (MSEC), sehingga proyek memeriksa apakah bumper kiri ditekan setiap 5 MSEC. Baris kode ini menjorok di bawah baris kode pertama karena perintah ini adalah perilaku yang akan berulang hingga kondisi (dalam kasus ini, bumper kiri ditekan) terpenuhi.

    Dalam VEXcode VR, perintah wait selalu ditambahkan dengan loop kondisional. Tujuan dari perintah wait adalah untuk memastikan bahwa VEXcode VR dapat menjalankan proyek sebagaimana mestinya, mengingat sifat platform VEXcode VR yang berbasis web. Perintah wait tidak boleh dihapus saat menggunakan loop kondisional, karena proyek Anda mungkin tidak berjalan sebagaimana mestinya.

    Setelah bemper kiri ditekan, robot akan berhenti melaju.

Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.