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.
Kontrollknapp nedtryckt? — Returnerar om en vald kontrollknapp trycks ned.
Styrenhetens position — Returnerar joystickens position längs en vald axel.
Åtgärder — Kör kontrollenheten, aktivera/inaktivera konfigurerade kontrollåtgärder eller kör block när kontrollenhetens inmatning ändras.
spela upp rumble på handkontroll — Spelar upp ett rumblemönster på en handkontroll.
Aktivera/avaktivera styrenhet — Aktiverar eller inaktiverar styrenhetsåtgärder som konfigurerats i menyn Enheter för alla anslutna styrenheter.
när kontrollknappen trycks ned — Kör den bifogade stacken när en vald knapp trycks ned eller släpps.
när regulatorns axel ändras — Kör den bifogade stacken när en joysticks position ändras längs den valda axeln.
Skärm — Visar text och siffror på kontrollskärmen.
skriv ut på styrenhet — Visar text, siffror eller variabelvärden på styrenhetens skärm.
ställ markören till rad och kolumn på kontrollenheten — Flyttar markören till en angiven rad och kolumn på kontrollenhetens skärm.
ställ markören till nästa rad på kontrollenheten — Flyttar markören till nästa rad på kontrollenhetens skärm.
ställ in utskriftsprecision på kontrollenheten — Anger hur många decimaler som visas när siffror skrivs ut på kontrollenhetens skärm.
rensa kontrollenhet — Rensar alla rader på kontrollenhetens skärm.
rensa rad på kontrollenheten — Rensar en rad på kontrollenhetens skärm.
Värden#
Kontrollen nedtryckt?#
Det booleska blocket Kontrollknapp nedtryckt? returnerar om en vald Controller-knapp trycks ned.

<[Controller1 v] [▲ v] tryckt?>
Parameter |
Beskrivning |
|---|---|
anordning |
Den styrenhet som ska användas, konfigurerad i fönstret Enheter. |
knapp |
Knappen för att kontrollera:
|
Exempel
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.

([Controller1 v] [1 v] position :: sensing)
Parameter |
Beskrivning |
|---|---|
anordning |
Den styrenhet som ska användas, konfigurerad i fönstret Enheter. |
axel |
Joystickaxeln att rapportera:
|
Exempel
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 vibration [Lång v] på [Controller1 v]
Parameter |
Beskrivning |
|---|---|
mönster |
Mullermönstret som ska spelas på kontrollenheten:
|
anordning |
Den styrenhet som ska användas, konfigurerad i fönstret Enheter. |
Exempel
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.
Styrdon [Inaktivera v]
Parameter |
Beskrivning |
|---|---|
ange |
Styrenhetens konfigurerade åtgärdstillstånd: Inaktivera eller Aktivera. |
Exempel
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 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.

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:
|
Exempel
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#
utskrift på styrenheten#
Stackblocket skriv ut på styrenhet visar text, siffror eller variabelvärden på styrenhetens skärm vid markörens aktuella position.
skriv ut [VEXcode] på [Controller1 v] ▶ :: custom-controller-inertial-timer
Parameter |
Beskrivning |
|---|---|
värde |
Texten, numret eller variabelvärdet som ska visas på kontrollenhetens skärm. |
anordning |
Den styrenhet som ska användas, konfigurerad i fönstret Enheter. |
expanderande pil |
Expanderar blocket för att inkludera och sätt markören till nästa rad, vilket flyttar markören till nästa rad efter att värdet har skrivits ut. Om det här alternativet inte används visas nästa utskrivna värde omedelbart efter föregående värde på samma rad. |
Exempel
när startad
[Display a message on the Controller screen.]
skriv ut [Hello, robot!] på [Controller1 v] ▶ :: custom-controller-inertial-timer
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.
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 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.
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 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.
ställ in utskriftsprecision till [0.1 v] på [Controller1 v] :: custom-controller-inertial-timer
Parameter |
Beskrivning |
|---|---|
precision |
Utskriftsnoggrannheten att använda:
|
anordning |
Den styrenhet som ska användas, konfigurerad i fönstret Enheter. |
Exempel
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 [Controller1 v] :: custom-controller-inertial-timer
Parameter |
Beskrivning |
|---|---|
anordning |
Den styrenhet som ska användas, konfigurerad i fönstret Enheter. |
Exempel
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 [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 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