Controller#

Invoering#

De V5-controller heeft knoppen, twee joysticks, een trilmotor en een scherm. Controllerblokken kunnen worden gebruikt om knopdrukken te controleren, joystickbewegingen te registreren, de controller te laten trillen, geconfigureerde controlleracties in of uit te schakelen, blokken uit te voeren wanneer controllergebeurtenissen plaatsvinden, of tekst op het controllerscherm weer te geven.

Geconfigureerde controlleracties zijn controllergedragingen die zijn ingesteld in het menu Apparaten. Gebruik het blok Controller in-/uitschakelen om deze geconfigureerde acties tijdelijk in of uit te schakelen tijdens een project.

Hieronder vindt u een lijst met beschikbare blokken:

Waarden — Controleer de status van de controllerknoppen of lees de joystickpositie uit.

Acties — De controller laten trillen, geconfigureerde controlleracties in- of uitschakelen of blokken uitvoeren wanneer de controllerinvoer verandert.

Scherm — Tekst en cijfers weergeven op het controllerscherm.

Waarden#

Controller ingedrukt?#

Het Booleaanse blok Controller ingedrukt? geeft aan of een geselecteerde knop op de controller is ingedrukt.

De voor- en achterkant van de V5-controller met de knoppen geel gemarkeerd. Aan de linkerkant van de controller bevinden zich de pijlknoppen omhoog, omlaag, naar links en naar rechts, en aan de rechterkant de knoppen X, A, B, Y met de klok mee vanaf 12 uur. Aan de achterkant van de controller bevinden zich de knoppen L1, L2, R1 en R2 aan respectievelijk de linker- en rechterkant.

Controller ingedrukt? Booleaanse waarde#
<[Controller1 v] [▲ v] ingedrukt?>

Parameter

Beschrijving

apparaat

De te gebruiken controller wordt geconfigureerd in het venster Apparaten.

knop

De knop om te controleren:

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

Voorbeeld

Bij het starten rijdt de auto vooruit zolang de X-knop ingedrukt blijft.#
wanneer gestart
[Drive forward while X is pressed.]
altijd
als <[Controller1 v] [X v] ingedrukt?> dan
rijd [vooruit v]
anders
stop rijden
einde
einde

Controllerpositie#

Het Controller position reporterblok geeft de joystickpositie langs een geselecteerde as weer als een getal van -100 tot 100.

Een VEX V5-controller met de assen rond de joysticks gelabeld. As 1 en 2 bevinden zich rond de rechter joystick en as 3 en 4 rond de linker.

Controller positie reporterblok#
([Controller1 v] [1 v] position :: sensing)

Parameter

Beschrijving

apparaat

De te gebruiken controller wordt geconfigureerd in het venster Apparaten.

as

De joystick-as die moet worden gerapporteerd:

  • 1 — horizontale as rechter joystick
  • 2 — verticale as rechter joystick
  • 3 — verticale as linker joystick
  • 4 — horizontale as linker joystick

Voorbeeld

Bij het starten rijdt de auto vooruit terwijl de linker joystick omhoog wordt geduwd.#
wanneer gestart
[Drive forward while the left joystick is pushed up.]
altijd
als <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> dan
rijd [vooruit v]
anders
stop rijden
einde
einde

Acties#

Speel Rumble met de controller.#

Het stapelblok speel rumble af op controller laat een rumble-patroon horen op de controller.

Speel Rumble op controller stack block#
speel trilpatroon [Lang v] af op [Controller1 v]

Parameter

Beschrijving

patroon

Het trilpatroon dat op de controller wordt afgespeeld:

  • Lang — één lange trilling
  • Kort — één korte trilling
  • Puls — een patroon van aan- en uit-trillingen

apparaat

De te gebruiken controller wordt geconfigureerd in het venster Apparaten.

Voorbeeld

Wanneer de R1-knop wordt ingedrukt, klinkt er een korte trilling op de controller.#
wanneer[Controller1 v] knop [R1 v] [ingedrukt v] :: hat events
speel trilpatroon [Kort v] af op [Controller1 v]

Controller in-/uitschakelen#

Het stackblok Controller in-/uitschakelen schakelt de geconfigureerde acties van de controller in of uit via het menu Apparaten voor alle aangesloten controllers.

Controller stackblok in-/uitschakelen#
Controller [Uitschakelen v]

Parameter

Beschrijving

staat

De geconfigureerde actiestatus van de controller: Uitschakelen of Inschakelen.

Voorbeeld

Bij het opstarten worden de geconfigureerde acties van de controller uitgeschakeld terwijl de robot vooruit rijdt.#
wanneer gestart
[Disable Controller configured actions until the drive movement is done.]
Controller [Uitschakelen v]
rijd [vooruit v] voor (6) [inches v] ▶
Controller [Inschakelen v]

wanneer de controllerknop is ingedrukt#

Het Hat-blok wanneer een controllerknop wordt ingedrukt voert de bijbehorende stack uit wanneer een geselecteerde controllerknop wordt ingedrukt of losgelaten.

De voor- en achterkant van de V5-controller met de knoppen geel gemarkeerd. Aan de linkerkant van de controller bevinden zich de pijlknoppen omhoog, omlaag, naar links en naar rechts, en aan de rechterkant de knoppen X, A, B, Y met de klok mee vanaf 12 uur. Aan de achterkant van de controller bevinden zich de knoppen L1, L2, R1 en R2 aan respectievelijk de linker- en rechterkant.

wanneer de controllerknop wordt ingedrukt, hoedblok#
wanneer[Controller1 v] knop [▲ v] [ingedrukt v] :: hat events

Parameter

Beschrijving

apparaat

De te gebruiken controller wordt geconfigureerd in het venster Apparaten.

knop

De knop om te controleren:

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

knopstatus

De knopgebeurtenis die de bijbehorende stack activeert: ingedrukt of losgelaten.

Voorbeeld

Wanneer de R1-knop wordt ingedrukt, rijdt het voertuig 200 millimeter vooruit.#
wanneer[Controller1 v] knop [R1 v] [ingedrukt v] :: hat events
[Drive forward when R1 is pressed.]
rijd [vooruit v] voor (200) [mm v] ▶

wanneer de controller-as wordt gewijzigd#

Het Hat-blok wanneer de controller-as wordt gewijzigd voert de bijbehorende stack uit wanneer de positie van een joystick langs de geselecteerde as verandert.

Een VEX V5-controller met de assen rond de joysticks gelabeld. As 1 en 2 bevinden zich rond de rechter joystick en as 3 en 4 rond de linker.

Wanneer de controller-as wordt gewijzigd, wordt het hoedblok geactiveerd.#
when [Controller1 v] axis [1 v] is changed :: hat events

Parameter

Beschrijving

apparaat

De te gebruiken controller wordt geconfigureerd in het venster Apparaten.

as

De te controleren joystick-as:

  • 1 — horizontale as rechter joystick
  • 2 — verticale as rechter joystick
  • 3 — verticale as linker joystick
  • 4 — horizontale as linker joystick

Voorbeeld

Wanneer de positie van de joystick verandert langs controller-as 3, rijdt het voertuig 200 millimeter vooruit.#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
rijd [vooruit v] voor (200) [mm v] ▶

Scherm#

Plaats de cursor in de rijkolom op de controller.#

Het stackblok set cursor to row column on controller verplaatst de cursor naar een opgegeven rij en kolom op het Controller-scherm. De volgende afgedrukte waarde verschijnt op die positie.

Plaats de cursor in de rijkolom van het controller-stackblok.#
stel cursor in op rij [1] kolom [1] op [Controller1 v] :: custom-controller-inertial-timer

Parameter

Beschrijving

rij

De rij waarnaar de cursor op het controllerscherm moet worden verplaatst.

kolom

De kolom waarnaar de cursor op het controllerscherm moet worden verplaatst.

apparaat

De te gebruiken controller wordt geconfigureerd in het venster Apparaten.

Voorbeeld

Bij het opstarten wordt de tekst op regel 2, kolom 1 van het controllerscherm afgedrukt.#
wanneer gestart
[Display a message on row 2.]
stel cursor in op rij [2] kolom [1] op [Controller1 v] :: custom-controller-inertial-timer
druk [Ready] af op [Controller1 v] ▶ :: custom-controller-inertial-timer

Plaats de cursor op de volgende regel op de controller.#

Het stackblok set cursor to next row on controller verplaatst de cursor naar kolom 1 op de volgende regel van het Controller-scherm. De volgende afgedrukte waarde verschijnt op die regel.

Plaats de cursor op de volgende rij in het controller-stackblok.#
cursor naar volgende rij op [Controller1 v] :: custom-controller-inertial-timer

Parameter

Beschrijving

apparaat

De te gebruiken controller wordt geconfigureerd in het venster Apparaten.

Voorbeeld

Bij het opstarten worden twee regels op het controllerscherm afgedrukt.#
wanneer gestart
[Display two rows of text.]
druk [Row 1] af op [Controller1 v] ▶ :: custom-controller-inertial-timer
cursor naar volgende rij op [Controller1 v] :: custom-controller-inertial-timer
druk [Row 2] af op [Controller1 v] ▶ :: custom-controller-inertial-timer

Stel de afdrukprecisie in op de controller.#

Het stackblok set print precision on controller bepaalt hoeveel decimalen er worden weergegeven wanneer getallen op het controllerscherm worden afgedrukt. Deze instelling is van toepassing op getallen die worden afgedrukt nadat dit blok is gebruikt.

Stel de afdrukprecisie in op het controller-stackblok.#
stel afdrukprecisie in op [0.1 v] op [Controller1 v] :: custom-controller-inertial-timer

Parameter

Beschrijving

precisie

De te gebruiken afdrukprecisie:

  • 1 — geen decimalen
  • 0,1 — 1 decimaal
  • 0,01 — 2 decimalen
  • 0,001 — 3 decimalen
  • Alle cijfers — alle beschikbare decimalen

apparaat

De te gebruiken controller wordt geconfigureerd in het venster Apparaten.

Voorbeeld

Bij het opstarten wordt 1/3 met twee decimalen weergegeven op het scherm van de controller.#
wanneer gestart
[Display 1/3 with two decimals.]
stel afdrukprecisie in op [0.01 v] op [Controller1 v] :: custom-controller-inertial-timer
druk ([1] [math_division v] [3]) af op [Controller1 v] ▶ :: custom-controller-inertial-timer

wis controller#

Het stackblok clear controller wist alle rijen op het controllerscherm en verplaatst de cursor terug naar de eerste rij.

Wis het controller-stackblok#
wis [Controller1 v] :: custom-controller-inertial-timer

Parameter

Beschrijving

apparaat

De te gebruiken controller wordt geconfigureerd in het venster Apparaten.

Voorbeeld

Bij het opstarten wordt tekst afgedrukt, even gewacht en vervolgens wordt het controllerscherm gewist.#
wanneer gestart
[Clear the Controller screen after printing.]
druk [This will disappear...] af op [Controller1 v] ▶ :: custom-controller-inertial-timer
wacht [2] seconden
wis [Controller1 v] :: custom-controller-inertial-timer

Wis de rij op de controller#

Het stackblok clear row on controller wist één rij op het controllerscherm.

Wis de rij op het controller-stackblok#
wis rij [1] op [Controller1 v] :: custom-controller-inertial-timer

Parameter

Beschrijving

rij

De rij die u wilt wissen op het scherm van de controller.

apparaat

De te gebruiken controller wordt geconfigureerd in het venster Apparaten.

Voorbeeld

Bij het opstarten wordt rij 1 op het controllerscherm gewist.#
wanneer gestart
[Clear one row on the Controller screen.]
druk [Row 1] af op [Controller1 v] ▶ :: custom-controller-inertial-timer
cursor naar volgende rij op [Controller1 v] :: custom-controller-inertial-timer
druk [Row 2] af op [Controller1 v] ▶ :: custom-controller-inertial-timer
wacht [2] seconden
wis rij [1] op [Controller1 v] :: custom-controller-inertial-timer