Langsung ke konten utama

Pelajaran 2: Menggunakan Blok [Tunggu sampai]

Dalam pelajaran ini, Anda akan membuat proyek menggunakan Bumper Sensor dan blok [Tunggu sampai]. Dalam tantangan mini ini, Anda akan menerapkan keterampilan ini untuk menavigasi dari awal Labirin Dinding ke huruf 'A.'

Tampilan samping dari Taman Bermain Labirin Dinding dengan Robot VR tepat di depan dinding, menunjukkan bahwa dinding tersebut tiga dimensi dan robot dapat bertabrakan dengannya.

Hasil belajar

  • Identifikasi bahwa blok yang tidak menunggu akan membuat tumpukan terus berjalan meskipun perilaku blok tersebut belum selesai.
  • Identifikasi bahwa blok tunggu akan menghentikan sementara tumpukan hingga perilaku blok tersebut selesai.
  • Identifikasi bahwa penyorotan eksekusi proyek memvisualisasikan blok menunggu versus blok tidak menunggu.
  • Identifikasi bahwa blok [Wait until] adalah blok Kontrol yang menerima nilai Boolean.
  • Identifikasi bahwa blok [Tunggu sampai] akan berulang kali memeriksa kondisi Boolean dan tidak akan beralih ke blok berikutnya sampai kondisi tersebut bernilai TRUE.
  • Identifikasi bahwa blok [Tunggu hingga] digunakan dengan blok yang tidak menunggu (misalnya, Drive) untuk memeriksa kondisi sensor.
  • Identifikasi bahwa blok <Pressing bumper> melaporkan nilai TRUE atau FALSE dalam blok [Tunggu sampai].
  • Identifikasi bagaimana blok [Drive for] dan [Turn for] adalah blok khusus yang dapat berupa blok menunggu atau tidak menunggu.
  • Jelaskan cara membuat proyek yang memungkinkan Robot VR bergerak maju hingga Sensor Bumper ditekan.

Beri nama dan simpan proyek tersebut.

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

[Tunggu sampai] Blok

Blok [Tunggu sampai] adalah blok Kontrol yang menerima kondisi Boolean. Blok [Wait until] berulang kali memeriksa kondisi Boolean dan mengontrol alur proyek. Sebuah proyek tidak akan berpindah ke blok berikutnya dalam tumpukan sampai kondisi di blok [Tunggu sampai] dilaporkan sebagai TRUE. Blok [Tunggu sampai] digunakan bersamaan dengan blok tanpa menunggu seperti [Berkendara] atau [Berputar].

Untuk Informasi Anda

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

Blok tertentu, seperti [Berkendara untuk] dan [Berbelok untuk], bisa berupa blok tunggu atau bukan blok tunggu. Memilih tanda panah pada blok akan mengubah status blok dari menunggu menjadi tidak menunggu.

Penggerak untuk blok ditunjukkan dengan panah di sebelah kanan blok, baik dalam keadaan tertutup maupun terbuka. Di bagian atas, terdapat tulisan "Dorong maju sejauh 200mm" untuk blok penggerak. Di bagian bawah, blok yang sama diperpanjang menjadi bertuliskan "Berkendara maju sejauh 200 mm dan jangan menunggu."

Menggunakan Blok Sakelar

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

Blok Switch yang setara ditunjukkan dengan drive untuk perintah sebagai perintah yang menunggu dan tidak menunggu. Di bagian atas, perintah Python di blok Switch berbunyi 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.

    Sebuah proyek VEXcode VR baru dengan blok "When started" yang dilengkapi blok penggerak dan diatur untuk maju.
  • Tambahkan blok [Tunggu sampai] di bawah blok [Kendaraan].

    Proyek yang sama dengan blok tunggu hingga ditambahkan di bagian bawah tumpukan. Parameter blok Tunggu hingga kosong.
  • Blok [Tunggu sampai] menerima kondisi Boolean. Proyek ini akan menggunakan Sensor Bumper untuk melewati Labirin Dinding Taman Bermain. Seret blok Boolean <Pressing bumper> ke dalam blok [Tunggu sampai].

    Proyek yang sama dengan blok Bumper yang ditambahkan ke parameter blok Tunggu hingga. Petunjuk pada proyek tersebut sekarang berbunyi: Saat dimulai, kendarai ke depan, tunggu hingga bemper kiri ditekan.
  • Seret blok [Berhenti mengemudi] dan tambahkan ke proyek.

    Proyek yang sama dengan tambahan blok "berhenti mengemudi" di bawah blok "tunggu sampai". Petunjuk pada proyek tersebut sekarang berbunyi: Saat dinyalakan, kendarai ke depan, tunggu hingga bemper kiri ditekan, lalu berhenti mengemudi.
  • Luncurkan Wall Maze Playground jika belum terbuka dan jalankan proyeknya.
  • Saksikan Robot VR bergerak dari awal Labirin Dinding dan berhenti ketika Sensor Bumper ditekan oleh dinding.
  • Blok [Drive] memungkinkan Robot VR untuk terus bergerak maju sambil memeriksa kondisi Sensor Bumper dengan blok <Pressing bumper>. Setelah angka <Pressing bumper> dilaporkan sebagai TRUE, Robot VR akan berpindah ke blok berikutnya dalam tumpukan dan berhenti bergerak.

    Proyek VR VEXcode dari pelajaran ini diuraikan untuk menunjukkan alur proyek. Blok "When started" diikuti oleh blok "drive forward". Sebuah panah emas menunjuk ke bawah dari blok "maju" di blok "Tunggu hingga bumper 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 ketika robot bergerak maju dan sakelar bemper tidak ditekan. Di bawah blok Tunggu hingga, sebuah panah hijau yang menunjuk ke bawah ke blok berhenti mengemudi dengan tulisan "ditekan (benar)" menunjukkan bahwa proyek akan berpindah ke blok berhenti mengemudi ketika sakelar bemper ditekan.

    Untuk Informasi Anda

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

    Proyek VEXcode VR dari pelajaran ini dengan kotak keterangan merah di sekitar blok "Tunggu sampai", yang menunjukkan bahwa itu adalah blok tunggu.

     

    Menggunakan Blok Sakelar 

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

    Proyek VEXcode VR seperti di atas, tetapi blok "Wait until" diganti dengan blok "Switch". Perintah Python dalam blok Switch berbunyi while not left_bumper.pressed(): pada baris pertama. Kemudian, di bawah blok Python terdapat indentasi yang bertuliskan wait (5, msec).

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

    wait (5, MSEC)adalah perintah Python yang menghentikan eksekusi pemeriksaan selama 5 milidetik (MSEC), sehingga proyek memeriksa apakah bumper kiri ditekan atau tidak setiap 5 MSEC. Baris kode ini diberi indentasi di bawah baris kode pertama karena perintah ini adalah perilaku yang akan diulang sampai kondisi (dalam hal ini, tombol bumper kiri ditekan) terpenuhi.

    Di VEXcode VR, perintah wait selalu ditambahkan dengan perulangan kondisional. Tujuan dari perintah wait adalah untuk memastikan bahwa VEXcode VR dapat menjalankan proyek dengan benar sesuai yang diharapkan, karena sifat platform VEXcode VR yang berbasis web. Perintah wait tidak boleh dihapus saat menggunakan perulangan bersyarat, karena proyek Anda mungkin tidak berjalan sesuai yang diharapkan.

    Begitu bumper kiri ditekan, robot akan berhenti bergerak.

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