Lompat ke isi utama

Pelajaran 3: Menggunakan blok [If then]

Dalam Tantangan Labirin Cakram, Robot VR memeriksa kondisi Sensor Mata Depan untuk melihat warna apa yang dilaporkan. Setiap warna sesuai dengan perilaku berbeda yang harus dilakukan Robot VR.

VEXcode VR If Then Blok C dengan parameter boolean 'Front Eye mendeteksi warna merah?'.
  • Mulai proyek baru dan beri nama Unit7Lesson3.

    Bilah Alat VEXcode VR dengan tombol 'Nama Proyek' disorot dalam kotak merah, di sebelah kiri tombol Pilih Taman Bermain. Nama proyek ditetapkan pada Unit 7 Pelajaran 3.
  • Seret blok [Jika maka] ke dalam ruang kerja dan tempelkan ke blok [Saat dimulai].

    Blok program VEXcode VR dengan blok When Started dan blok If Then C yang kosong.

    Untuk Informasi Anda

    Blok [Jika maka] adalah blok C yang menerima blok reporter Boolean sebagai masukan. Dengan menggunakan pola yang diamati saat memecahkan Labirin Cakram dalam Pelajaran 2, sebuah proyek dapat dibuat di mana Robot VR membuat keputusan apakah kondisi dilaporkan sebagai BENAR atau SALAH.

    VEXcode VR If Then Blok C dengan kotak merah yang menyorot ruang parameter boolean.

    Blok [Jika maka] akan dijalankan satu kali dalam suatu proyek. Dalam contoh ini, Front Eye Sensor akan melaporkan TRUE jika objek hijau terdeteksi, dan menjalankan perintah di dalam blok C - belok kanan sejauh 90 derajat. Jika objek hijau tidak terdeteksi, proyek akan berpindah ke perintah berikutnya dalam tumpukan.

    VEXcode VR memblokir proyek yang berbelok ke kanan jika Front Eye mendeteksi warna hijau. Proyek tersebut berbunyi: Saat dimulai, jika mata depan mendeteksi warna hijau, maka belok kanan sejauh 90 derajat. Di luar pernyataan if terdapat blok penggerak berhenti.

    Menggunakan Blok Switch 


    Gambar di bawah menunjukkan pernyataan blok Switch [If then] untuk proyek contoh Pelajaran ini. 

    Proyek blok VR VEXcode yang sama tetapi dengan blok sakelar disertakan, yang berbelok ke kanan jika Front Eye mendeteksi warna hijau. Proyek diawali dengan blok Ketika dimulai dan diikuti oleh blok C versi blok Jika Maka. Kode Python berbunyi 'if front_eye.detect(GREEN): drivetrain.turn_for(RIGHT, 90, DEGREES)'. Di luar pernyataan if terdapat blok penggerak berhenti.

    Proyek di bawah ini menyertakan perintah yang sama yang diubah menjadi satu blok Switch.  

    Baris kode pertama, jika front_eye.detect(GREEN): adalah perulangan kondisional yang memeriksa apakah Sensor Mata Depan mendeteksi warna hijau. Perhatikan bahwa harus ada titik dua (:) di akhir baris ini. 

    Baris kode kedua, drivetrain.turn_for(RIGHT, 90, DEGREES) memberi tahu robot untuk berbelok ke kanan sejauh 90 derajat saat Front Eye Sensor mendeteksi warna hijau. Baris ini diindentasi dengan default 4 spasikarena ini adalah perilaku spesifik yang akan dilakukan jika Front Eye Sensor mendeteksi warna hijau. 

    Proyek blok VR VEXcode yang sama tetapi dengan blok sakelar disertakan, yang berbelok ke kanan jika Front Eye mendeteksi warna hijau. Proyek diawali dengan blok Ketika dimulai dan diikuti oleh blok C versi blok Jika Maka. Kode Python berbunyi 'if front_eye.detect(GREEN): drivetrain.turn_for(RIGHT, 90, DEGREES)'. Di luar pernyataan if terdapat blok penggerak berhenti.

  • Seret blok <Color sensing> ke ruang kerja ke input heksagonal blok [Jika maka].

    VEXcode VR memblokir proyek yang menggunakan pernyataan if untuk merasakan warna suatu disk. Dimulai dengan blok Saat Dimulai dan kemudian blok komentar yang berbunyi 'jika Front Eye mendeteksi hijau maka belok kanan'. Terakhir, ada blok If Then yang kosong dengan parameter boolean dari blok Color Sensing yang berbunyi 'Front Eye mendeteksi warna merah?'.
  • Ubah parameter blok <Color sensing> menjadi 'hijau.'

    VEXcode VR memblokir proyek yang menggunakan pernyataan if untuk mendeteksi cakram hijau. Dimulai dengan blok Saat Dimulai dan kemudian blok komentar yang berbunyi 'jika Front Eye mendeteksi hijau maka belok kanan'. Terakhir, ada blok If Then yang kosong dengan parameter boolean dari blok Color Sensing yang berbunyi 'Front Eye mendeteksi warna hijau?'. Menu tarik-turun warna terbuka untuk mengubah warna dari merah ke hijau.
  • Saat Sensor Mata Depan mendeteksi cakram hijau, Robot VR perlu berbelok ke kanan 90 derajat untuk mulai memecahkan Labirin Cakram. Seret blok [Putar untuk] ke blok [Jika maka].

    VEXcode VR memblokir proyek yang menggunakan pernyataan if untuk merasakan cakram hijau dan kemudian berbelok ke kanan. Dimulai dengan blok Saat Dimulai dan kemudian blok komentar yang berbunyi 'jika Front Eye mendeteksi hijau maka belok kanan'. Terakhir ada blok If Then dengan parameter boolean dari blok Color Sensing yang bertuliskan 'Front Eye mendeteksi warna hijau?' dan blok Turn right sejauh 90 derajat di dalam kontainer If yang akan terpicu jika boolean bernilai true.
  • Ikuti langkah yang sama untuk menambahkan blok [Jika maka] lainnya untuk ketiga warna di Disk Maze (hijau, biru, dan merah). Setiap warna dikaitkan dengan perilaku yang berbeda. Blok di dalam blok [If then] harus sesuai dengan perilaku yang dimaksudkan. Tambahkan blok berikut ke proyek. Saat Robot VR mendeteksi warna 'biru,' Robot VR akan berbelok ke kiri 90 derajat.

    Proyek blok VR VEXcode yang sama dari sebelumnya tetapi dengan pernyataan if tambahan untuk berbelok ke kiri jika ada cakram biru. Dimulai dengan blok When Started dan kemudian ada blok If Then dengan parameter boolean berupa blok Color Sensing yang bertuliskan 'Front Eye mendeteksi warna hijau?' dan blok Turn right for 90 degrees di dalam wadah If. Terakhir, ada blok if dan tumpukan blok turn yang sama, tetapi diubah menjadi belok kiri sejauh 90 derajat jika warna biru terdeteksi.
  • Saat Robot VR mencapai ujung labirin, Robot VR akan mendeteksi warna 'merah.'

    Robot VR di taman bermain VR Disk Maze, robot berhenti dan melihat ke arah cakram merah.
  • Untuk menghentikan Robot VR, blok [Jika maka] lain perlu ditambahkan dengan instruksi tentang apa yang harus dilakukan saat Robot VR mendeteksi 'merah.' Tambahkan blok berikut ke proyek.

    Proyek blok VR VEXcode yang sama dari sebelumnya tetapi dengan pernyataan if tambahan untuk menghentikan penggerak jika ada cakram merah. Dimulai dengan blok When Started dan kemudian ada blok If Then dengan parameter boolean berupa blok Color Sensing yang bertuliskan 'Front Eye mendeteksi warna hijau?' dan blok Turn right for 90 degrees di dalam wadah If. Berikutnya ada blok if yang sama dan tumpukan blok turn tetapi diubah menjadi belok kiri sejauh 90 derajat jika warna biru terdeteksi. Terakhir, blok if dan tumpukan blok turn yang sama digunakan tetapi diubah ke Stop Driving jika warna merah terdeteksi.
  • Robot VR juga dapat membuat keputusan jika tidak melihat warna dengan menggunakan nilai 'none'. Pada titik awal Disk Maze, Robot VR tidak mendeteksi warna apa pun.

    Tampilan taman bermain VR dengan dasbor terbuka dan kotak merah yang menyorot nilai penginderaan Front Eye robot. Nilai 'Objek' saat ini adalah salah, dan nilai 'Warna' saat ini adalah tidak ada.
  • Karena Sensor Mata Depan tidak mendeteksi warna di awal Labirin Cakram, Robot VR perlu melaju ke depan hingga mendeteksi cakram hijau. Blok [Jika maka] lainnya dapat ditambahkan untuk memberi instruksi kepada Robot VR tentang apa yang harus dilakukan ketika tidak ada warna yang terdeteksi.

    Blok Penginderaan Warna VR VEXcode, yang bertuliskan 'Mata Depan tidak mendeteksi apa pun?'. Ada menu tarik-turun yang terbuka untuk menunjukkan bagaimana pengguna dapat mengubah warna target menjadi tidak ada.
  • Tambahkan blok berikut ke proyek. Jika Robot VR tidak mendeteksi warna apa pun, Robot VR akan melaju maju.

    Proyek blok VEXcode VR yang sama dari sebelumnya tetapi dengan pernyataan if tambahan untuk mendorong maju jika tidak ada disk yang terdeteksi. Dimulai dengan blok When Started dan kemudian ada blok If Then dengan parameter boolean berupa blok Color Sensing yang bertuliskan 'Front Eye mendeteksi warna hijau?' dan blok Turn right for 90 degrees di dalam wadah If. Berikutnya ada blok if yang sama dan tumpukan blok turn tetapi diubah menjadi belok kiri sejauh 90 derajat jika warna biru terdeteksi. Berikutnya, blok if dan tumpukan blok turn yang sama digunakan tetapi diubah ke Stop Driving jika warna merah terdeteksi. Terakhir, blok if dan tumpukan blok turn yang sama digunakan tetapi diubah ke Drive Forward jika tidak ada warna yang terdeteksi.
  • Robot VR sekarang memiliki instruksi untuk setiap warna yang dideteksi oleh Sensor Mata.
    • Sensor Mata Depan mendeteksi 'hijau?'
      • Belok kanan 90 derajat
    • Sensor Mata Depan mendeteksi 'biru?'
      • Belok kiri 90 derajat
    • Sensor Mata Depan mendeteksi 'merah?'
      • Berhenti mengemudi
    • Sensor Mata Depan mendeteksi 'tidak ada?'
      • Berkendara maju
  • Buka Disk Maze Playground dan jalankan proyeknya.

Pilih tombol Berikutnya untuk melanjutkan sisa Pelajaran ini.