Kontrolör#

giriiş#

V5 Kontrol Cihazı, düğmelere, iki joystick’e, bir titreşim motoruna ve bir ekrana sahiptir. Kontrol cihazı blokları, düğme basımlarını kontrol etmek, joystick hareketlerini okumak, kontrol cihazını titreştirmek, yapılandırılmış kontrol cihazı eylemlerini etkinleştirmek veya devre dışı bırakmak, kontrol cihazı olayları gerçekleştiğinde blokları çalıştırmak veya kontrol cihazı ekranında metin görüntülemek için kullanılabilir.

Yapılandırılmış Denetleyici eylemleri, Aygıtlar menüsünde ayarlanan denetleyici davranışlarıdır. Bir proje sırasında bu yapılandırılmış eylemleri geçici olarak etkinleştirmek veya devre dışı bırakmak için Denetim etkinleştirme/devre dışı bırakma bloğunu kullanın.

Aşağıda mevcut blokların listesi bulunmaktadır:

Değerler — Kumanda düğmesinin durumunu kontrol edin veya joystick konumunu okuyun.

Eylemler — Kumanda cihazını titreştir, yapılandırılmış kumanda cihazı eylemlerini etkinleştir/devre dışı bırak veya kumanda cihazı girişinde değişiklik olduğunda blokları çalıştır.

Ekran — Kontrol ünitesi ekranında metin ve sayıları görüntüleyin.

Değerler#

Kumandaya basıldı mı?#

Kontrolcüye basıldı mı? Boolean bloğu, seçilen kontrolcü düğmesinin basılı olup olmadığını döndürür.

V5 Kontrol Cihazının ön ve arka yüzü, düğmeleri sarı renkle vurgulanmıştır. Kontrol cihazının yüzeyinde sol tarafta yukarı, aşağı, sol ve sağ ok düğmeleri, sağ tarafta ise saat 12 yönünden başlayarak saat yönünde X, A, B, Y düğmeleri bulunmaktadır. Kontrol cihazının arka yüzünde ise sol ve sağ taraflarda sırasıyla L1, L2, R1 ve R2 düğmeleri yer almaktadır.

Kumandaya basıldı mı? Mantıksal blok#
<[Controller1 v] [▲ v] basıldı mı?>

Parametre

Tanım

cihaz

Kullanılacak kontrol cihazı, Aygıtlar penceresinde yapılandırılır.

düğme

İşaretlenecek düğme:

  • ▲
  • ▼
  • ◀
  • ▶
  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

Örnek

Başlatıldığında, X düğmesine basılı tutulduğu sürece ileri doğru hareket eder.#
başladığında
[Drive forward while X is pressed.]
sonsuza kadar
eğer <[Controller1 v] [X v] basıldı mı?> ise
[ileri v] yönünde sürdür
değilse
sürüşü durdur
son
son

Kontrolörün konumu#

Kontrolcü konumu raporlayıcı bloğu, seçilen eksen boyunca joystick konumunu -100 ile 100 arasında bir sayı olarak döndürür.

Eksenleri joysticklerin etrafında etiketlenmiş bir VEX V5 Kontrol Cihazı. Eksen 1 ve 2 sağ joystickin etrafında, Eksen 3 ve 4 ise sol joystickin etrafındadır.

Kontrolör pozisyonu raporlayıcı bloğu#
([Controller1 v] [1 v] position :: sensing)

Parametre

Tanım

cihaz

Kullanılacak kontrol cihazı, Aygıtlar penceresinde yapılandırılır.

eksen

Bildirilecek joystick ekseni:

  • 1 — sağ joystick yatay ekseni
  • 2 — sağ joystick dikey ekseni
  • 3 — sol joystick dikey ekseni
  • 4 — sol joystick yatay ekseni

Örnek

Başlatıldığında, sol kumanda kolu yukarı itildiğinde ileri doğru hareket eder.#
başladığında
[Drive forward while the left joystick is pushed up.]
sonsuza kadar
eğer <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> ise
[ileri v] yönünde sürdür
değilse
sürüşü durdur
son
son

Eylemler#

Kumandada titreşim özelliğini oynayın#

Kumandada titreşim oynat bloku, kumandada titreşim deseni oynatır.

Kontrolcüde Rumble oyna, blok yığını oluştur.#
[Controller1 v] üzerinde [Uzun v] titreşim çal

Parametre

Tanım

model

Kumanda üzerinde çalınacak titreşim deseni:

  • Uzun — bir uzun titreşim
  • Kısa — bir kısa titreşim
  • Nabız — açılıp kapanan titreşimlerden oluşan bir desen

cihaz

Kullanılacak kontrol cihazı, Aygıtlar penceresinde yapılandırılır.

Örnek

R1 düğmesine basıldığında, kumanda üzerinde kısa bir titreşim sesi duyulur.#
[Controller1 v] düğmesi [R1 v] [basıldı v] olduğunda :: hat events
[Controller1 v] üzerinde [Kısa v] titreşim çal

Kontrol cihazı etkinleştirme/devre dışı bırakma#

Denetleyiciyi etkinleştir/devre dışı bırak yığın bloğu, Aygıtlar menüsünden yapılandırılmış Denetleyici eylemlerini tüm bağlı denetleyiciler için etkinleştirir veya devre dışı bırakır.

Denetleyici yığın bloğunu etkinleştirme/devre dışı bırakma#
Kumanda [Devre Dışı Bırak v]

Parametre

Tanım

durum

Denetleyici, Devre Dışı veya Etkin eylem durumunu yapılandırdı.

Örnek

Başlatıldığında, robot ileri doğru hareket ederken yapılandırılmış Kontrolcü eylemlerini devre dışı bırakır.#
başladığında
[Disable Controller configured actions until the drive movement is done.]
Kumanda [Devre Dışı Bırak v]
[ileri v] yönünde (6) [inç v] sürdür ▶
Kumanda [Etkinleştir v]

Kumanda düğmesine basıldığında#

Kontrolcü düğmesine basıldığında çalışan Hat bloğu, seçilen Kontrolcü düğmesine basıldığında veya bırakıldığında bağlı yığını çalıştırır.

V5 Kontrol Cihazının ön ve arka yüzü, düğmeleri sarı renkle vurgulanmıştır. Kontrol cihazının yüzeyinde sol tarafta yukarı, aşağı, sol ve sağ ok düğmeleri, sağ tarafta ise saat 12 yönünden başlayarak saat yönünde X, A, B, Y düğmeleri bulunmaktadır. Kontrol cihazının arka yüzünde ise sol ve sağ taraflarda sırasıyla L1, L2, R1 ve R2 düğmeleri yer almaktadır.

Kontrolcü düğmesine basıldığında Şapka bloğu#
[Controller1 v] düğmesi [▲ v] [basıldı v] olduğunda :: hat events

Parametre

Tanım

cihaz

Kullanılacak kontrol cihazı, Aygıtlar penceresinde yapılandırılır.

düğme

İşaretlenecek düğme:

  • ▲
  • ▼
  • ◀
  • ▶
  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

düğme durumu

Ekli yığını tetikleyen düğme olayı: basıldı veya bırakıldı.

Örnek

R1 düğmesine basıldığında, 200 milimetre ileri hareket eder.#
[Controller1 v] düğmesi [R1 v] [basıldı v] olduğunda :: hat events
[Drive forward when R1 is pressed.]
[ileri v] yönünde (200) [mm v] sürdür ▶

Kontrolör ekseni değiştirildiğinde#

Kontrolcü ekseni değiştiğinde Hat bloğu, joystick’in konumu seçilen eksen boyunca değiştiğinde bağlı yığını çalıştırır.

Eksenleri joysticklerin etrafında etiketlenmiş bir VEX V5 Kontrol Cihazı. Eksen 1 ve 2 sağ joystickin etrafında, Eksen 3 ve 4 ise sol joystickin etrafındadır.

Kontrol ekseni değiştirildiğinde Şapka bloğu#
when [Controller1 v] axis [1 v] is changed :: hat events

Parametre

Tanım

cihaz

Kullanılacak kontrol cihazı, Aygıtlar penceresinde yapılandırılır.

eksen

Kontrol edilecek joystick eksenleri:

  • 1 — sağ joystick yatay ekseni
  • 2 — sağ joystick dikey ekseni
  • 3 — sol joystick dikey ekseni
  • 4 — sol joystick yatay ekseni

Örnek

Kumanda kolunun konumu Kontrolör ekseni 3 boyunca değiştiğinde, araç 200 milimetre ileri hareket eder.#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
[ileri v] yönünde (200) [mm v] sürdür ▶

Ekran#

Denetleyicide imleci satır sütununa ayarla.#

“Denetleyici ekranında imleci satır ve sütuna ayarla” yığın bloğu, imleci Denetleyici ekranında belirtilen bir satır ve sütuna taşır. Yazdırılacak bir sonraki değer o konumda görünecektir.

Denetleyici yığın bloğunda imleci satır sütununa ayarla.#
[Controller1 v] üzerinde imleci satır [1] sütun [1] konumuna taşı :: custom-controller-inertial-timer

Parametre

Tanım

sıra

Kontrol ekranında imleci taşımak istediğiniz satır.

kolon

Kontrol ekranında imleci hareket ettireceğiniz sütun.

cihaz

Kullanılacak kontrol cihazı, Aygıtlar penceresinde yapılandırılır.

Örnek

Başlatıldığında, Kontrol Ekranında 2. satır, 1. sütundaki metni yazdırır.#
başladığında
[Display a message on row 2.]
[Controller1 v] üzerinde imleci satır [2] sütun [1] konumuna taşı :: custom-controller-inertial-timer
[Controller1 v] üzerinde [Ready] yazdır ▶ :: custom-controller-inertial-timer

Denetleyicide imleci bir sonraki satıra ayarla#

“Denetleyici ekranında imleci bir sonraki satıra taşı” yığın bloğu, imleci Denetleyici ekranının bir sonraki satırındaki 1. sütuna taşır. Yazdırılacak bir sonraki değer o satırda görünecektir.

Denetleyici yığın bloğunda imleci bir sonraki satıra ayarla.#
[Controller1 v] üzerinde imleci sonraki satıra taşı :: custom-controller-inertial-timer

Parametre

Tanım

cihaz

Kullanılacak kontrol cihazı, Aygıtlar penceresinde yapılandırılır.

Örnek

Başlatıldığında, Kontrol Ekranına iki satır yazdırır.#
başladığında
[Display two rows of text.]
[Controller1 v] üzerinde [Row 1] yazdır ▶ :: custom-controller-inertial-timer
[Controller1 v] üzerinde imleci sonraki satıra taşı :: custom-controller-inertial-timer
[Controller1 v] üzerinde [Row 2] yazdır ▶ :: custom-controller-inertial-timer

Kontrol cihazında yazdırma hassasiyetini ayarlayın.#

Denetim hassasiyetini ayarla yığın bloğu, denetleyici ekranında sayılar yazdırılırken kaç ondalık basamağın görüntüleneceğini ayarlar. Bu ayar, bu blok kullanıldıktan sonra yazdırılan sayılar için geçerlidir.

denetleyici yığın bloğunda yazdırma hassasiyetini ayarlayın#
[Controller1 v] üzerinde yazdırma hassasiyetini [0.1 v] olarak ayarla :: custom-controller-inertial-timer

Parametre

Tanım

kesinlik

Kullanılacak baskı hassasiyeti:

  • 1 — ondalık basamak yok
  • 0.1 — 1 ondalık basamak
  • 0.01 — 2 ondalık basamak
  • 0.001 — 3 ondalık basamak
  • Tüm Rakamlar — mevcut tüm ondalık basamaklar

cihaz

Kullanılacak kontrol cihazı, Aygıtlar penceresinde yapılandırılır.

Örnek

Başlatıldığında, Kontrolör ekranında iki ondalık basamaklı 1/3 değerini görüntüler.#
başladığında
[Display 1/3 with two decimals.]
[Controller1 v] üzerinde yazdırma hassasiyetini [0.01 v] olarak ayarla :: custom-controller-inertial-timer
[Controller1 v] üzerinde ([1] [math_division v] [3]) yazdır ▶ :: custom-controller-inertial-timer

temiz kontrol cihazı#

Denetleyiciyi temizle yığın bloğu, Denetleyici ekranındaki tüm satırları temizler ve imleci ilk satıra geri taşır.

denetleyici yığını bloğunu temizle#
[Controller1 v] temizle :: custom-controller-inertial-timer

Parametre

Tanım

cihaz

Kullanılacak kontrol cihazı, Aygıtlar penceresinde yapılandırılır.

Örnek

Başlatıldığında metin yazdırır, bekler ve ardından Kontrolör ekranını temizler.#
başladığında
[Clear the Controller screen after printing.]
[Controller1 v] üzerinde [This will disappear...] yazdır ▶ :: custom-controller-inertial-timer
[2] saniye bekle
[Controller1 v] temizle :: custom-controller-inertial-timer

denetleyicideki satırı temizle#

Denetim ekranındaki satırı temizle blok öğesi, Denetim ekranındaki tek bir satırı temizler.

denetleyici yığın bloğundaki satırı temizle#
[Controller1 v] üzerinde [1] satırını temizle :: custom-controller-inertial-timer

Parametre

Tanım

sıra

Kontrol ekranında temizlenecek satır.

cihaz

Kullanılacak kontrol cihazı, Aygıtlar penceresinde yapılandırılır.

Örnek

Başlatıldığında, Kontrol Ekranındaki 1. satırı temizler.#
başladığında
[Clear one row on the Controller screen.]
[Controller1 v] üzerinde [Row 1] yazdır ▶ :: custom-controller-inertial-timer
[Controller1 v] üzerinde imleci sonraki satıra taşı :: custom-controller-inertial-timer
[Controller1 v] üzerinde [Row 2] yazdır ▶ :: custom-controller-inertial-timer
[2] saniye bekle
[Controller1 v] üzerinde [1] satırını temizle :: custom-controller-inertial-timer