Kontroller#
giriiş#
VEXcode AIR’deki kontrol blokları, döngüleri, koşulları yöneterek ve blokların çalışmasını geciktirerek bir projenin akışını kontrol eder.
Bir döngü, bilgisayarın durdurulması söylenene kadar aynı adımı veya adımlar grubunu tekrar tekrar yapmasıdır. Bir koşul ise bilgisayarın bir sonraki adımda ne yapacağına karar vermek için kontrol ettiği bir kuraldır. Örneğin, bir kumanda düğmesine basıldığında drone ileri doğru uçabilir.
Aşağıda mevcut blokların listesi bulunmaktadır:
bekle — Blokların belirli bir süre boyunca çalışmasını durdurur.
bekle — Belirtilen koşul sağlanana kadar blokların çalışmasını durdurur.
tekrarla — Bir blok kümesini belirli sayıda tekrarlar.
sonsuza dek — Bir blok kümesini süresiz olarak tekrarlar.
tekrarla — Bir koşul sağlanana kadar bir dizi bloğu tekrarlar.
while — Bir koşul doğru kaldığı sürece bir dizi bloğu tekrarlar.
if — Bir koşul doğruysa bir dizi bloğu çalıştırır.
if / else — Bir koşul doğruysa bir blok kümesini çalıştırır, aksi takdirde başka bir blok kümesini çalıştırır.
if / else if / else — Birden fazla koşula bağlı olarak farklı blok kümelerini çalıştırır.
break — Döngüyü hemen sonlandırır.
projeyi durdur — Projeyi sonlandırır.
Beklemek#
Bekleme yığın bloğu, bir sonraki bloğa geçmeden önce belirli bir süre boyunca blokların çalışmasını durdurur.
(1) saniye bekle
Parametreler |
Tanım |
|---|---|
zaman |
Bekleme süresi, pozitif bir tam sayı veya saniye cinsinden ondalık sayı olarak. |
Örnek
başladığında
[Fly for 1 second.]
(500) [mm v] yüksekliğe kalkış yap ▶
[1] saniye bekle
iniş yap ▶
bekle#
Bekle yığın bloğu, bir sonraki bloğa geçmeden önce belirtilen bir koşul karşılanana kadar blokların çalışmasını durdurur.
<> olana kadar bekle
Parametreler |
Tanım |
|---|---|
durum |
Sonraki bloğa geçmeden önce karşılanması gereken koşul. Değeri şu şekildeyse:
|
Örnek
başladığında
[Hover at 200 mm.]
[500] [mm v] yüksekliğe kalkış yap ▶
[aşağı v] yönünde tırman
<(distance [downward v] range in [mm v]) [math_less_than v] [200]> olana kadar bekle
askıda kal
(3) saniye bekle
iniş yap ▶
tekrarlamak#
repeat C bloğu, içindeki blokları belirli sayıda tekrar çalıştırır.
[10] kez tekrarla
son
Parametreler |
Tanım |
|---|---|
kez |
Tekrar bloğunun kaç kez çalışacağını belirleyen tam sayı. |
Örnek
başladığında
[Move back and forth four times then land.]
[500] [mm v] yüksekliğe kalkış yap ▶
(4) kez tekrarla
[ileri v] yönünde (500) [mm v] hareket et ▶
(1) saniye bekle
[backward v] yönünde (500) [mm v] hareket et ▶
(1) saniye bekle
son
iniş yap ▶
sonsuza kadar#
Sonsuza dek çalışan C bloğu, içindeki blokları durmadan tekrar tekrar çalıştırmaya devam eder.
sonsuza kadar
son
Parametreler |
Tanım |
|---|---|
Bu bloğun parametresi yok. |
Örnek
başladığında
[Move with controller.]
[500] [mm v] yüksekliğe kalkış yap ▶
sonsuza kadar
kumandayla hareket et
son
tekrarla#
Tekrarla C bloğu, belirtilen koşul sağlanana kadar içindeki blokları tekrar tekrar çalıştırır.
<> olana kadar tekrarla
son
Parametreler |
Tanım |
|---|---|
durum |
Her döngüden önce kontrol edilen bir ifade veya değişken. Eğer False ise, bloklar tekrarlamaya devam eder. Eğer True ise, döngü durur. |
Örnek
başladığında
[Move with controller until button 7 is pressed.]
[500] [mm v] yüksekliğe kalkış yap ▶
<kumanda düğmesi [7 v] basıldı mı?> olana kadar tekrarla
kumandayla hareket et
son
iniş yap ▶
sırasında#
while C bloğu, belirtilen koşul sağlandığı sürece içindeki blokları tekrar tekrar çalıştırır.
<> iken
son
Parametreler |
Tanım |
|---|---|
durum |
Her döngüden önce kontrol edilen bir ifade veya değişken. Eğer Doğru ise, bloklar tekrarlamaya devam eder. Eğer Yanlış ise, döngü durur. |
Örnek
başladığında
[Hover at 200 mm.]
[500] [mm v] yüksekliğe kalkış yap ▶
<(distance [downward v] range in [mm v]) [math_greater_than v] [200]> iken
[aşağı v] yönünde tırman
son
askıda kal
(3) saniye bekle
iniş yap ▶
eğer#
if C bloğu, koşul doğru ise içindeki blokları çalıştırır.
eğer <> ise
son
Parametreler |
Tanım |
|---|---|
durum |
İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. Eğer Doğru ise, if bloğunun içindeki bloklar çalıştırılır. Eğer Yanlış ise, bloklar atlanır. |
Örnek
başladığında
[Take a picture when button 5 is pressed.]
[500] [mm v] yüksekliğe kalkış yap ▶
sonsuza kadar
kumandayla hareket et
eğer <kumanda düğmesi [5 v] basıldı mı?> ise
[ileri v] kamerada görüntü yakala
son
son
eğer / aksi takdirde#
C dilindeki if/else bloğu, koşulun Doğru veya Yanlış olmasına bağlı olarak hangi blok kümesinin çalışacağını belirler.
eğer <> ise
değilse
son
Parametreler |
Tanım |
|---|---|
durum |
İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. Eğer True ise, if bloğunun içindeki kod blokları çalıştırılır. Eğer False ise, else bloğunun içindeki kod blokları çalıştırılır. |
Örnek
başladığında
[Climb when the left joystick is moved up.]
[500] [mm v] yüksekliğe kalkış yap ▶
sonsuza kadar
eğer <(kumanda ekseni [1 v] konumu) [math_greater_than v] [0]> ise
[yukarı v] yönünde tırman
değilse
askıda kal
son
eğer / aksi takdirde eğer / aksi takdirde#
if / else if / else genişletilebilir C bloğu, koşullara bağlı olarak hangi blok kümesinin çalışacağını seçer:
if koşulu doğru (True) olarak değerlendirilirse kod bloğunu çalıştırır.
else if ifadesi, yalnızca önceki tüm koşullar Yanlış olarak değerlendirilirse ek koşulları kontrol eder. Birden fazla else if ifadesi kullanılabilir.
else ifadesi, önceki koşullardan hiçbiri Doğru olarak değerlendirilmediği takdirde kod bloğunu çalıştırır.
eğer <> ise
değilse eğer <> ise
değilse
son
Parametreler |
Tanım |
|---|---|
durum |
İfade çalıştırıldığında kontrol edilen bir ifade veya değişken. Doğru olan ilk koşul, o blok kümesini çalıştırır. Tüm koşullar Yanlış olarak değerlendirilirse, else bloğunun içindeki bloklar çalıştırılır. |
Örnek
başladığında
[Move the drone up or down based on the position of the joystick.]
[500] [mm v] yüksekliğe kalkış yap ▶
sonsuza kadar
eğer <(kumanda ekseni [1 v] konumu) [math_greater_than v] [0]> ise
[ileri v] yönünde hareket et
değilse eğer <(kumanda ekseni [1 v] konumu) [math_less_than v] [0]> ise
[geri v] yönünde hareket et
değilse
askıda kal
son
son
kırmak#
Break yığın bloğu, bir döngüyü hemen sonlandırır. Bu blok, repeat, repeat until, while ve forever bloklarının içinde kullanılabilir. Break, bir döngünün proje sırasında meydana gelen bir olaya (örneğin bir düğmeye basılması veya bir sensörün bir nesneyi algılaması gibi) bağlı olarak erken durdurulması gerektiğinde kullanışlıdır.
dur
Parametreler |
Tanım |
|---|---|
Bu bloğun parametresi yok. |
Örnek
başladığında
[Land when button 5 is pressed.]
[500] [mm v] yüksekliğe kalkış yap ▶
sonsuza kadar
kumandayla hareket et
eğer <kumanda düğmesi [5 v] basıldı mı?> ise
dur
son
son
iniş yap ▶
projeyi durdur#
Projeyi durdur yığın bloğu, çalışan bir projeyi sonlandırır.
projeyi durdur :: control cap
Parametreler |
Tanım |
|---|---|
Bu bloğun parametresi yok. |
Örnek
başladığında
[Stop motors after landing.]
[500] [mm v] yüksekliğe kalkış yap ▶
[1] saniye bekle
iniş yap ▶
projeyi durdur