Kontrol#
Perkenalan#
Blok Kontrol di VEXcode AIR mengelola alur proyek dengan menangani perulangan, kondisi, dan menunda eksekusi blok.
Sebuah loop terjadi ketika komputer mengulangi langkah atau kelompok langkah yang sama berulang kali hingga diperintahkan untuk berhenti. Sebuah kondisi adalah aturan yang diperiksa komputer untuk memutuskan apa yang harus dilakukan selanjutnya. Misalnya, drone dapat terbang maju ketika tombol kontrol ditekan.
Berikut adalah daftar blok yang tersedia:
tunggu — Menghentikan sementara eksekusi blok untuk durasi tertentu.
tunggu sampai — Menghentikan sementara eksekusi blok hingga kondisi tertentu terpenuhi.
repeat — Mengulangi sekumpulan blok sebanyak jumlah tertentu.
selamanya — Mengulangi serangkaian blok tanpa batas.
ulangi sampai — Mengulangi serangkaian blok sampai suatu kondisi terpenuhi.
while — Mengulang serangkaian blok selama suatu kondisi tetap benar.
if — Menjalankan serangkaian blok jika suatu kondisi benar.
if / else — Menjalankan satu set blok jika suatu kondisi benar, jika tidak, menjalankan set blok lainnya.
if / else if / else — Menjalankan serangkaian blok yang berbeda tergantung pada beberapa kondisi.
break — Keluar dari loop dengan segera.
hentikan proyek — Mengakhiri proyek.
Tunggu#
Blok tumpukan tunggu menghentikan eksekusi blok untuk jangka waktu tertentu sebelum beralih ke blok berikutnya.
tunggu (1) detik
Parameter |
Keterangan |
|---|---|
waktu |
Jumlah waktu yang harus ditunggu, sebagai bilangan bulat positif atau desimal dalam detik. |
Contoh
saat dimulai
[Fly for 1 second.]
terbang ke ketinggian (500) [mm v] ▶
tunggu [1] detik
mendarat ▶
tunggu sampai#
Blok tumpukan tunggu sampai menghentikan eksekusi blok hingga kondisi tertentu terpenuhi sebelum beralih ke blok berikutnya.
tunggu sampai <>
Parameter |
Keterangan |
|---|---|
kondisi |
Kondisi yang harus dipenuhi sebelum melanjutkan ke blok berikutnya. Jika hasilnya:
|
Contoh
saat dimulai
[Hover at 200 mm.]
terbang ke ketinggian [500] [mm v] ▶
naik/turun [turun v]
tunggu sampai <(distance [downward v] range in [mm v]) [math_less_than v] [200]>
melayang
tunggu (3) detik
mendarat ▶
mengulang#
Blok C repeat menjalankan blok-blok di dalamnya sejumlah kali yang telah ditentukan.
ulangi [10]
selesai
Parameter |
Keterangan |
|---|---|
waktu |
Bilangan bulat yang menentukan berapa kali blok pengulangan dijalankan. |
Contoh
saat dimulai
[Move back and forth four times then land.]
terbang ke ketinggian [500] [mm v] ▶
ulangi (4)
gerak [maju v] sejauh (500) [mm v] ▶
tunggu (1) detik
gerak [backward v] sejauh (500) [mm v] ▶
tunggu (1) detik
selesai
mendarat ▶
selamanya#
Blok C yang selamanya terus menjalankan blok-blok di dalamnya berulang kali tanpa henti.
selamanya
selesai
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Contoh
saat dimulai
[Move with controller.]
terbang ke ketinggian [500] [mm v] ▶
selamanya
gerak dengan controller
selesai
ulangi sampai#
Blok C repeat until menjalankan blok-blok di dalamnya secara berulang selama kondisi yang ditentukan belum terpenuhi.
ulangi sampai <>
selesai
Parameter |
Keterangan |
|---|---|
kondisi |
Ekspresi atau variabel yang diperiksa sebelum setiap perulangan. Jika nilainya False, blok akan terus berulang. Jika nilainya True, perulangan akan berhenti. |
Contoh
saat dimulai
[Move with controller until button 7 is pressed.]
terbang ke ketinggian [500] [mm v] ▶
ulangi sampai <tombol [7 v] kontroler ditekan?>
gerak dengan controller
selesai
mendarat ▶
ketika#
Blok C while menjalankan blok di dalamnya berulang kali selama kondisi yang ditentukan terpenuhi.
selagi <>
selesai
Parameter |
Keterangan |
|---|---|
kondisi |
Ekspresi atau variabel yang diperiksa sebelum setiap perulangan. Jika bernilai True, blok akan terus berulang. Jika bernilai False, perulangan akan berhenti. |
Contoh
saat dimulai
[Hover at 200 mm.]
terbang ke ketinggian [500] [mm v] ▶
selagi <(distance [downward v] range in [mm v]) [math_greater_than v] [200]>
naik/turun [turun v]
selesai
melayang
tunggu (3) detik
mendarat ▶
jika#
Blok if C akan menjalankan blok-blok di dalamnya jika kondisinya Benar.
jika <> maka
selesai
Parameter |
Keterangan |
|---|---|
kondisi |
Ekspresi atau variabel yang diperiksa saat pernyataan dijalankan. Jika bernilai True, blok di dalam blok if akan dijalankan. Jika bernilai False, blok tersebut akan dilewati. |
Contoh
saat dimulai
[Take a picture when button 5 is pressed.]
terbang ke ketinggian [500] [mm v] ▶
selamanya
gerak dengan controller
jika <tombol [5 v] kontroler ditekan?> maka
ambil gambar pada kamera [maju v]
selesai
selesai
jika / lain#
Blok if / else dalam bahasa C menentukan rangkaian blok mana yang akan dijalankan berdasarkan apakah kondisinya Benar atau Salah.
jika <> maka
lainnya
selesai
Parameter |
Keterangan |
|---|---|
kondisi |
Ekspresi atau variabel yang diperiksa saat pernyataan dijalankan. Jika bernilai True, blok di dalam blok if akan dijalankan. Jika bernilai False, maka blok di dalam blok else akan dijalankan. |
Contoh
saat dimulai
[Climb when the left joystick is moved up.]
terbang ke ketinggian [500] [mm v] ▶
selamanya
jika <(posisi sumbu [1 v] kontroler) [math_greater_than v] [0]> maka
naik/turun [naik v]
lainnya
melayang
selesai
jika / jika tidak / jika tidak#
Blok C yang dapat diperluas if / else if / else memilih rangkaian blok mana yang akan dijalankan berdasarkan kondisi:
if akan menjalankan blok kode ini jika kondisi tersebut bernilai True.
Else if memeriksa kondisi tambahan hanya jika semua kondisi sebelumnya bernilai False. Beberapa pernyataan else if dapat digunakan.
Blok kode else hanya akan dijalankan jika tidak ada kondisi sebelumnya yang bernilai True.
jika <> maka
lainnya jika <> maka
lainnya
selesai
Parameter |
Keterangan |
|---|---|
kondisi |
Ekspresi atau variabel yang diperiksa saat pernyataan dijalankan. Kondisi pertama yang bernilai Benar akan menjalankan serangkaian blok tersebut. Jika semua kondisi bernilai Salah, blok di dalam blok else akan dijalankan. |
Contoh
saat dimulai
[Move the drone up or down based on the position of the joystick.]
terbang ke ketinggian [500] [mm v] ▶
selamanya
jika <(posisi sumbu [1 v] kontroler) [math_greater_than v] [0]> maka
gerak [maju v]
lainnya jika <(posisi sumbu [1 v] kontroler) [math_less_than v] [0]> maka
gerak [mundur v]
lainnya
melayang
selesai
selesai
merusak#
Blok tumpukan break keluar dari loop secara langsung. Blok ini dapat digunakan di dalam blok repeat, repeat until, while, dan forever. Break berguna ketika sebuah loop perlu berhenti lebih awal berdasarkan sesuatu yang terjadi selama proyek, seperti tombol ditekan atau sensor mendeteksi suatu objek.
hentikan
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Contoh
saat dimulai
[Land when button 5 is pressed.]
terbang ke ketinggian [500] [mm v] ▶
selamanya
gerak dengan controller
jika <tombol [5 v] kontroler ditekan?> maka
hentikan
selesai
selesai
mendarat ▶
hentikan proyek#
Blok tumpukan stop project mengakhiri proyek yang sedang berjalan.
hentikan proyek :: control cap
Parameter |
Keterangan |
|---|---|
Blok ini tidak memiliki parameter. |
Contoh
saat dimulai
[Stop motors after landing.]
terbang ke ketinggian [500] [mm v] ▶
tunggu [1] detik
mendarat ▶
hentikan proyek