Kontroler#

Wstęp#

Kontroler V5 ma przyciski, dwa joysticki, silnik wibracji i ekran. Bloki kontrolera mogą służyć do sprawdzania naciśnięć przycisków, odczytywania ruchu joysticka, wibracji kontrolera, włączania lub wyłączania skonfigurowanych akcji kontrolera, uruchamiania bloków w przypadku wystąpienia zdarzeń kontrolera lub wyświetlania tekstu na ekranie kontrolera.

Skonfigurowane akcje kontrolera to zachowania kontrolera ustawione w menu Urządzenia. Użyj bloku Włączanie/wyłączanie kontrolera, aby tymczasowo włączyć lub wyłączyć te skonfigurowane akcje podczas projektu.

Poniżej znajduje się lista dostępnych bloków:

Wartości — sprawdź stan przycisków kontrolera lub odczytaj położenie joysticka.

Akcje — włącz/wyłącz skonfigurowane akcje kontrolera lub uruchom bloki, gdy zmieni się sygnał wejściowy kontrolera.

Ekran — wyświetlanie tekstu i liczb na ekranie kontrolera.

Wartości#

Kontroler wciśnięty?#

Blok logiczny Naciśnięto kontroler? zwraca informację, czy wybrany przycisk kontrolera jest naciśnięty.

Przód i tył kontrolera V5 z przyciskami zaznaczonymi na żółto. Na powierzchni kontrolera znajdują się przyciski strzałek w górę, w dół, w lewo i w prawo po lewej stronie oraz przyciski X, A, B, Y, obracające się zgodnie z ruchem wskazówek zegara od godziny 12 po prawej stronie. Na tylnej stronie kontrolera znajdują się odpowiednio przyciski L1, L2, R1 i R2 po lewej i prawej stronie.

Kontroler naciśnięty? Blok boolowski#
<[Controller1 v] przycisk [▲ v] wciśnięty?>

Parametr

Opis

urządzenie

Kontroler, który ma zostać użyty, skonfigurowany w oknie Urządzenia.

przycisk

Przycisk do sprawdzenia:

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

Przykład

Po uruchomieniu jedzie do przodu, dopóki naciśnięty jest przycisk X.#
gdy uruchomiony
[Drive forward while X is pressed.]
zawsze
jeśli <[Controller1 v] przycisk [X v] wciśnięty?> to
jedź [do przodu v]
w przeciwnym razie
zatrzymaj jazdę
koniec
koniec

Pozycja kontrolera#

Blok raportujący Pozycję kontrolera zwraca pozycję joysticka wzdłuż wybranej osi jako liczbę od -100 do 100.

Kontroler VEX V5 z opisanymi osiami wokół joysticków. Osie 1 i 2 znajdują się wokół prawego joysticka, a osie 3 i 4 wokół lewego.

Blok raportujący położenie kontrolera#
([Controller1 v] [1 v] position :: sensing)

Parametr

Opis

urządzenie

Kontroler, który ma zostać użyty, skonfigurowany w oknie Urządzenia.

oś

Oś joysticka do zgłoszenia:

  • 1 — oś pozioma prawego joysticka
  • 2 — oś pionowa prawego joysticka
  • 3 — oś pionowa lewego joysticka
  • 4 — oś pozioma lewego joysticka

Przykład

Po uruchomieniu jedzie do przodu, gdy lewy joystick jest przesunięty do góry.#
gdy uruchomiony
[Drive forward while the left joystick is pushed up.]
zawsze
jeśli <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> to
jedź [do przodu v]
w przeciwnym razie
zatrzymaj jazdę
koniec
koniec

Akcje#

włącz wibracje na kontrolerze#

Blok stosu odtwarzaj wibracje na kontrolerze odtwarza wzór wibracji na kontrolerze.

zagraj w Rumble na bloku stosu kontrolera#
odtwórz wibrację [Długa v] na [Controller1 v]

Parametr

Opis

wzór

Wzór wibracji do odtworzenia na kontrolerze:

  • Długi — jedno długie wibracje
  • Krótki — jedno krótkie wibracje
  • Puls — wzór włączania i wyłączania wibracji

urządzenie

Kontroler, który ma zostać użyty, skonfigurowany w oknie Urządzenia.

Przykład

Po naciśnięciu przycisku R1 kontroler odtwarza krótki dźwięk wibracji.#
gdy[Controller1 v] przycisk [R1 v] [wciśnięty v] :: hat events
odtwórz wibrację [Krótka v] na [Controller1 v]

Włączanie/wyłączanie kontrolera#

Blok stosu Włączanie/wyłączanie kontrolera włącza lub wyłącza skonfigurowane akcje kontrolera z menu Urządzenia dla wszystkich podłączonych kontrolerów.

Włączanie/wyłączanie bloku stosu kontrolera#
Kontroler [Wyłącz v]

Parametr

Opis

państwo

Skonfigurowany stan akcji kontrolera: Wyłącz lub Włącz.

Przykład

Po uruchomieniu wyłącza skonfigurowane akcje kontrolera, gdy robot jedzie do przodu.#
gdy uruchomiony
[Disable Controller configured actions until the drive movement is done.]
Kontroler [Wyłącz v]
jedź [do przodu v] przez (6) [cale v] ▶
Kontroler [Włącz v]

po naciśnięciu przycisku kontrolera#

Blok Hat gdy naciśnięto przycisk kontrolera uruchamia dołączony stos, gdy wybrany przycisk kontrolera zostanie naciśnięty lub zwolniony.

Przód i tył kontrolera V5 z przyciskami zaznaczonymi na żółto. Na powierzchni kontrolera znajdują się przyciski strzałek w górę, w dół, w lewo i w prawo po lewej stronie oraz przyciski X, A, B, Y, obracające się zgodnie z ruchem wskazówek zegara od godziny 12 po prawej stronie. Na tylnej stronie kontrolera znajdują się odpowiednio przyciski L1, L2, R1 i R2 po lewej i prawej stronie.

gdy naciśnięty został przycisk kontrolera, blok kapelusza#
gdy[Controller1 v] przycisk [▲ v] [wciśnięty v] :: hat events

Parametr

Opis

urządzenie

Kontroler, który ma zostać użyty, skonfigurowany w oknie Urządzenia.

przycisk

Przycisk do sprawdzenia:

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

status przycisku

Zdarzenie przycisku, które uruchamia dołączony stos: naciśnięty lub zwolniony.

Przykład

Po naciśnięciu przycisku R1 pojazd przemieszcza się do przodu o 200 milimetrów.#
gdy[Controller1 v] przycisk [R1 v] [wciśnięty v] :: hat events
[Drive forward when R1 is pressed.]
jedź [do przodu v] przez (200) [mm v] ▶

gdy oś kontrolera jest zmieniana#

Blok gdy oś kontrolera zostaje zmieniona uruchamia dołączony stos, gdy położenie joysticka zmienia się wzdłuż wybranej osi.

Kontroler VEX V5 z opisanymi osiami wokół joysticków. Osie 1 i 2 znajdują się wokół prawego joysticka, a osie 3 i 4 wokół lewego.

gdy oś kontrolera jest zmieniana, blok kapelusza#
when [Controller1 v] axis [1 v] is changed :: hat events

Parametr

Opis

urządzenie

Kontroler, który ma zostać użyty, skonfigurowany w oknie Urządzenia.

oś

Oś joysticka do sprawdzenia:

  • 1 — oś pozioma prawego joysticka
  • 2 — oś pionowa prawego joysticka
  • 3 — oś pionowa lewego joysticka
  • 4 — oś pozioma lewego joysticka

Przykład

Zmiana położenia joysticka wzdłuż osi kontrolera 3 powoduje przesunięcie joysticka do przodu o 200 milimetrów.#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
jedź [do przodu v] przez (200) [mm v] ▶

Ekran#

ustaw kursor na kolumnie wiersza na kontrolerze#

Blok stosu „Ustaw kursor na wiersz i kolumnę w kontrolerze” przesuwa kursor do określonego wiersza i kolumny na ekranie kontrolera. W tym miejscu pojawi się kolejna wydrukowana wartość.

ustaw kursor na kolumnę wiersza w bloku stosu kontrolera#
ustaw kursor na wiersz [1] kolumnę [1] na [Controller1 v] :: custom-controller-inertial-timer

Parametr

Opis

wiersz

Wiersz, do którego należy przenieść kursor na ekranie kontrolera.

kolumna

Kolumna, do której należy przenieść kursor na ekranie kontrolera.

urządzenie

Kontroler, który ma zostać użyty, skonfigurowany w oknie Urządzenia.

Przykład

Po uruchomieniu drukuje tekst w wierszu 2 i kolumnie 1 na ekranie kontrolera.#
gdy uruchomiony
[Display a message on row 2.]
ustaw kursor na wiersz [2] kolumnę [1] na [Controller1 v] :: custom-controller-inertial-timer
wydrukuj [Ready] na [Controller1 v] ▶ :: custom-controller-inertial-timer

ustaw kursor w następnym wierszu na kontrolerze#

Blok stosu „Ustaw kursor do następnego wiersza kontrolera” przenosi kursor do kolumny 1 w kolejnym wierszu ekranu kontrolera. W tym wierszu pojawi się kolejna wydrukowana wartość.

ustaw kursor na następny wiersz w bloku stosu kontrolera#
ustaw kursor na następny wiersz na [Controller1 v] :: custom-controller-inertial-timer

Parametr

Opis

urządzenie

Kontroler, który ma zostać użyty, skonfigurowany w oknie Urządzenia.

Przykład

Po uruchomieniu drukuje dwa wiersze na ekranie kontrolera.#
gdy uruchomiony
[Display two rows of text.]
wydrukuj [Row 1] na [Controller1 v] ▶ :: custom-controller-inertial-timer
ustaw kursor na następny wiersz na [Controller1 v] :: custom-controller-inertial-timer
wydrukuj [Row 2] na [Controller1 v] ▶ :: custom-controller-inertial-timer

ustaw precyzję druku na kontrolerze#

Blok stosu ustaw precyzję wydruku na kontrolerze ustawia liczbę miejsc dziesiętnych wyświetlanych podczas drukowania liczb na ekranie kontrolera. To ustawienie ma zastosowanie do liczb drukowanych po użyciu tego bloku.

ustaw precyzję drukowania na bloku stosu kontrolera#
ustaw precyzję drukowania na [0.1 v] na [Controller1 v] :: custom-controller-inertial-timer

Parametr

Opis

precyzja

Dokładność wydruku do użycia:

  • 1 — bez miejsc dziesiętnych
  • 0,1 — 1 miejsce dziesiętne
  • 0,01 — 2 miejsca dziesiętne
  • 0,001 — 3 miejsca dziesiętne
  • Wszystkie cyfry — wszystkie dostępne miejsca dziesiętne

urządzenie

Kontroler, który ma zostać użyty, skonfigurowany w oknie Urządzenia.

Przykład

Po uruchomieniu na ekranie kontrolera wyświetla 1/3 z dwoma miejscami po przecinku.#
gdy uruchomiony
[Display 1/3 with two decimals.]
ustaw precyzję drukowania na [0.01 v] na [Controller1 v] :: custom-controller-inertial-timer
wydrukuj ([1] [math_division v] [3]) na [Controller1 v] ▶ :: custom-controller-inertial-timer

wyczyść kontroler#

Blok stosu wyczyść kontroler czyści wszystkie wiersze na ekranie kontrolera i przesuwa kursor z powrotem do pierwszego wiersza.

wyczyść blok stosu kontrolera#
wyczyść [Controller1 v] :: custom-controller-inertial-timer

Parametr

Opis

urządzenie

Kontroler, który ma zostać użyty, skonfigurowany w oknie Urządzenia.

Przykład

Po uruchomieniu drukuje tekst, czeka, a następnie czyści ekran kontrolera.#
gdy uruchomiony
[Clear the Controller screen after printing.]
wydrukuj [This will disappear...] na [Controller1 v] ▶ :: custom-controller-inertial-timer
czekaj [2] sekund
wyczyść [Controller1 v] :: custom-controller-inertial-timer

wyczyść wiersz na kontrolerze#

Blok stosu wyczyść wiersz na kontrolerze czyści pojedynczy wiersz na ekranie kontrolera.

wyczyść wiersz w bloku stosu kontrolera#
wyczyść wiersz [1] na [Controller1 v] :: custom-controller-inertial-timer

Parametr

Opis

wiersz

Wiersz do wyczyszczenia na ekranie kontrolera.

urządzenie

Kontroler, który ma zostać użyty, skonfigurowany w oknie Urządzenia.

Przykład

Po uruchomieniu czyści wiersz 1 na ekranie kontrolera.#
gdy uruchomiony
[Clear one row on the Controller screen.]
wydrukuj [Row 1] na [Controller1 v] ▶ :: custom-controller-inertial-timer
ustaw kursor na następny wiersz na [Controller1 v] :: custom-controller-inertial-timer
wydrukuj [Row 2] na [Controller1 v] ▶ :: custom-controller-inertial-timer
czekaj [2] sekund
wyczyść wiersz [1] na [Controller1 v] :: custom-controller-inertial-timer