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.
Controller ingedrukt? — Geeft aan of een geselecteerde knop van de controller is ingedrukt.
Controllerpositie — Geeft de joystickpositie langs een geselecteerde as terug.
Acties — De controller laten trillen, geconfigureerde controlleracties in- of uitschakelen of blokken uitvoeren wanneer de controllerinvoer verandert.
speel trilgeluid op controller — Speelt een trilgeluid af op een controller.
Controller in-/uitschakelen — Schakelt de controlleracties die in het menu Apparaten zijn geconfigureerd in of uit voor alle aangesloten controllers.
wanneer een knop van de controller wordt ingedrukt — Voert de bijbehorende stack uit wanneer een geselecteerde knop wordt ingedrukt of losgelaten.
wanneer de controlleras wordt gewijzigd — Voert de bijgevoegde stack uit wanneer de positie van een joystick verandert langs de geselecteerde as.
Scherm — Tekst en cijfers weergeven op het controllerscherm.
afdrukken op controller — Geeft tekst, getallen of variabele waarden weer op het controllerscherm.
Cursor instellen op rij en kolom op controller — Verplaatst de cursor naar een opgegeven rij en kolom op het controllerscherm.
Cursor naar volgende rij op controller instellen — Verplaatst de cursor naar de volgende rij op het controllerscherm.
afdrukprecisie instellen op controller — Stelt in hoeveel decimalen worden weergegeven wanneer getallen op het controllerscherm worden afgedrukt.
controller wissen — Maakt alle rijen op het controllerscherm leeg.
rij wissen op controller — Maakt één rij op het controllerscherm leeg.
Waarden#
Controller ingedrukt?#
Het Booleaanse blok Controller ingedrukt? geeft aan of een geselecteerde knop op de controller is ingedrukt.

<[Controller1 v] [▲ v] ingedrukt?>
Parameter |
Beschrijving |
|---|---|
apparaat |
De te gebruiken controller wordt geconfigureerd in het venster Apparaten. |
knop |
De knop om te controleren:
|
Voorbeeld
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.

([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:
|
Voorbeeld
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 trilpatroon [Lang v] af op [Controller1 v]
Parameter |
Beschrijving |
|---|---|
patroon |
Het trilpatroon dat op de controller wordt afgespeeld:
|
apparaat |
De te gebruiken controller wordt geconfigureerd in het venster Apparaten. |
Voorbeeld
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 [Uitschakelen v]
Parameter |
Beschrijving |
|---|---|
staat |
De geconfigureerde actiestatus van de controller: Uitschakelen of Inschakelen. |
Voorbeeld
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 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.

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:
|
Voorbeeld
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#
afdrukken op controller#
Het stapelblok print on controller geeft tekst, getallen of variabele waarden weer op het controllerscherm op de huidige cursorpositie.
druk [VEXcode] af op [Controller1 v] ▶ :: custom-controller-inertial-timer
Parameter |
Beschrijving |
|---|---|
waarde |
De tekst, het getal of de variabele waarde die op het controllerscherm moet worden weergegeven. |
apparaat |
De te gebruiken controller wordt geconfigureerd in het venster Apparaten. |
uitbreidende pijl |
Breidt het blok uit met en zet de cursor op de volgende regel, waardoor de cursor naar de volgende regel wordt verplaatst nadat de waarde is afgedrukt. Als deze optie niet wordt gebruikt, verschijnt de volgende afgedrukte waarde direct na de vorige waarde op dezelfde regel. |
Voorbeeld
wanneer gestart
[Display a message on the Controller screen.]
druk [Hello, robot!] af op [Controller1 v] ▶ :: custom-controller-inertial-timer
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.
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
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.
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
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 afdrukprecisie in op [0.1 v] op [Controller1 v] :: custom-controller-inertial-timer
Parameter |
Beschrijving |
|---|---|
precisie |
De te gebruiken afdrukprecisie:
|
apparaat |
De te gebruiken controller wordt geconfigureerd in het venster Apparaten. |
Voorbeeld
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 [Controller1 v] :: custom-controller-inertial-timer
Parameter |
Beschrijving |
|---|---|
apparaat |
De te gebruiken controller wordt geconfigureerd in het venster Apparaten. |
Voorbeeld
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 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
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