Kontroller#

Introduktion#

V5-kontrollen har knappar, två joysticks, en rumblemotor och en skärm. Kontrollblock kan användas för att kontrollera knapptryckningar, läsa av joystickrörelser, få kontrollen att rumla, aktivera eller inaktivera konfigurerade kontrollåtgärder, köra block när kontrollhändelser inträffar eller visa text på kontrollskärmen.

Konfigurerade kontrollåtgärder är kontrollbeteenden som ställs in i menyn Enheter. Använd blocket Aktivera/avaktivera kontroll för att tillfälligt aktivera eller avaktivera dessa konfigurerade åtgärder under ett projekt.

Nedan följer en lista över tillgängliga block:

Värden — Kontrollera kontrollknappens status eller läs joystickens position.

Åtgärder — Kör kontrollenheten, aktivera/inaktivera konfigurerade kontrollåtgärder eller kör block när kontrollenhetens inmatning ändras.

Skärm — Visar text och siffror på kontrollskärmen.

Värden#

Kontrollen nedtryckt?#

Det booleska blocket Kontrollknapp nedtryckt? returnerar om en vald Controller-knapp trycks ned.

Framsidan och baksidan av V5-kontrollen med knapparna markerade i gult. På kontrollens yta finns uppåt-, nedåt-, vänster- och högerpilknappar till vänster, och X-, A-, B- och Y-knappar medsols från klockan 12 till höger. På baksidan av kontrollen finns L1, L2, R1 och R2 på vänster respektive höger sida.

Kontrollern nedtryckt? Booleskt block#
<[Controller1 v] [▲ v] tryckt?>

Parameter

Beskrivning

anordning

Den styrenhet som ska användas, konfigurerad i fönstret Enheter.

knapp

Knappen för att kontrollera:

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

Exempel

Vid start körs bilen framåt medan X-knappen hålls nedtryckt.#
när startad
[Drive forward while X is pressed.]
för alltid
om <[Controller1 v] [X v] tryckt?> då
kör [framåt v]
annars
stoppa körning
avsluta
avsluta

Kontrollposition#

Blocket Styrenhetsposition returnerar joystickens position längs en vald axel som ett tal från -100 till 100.

En VEX V5-styrenhet med axlarna runt joystickarna märkta. Axel 1 och 2 är runt den högra joysticken, och axel 3 och 4 är runt den vänstra.

Block för rapportering av styrenhetens position#
([Controller1 v] [1 v] position :: sensing)

Parameter

Beskrivning

anordning

Den styrenhet som ska användas, konfigurerad i fönstret Enheter.

axel

Joystickaxeln att rapportera:

  • 1 — höger joystick horisontell axel
  • 2 — höger joystick vertikal axel
  • 3 — vänster joystick vertikal axel
  • 4 — vänster joystick horisontell axel

Exempel

Vid start körs den framåt medan vänster joystick trycks uppåt.#
när startad
[Drive forward while the left joystick is pushed up.]
för alltid
om <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> då
kör [framåt v]
annars
stoppa körning
avsluta
avsluta

Åtgärder#

spela rumble på handkontrollen#

Stackblocket spela upp rumble på handkontroll spelar upp ett rumble-mönster på handkontrollen.

spela rumble på controller stack block#
spela vibration [Lång v] på [Controller1 v]

Parameter

Beskrivning

mönster

Mullermönstret som ska spelas på kontrollenheten:

  • Långt — ett långt muller
  • Kort — ett kort muller
  • Puls — ett mönster av muller som av och på

anordning

Den styrenhet som ska användas, konfigurerad i fönstret Enheter.

Exempel

När R1-knappen trycks ner spelas ett kort muller på kontrollenheten.#
när[Controller1 v]-knapp [R1 v] [tryckt v] :: hat events
spela vibration [Kort v] på [Controller1 v]

Aktivera/avaktivera styrenhet#

Stackblocket Aktivera/inaktivera styrenhet aktiverar eller inaktiverar styrenhetskonfigurerade åtgärder från Enheter-menyn för alla anslutna styrenheter.

Styrenhet aktivera/avaktivera stackblock#
Styrdon [Inaktivera v]

Parameter

Beskrivning

ange

Styrenhetens konfigurerade åtgärdstillstånd: Inaktivera eller Aktivera.

Exempel

När den startas inaktiveras konfigurerade kontrollfunktioner medan roboten kör framåt.#
när startad
[Disable Controller configured actions until the drive movement is done.]
Styrdon [Inaktivera v]
kör [framåt v] i (6) [tum v] ▶
Styrdon [Aktivera v]

när kontrollknappen trycks in#

Hat-blocket när Controller-knappen trycks ned kör den bifogade stacken när en vald Controller-knapp trycks ned eller släpps.

Framsidan och baksidan av V5-kontrollen med knapparna markerade i gult. På kontrollens yta finns uppåt-, nedåt-, vänster- och högerpilknappar till vänster, och X-, A-, B- och Y-knappar medsols från klockan 12 till höger. På baksidan av kontrollen finns L1, L2, R1 och R2 på vänster respektive höger sida.

när kontrollknappen trycks ned Hat block#
när[Controller1 v]-knapp [▲ v] [tryckt v] :: hat events

Parameter

Beskrivning

anordning

Den styrenhet som ska användas, konfigurerad i fönstret Enheter.

knapp

Knappen för att kontrollera:

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

knappstatus

Knapphändelsen som utlöser den bifogade stacken: nedtryckt eller släppt.

Exempel

När R1-knappen trycks in körs den 200 millimeter framåt.#
när[Controller1 v]-knapp [R1 v] [tryckt v] :: hat events
[Drive forward when R1 is pressed.]
kör [framåt v] i (200) [mm v] ▶

när regulatorns axel ändras#

Hat-blocket när styrenhetens axel ändras kör den bifogade stacken när en joysticks position ändras längs den valda axeln.

En VEX V5-styrenhet med axlarna runt joystickarna märkta. Axel 1 och 2 är runt den högra joysticken, och axel 3 och 4 är runt den vänstra.

när regulatoraxeln ändras Hat-block#
when [Controller1 v] axis [1 v] is changed :: hat events

Parameter

Beskrivning

anordning

Den styrenhet som ska användas, konfigurerad i fönstret Enheter.

axel

Joystickaxeln att kontrollera:

  • 1 — höger joystick horisontell axel
  • 2 — höger joystick vertikal axel
  • 3 — vänster joystick vertikal axel
  • 4 — vänster joystick horisontell axel

Exempel

När joystickens position ändras längs regulatorns axel 3, körs den framåt i 200 millimeter.#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
kör [framåt v] i (200) [mm v] ▶

Skärm#

sätt markören till radkolumn på kontrollenheten#

Stackblocket ställ markören till radkolumn på styrenheten flyttar markören till en angiven rad och kolumn på styrenhetens skärm. Nästa utskrivna värde visas på den positionen.

sätt markören till radkolumn på controllerstackblock#
ställ markör på rad [1] kolumn [1] på [Controller1 v] :: custom-controller-inertial-timer

Parameter

Beskrivning

rad

Raden som markören ska flyttas till på kontrollskärmen.

kolumn

Kolumnen att flytta markören till på kontrollskärmen.

anordning

Den styrenhet som ska användas, konfigurerad i fönstret Enheter.

Exempel

När den startas skrivs text ut på rad 2, kolumn 1 på kontrollskärmen.#
när startad
[Display a message on row 2.]
ställ markör på rad [2] kolumn [1] på [Controller1 v] :: custom-controller-inertial-timer
skriv ut [Ready] på [Controller1 v] ▶ :: custom-controller-inertial-timer

placera markören på nästa rad på kontrollenheten#

Stackblocket ställ markören till nästa rad på styrenheten flyttar markören till kolumn 1 på nästa rad på styrenhetens skärm. Nästa utskrivna värde visas på den raden.

sätt markören till nästa rad på controllerstackblocket#
flytta markör till nästa rad på [Controller1 v] :: custom-controller-inertial-timer

Parameter

Beskrivning

anordning

Den styrenhet som ska användas, konfigurerad i fönstret Enheter.

Exempel

När den startas skrivs två rader ut på kontrollskärmen.#
när startad
[Display two rows of text.]
skriv ut [Row 1] på [Controller1 v] ▶ :: custom-controller-inertial-timer
flytta markör till nästa rad på [Controller1 v] :: custom-controller-inertial-timer
skriv ut [Row 2] på [Controller1 v] ▶ :: custom-controller-inertial-timer

ställ in utskriftsprecision på styrenheten#

Stackblocket ställ in utskriftsprecision på styrenheten anger hur många decimaler som visas när siffror skrivs ut på styrenhetens skärm. Denna inställning gäller för siffror som skrivs ut efter att detta block har använts.

ange utskriftsprecision på controllerstackblock#
ställ in utskriftsprecision till [0.1 v] på [Controller1 v] :: custom-controller-inertial-timer

Parameter

Beskrivning

precision

Utskriftsnoggrannheten att använda:

  • 1 — inga decimaler
  • 0,1 — 1 decimal
  • 0,01 — 2 decimaler
  • 0,001 — 3 decimaler
  • Alla siffror — alla tillgängliga decimaler

anordning

Den styrenhet som ska användas, konfigurerad i fönstret Enheter.

Exempel

När den startas visas 1/3 med två decimaler på kontrollskärmen.#
när startad
[Display 1/3 with two decimals.]
ställ in utskriftsprecision till [0.01 v] på [Controller1 v] :: custom-controller-inertial-timer
skriv ut ([1] [math_division v] [3]) på [Controller1 v] ▶ :: custom-controller-inertial-timer

tydlig kontroller#

Stackblocket clear controller rensar alla rader på Controller-skärmen och flyttar markören tillbaka till den första raden.

rensa controller stackblock#
rensa [Controller1 v] :: custom-controller-inertial-timer

Parameter

Beskrivning

anordning

Den styrenhet som ska användas, konfigurerad i fönstret Enheter.

Exempel

När den startas skrivs text ut, väntar och rensar sedan kontrollskärmen.#
när startad
[Clear the Controller screen after printing.]
skriv ut [This will disappear...] på [Controller1 v] ▶ :: custom-controller-inertial-timer
vänta [2] sekunder
rensa [Controller1 v] :: custom-controller-inertial-timer

rensa raden på handkontrollen#

Stackblocket rensa rad på styrenhet rensar en enda rad på styrenhetsskärmen.

rensa rad på controllerstackblock#
rensa rad [1] på [Controller1 v] :: custom-controller-inertial-timer

Parameter

Beskrivning

rad

Raden som ska rensas på kontrollskärmen.

anordning

Den styrenhet som ska användas, konfigurerad i fönstret Enheter.

Exempel

När den startas rensas rad 1 på kontrollskärmen.#
när startad
[Clear one row on the Controller screen.]
skriv ut [Row 1] på [Controller1 v] ▶ :: custom-controller-inertial-timer
flytta markör till nästa rad på [Controller1 v] :: custom-controller-inertial-timer
skriv ut [Row 2] på [Controller1 v] ▶ :: custom-controller-inertial-timer
vänta [2] sekunder
rensa rad [1] på [Controller1 v] :: custom-controller-inertial-timer