Controlador#

Introducción#

El controlador V5 cuenta con botones, dos joysticks, un motor de vibración y una pantalla. Los bloques del controlador permiten comprobar las pulsaciones de los botones, leer el movimiento de los joysticks, activar la vibración del controlador, habilitar o deshabilitar las acciones configuradas, ejecutar bloques cuando se producen eventos en el controlador o mostrar texto en la pantalla del controlador.

Las acciones del controlador configuradas son comportamientos del controlador establecidos en el menú Dispositivos. Utilice el bloque Habilitar/deshabilitar controlador para habilitar o deshabilitar temporalmente dichas acciones configuradas durante un proyecto.

A continuación se muestra una lista de bloques disponibles:

Valores: compruebe el estado de los botones del controlador o lea la posición del joystick.

Acciones: Activar el controlador, habilitar/deshabilitar las acciones configuradas del controlador o ejecutar bloques cuando cambie la entrada del controlador.

Pantalla: muestra texto y números en la pantalla del controlador.

Valores#

¿Controlador presionado?#

El bloque booleano ¿Controlador presionado? devuelve si se está presionando un botón seleccionado del controlador.

Parte frontal y posterior del controlador V5 con los botones resaltados en amarillo. En la superficie del controlador se encuentran los botones de flecha arriba, abajo, izquierda y derecha a la izquierda, y los botones X, A, B, Y en sentido horario desde las 12 en punto a la derecha. En la parte posterior del controlador se encuentran L1, L2, R1 y R2 a la izquierda y derecha respectivamente.

¿Controlador presionado? Bloque booleano#
<[Controller 1 v] [▲ v] presionado?>

Parámetro

Descripción

dispositivo

El controlador que se va a utilizar, configurado en la ventana Dispositivos.

botón

El botón a marcar:

  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

Ejemplo

Al arrancar, avanza mientras se mantiene pulsado el botón X.#
cuando empezó
[Drive forward while X is pressed.]
para siempre
si <[Controller 1 v] [X v] presionado?> entonces
unidad [adelante v]
demás
deja de conducir
fin
fin

Posición del controlador#

El bloque de informe de Posición del controlador devuelve la posición del joystick a lo largo de un eje seleccionado como un número entre -100 y 100.

Un controlador VEX V5 con los ejes alrededor de los joysticks etiquetados. Los ejes 1 y 2 están alrededor del joystick derecho, y los ejes 3 y 4 están alrededor del izquierdo.

Bloque de reportero de la posición del controlador#
([Controller1 v] [1 v] position :: sensing)

Parámetro

Descripción

dispositivo

El controlador que se va a utilizar, configurado en la ventana Dispositivos.

eje

Eje del joystick a informar:

  • 1 — eje horizontal del joystick derecho
  • 2 — eje vertical del joystick derecho
  • 3 — eje vertical del joystick izquierdo
  • 4 — eje horizontal del joystick izquierdo

Ejemplo

Al arrancar, el vehículo avanza mientras se empuja hacia arriba la palanca de mando izquierda.#
cuando empezó
[Drive forward while the left joystick is pushed up.]
para siempre
si <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> entonces
unidad [adelante v]
demás
deja de conducir
fin
fin

Comportamiento#

Juega a Rumble en el mando#

El bloque de pila reproducir vibración en el mando reproduce un patrón de vibración en el mando.

Juega a Rumble en el bloque de pila del controlador#
jugar rumble [Long v] contra [Controller 1 v]

Parámetro

Descripción

patrón

Patrón de vibración para reproducir en el mando:

  • Largo — una vibración larga
  • Corto — una vibración corta
  • Pulso — un patrón de vibraciones intermitentes

dispositivo

El controlador que se va a utilizar, configurado en la ventana Dispositivos.

Ejemplo

Al pulsar el botón R1, se reproduce una breve vibración en el mando.#
cuando [Controller 1 v] botón [R1 v] [presionado v] :: hat events
jugar rumble [Short v] contra [Controller 1 v]

Habilitar/deshabilitar el controlador#

El bloque de pila Activar/Desactivar controlador habilita o desactiva las acciones configuradas del controlador desde el menú Dispositivos para todos los controladores conectados.

Bloque de pila de habilitación/deshabilitación del controlador#
Controlador [Disable v]

Parámetro

Descripción

estado

El controlador configuró el estado de acción: Deshabilitar o Habilitar.

Ejemplo

Al iniciarse, desactiva las acciones del controlador configuradas mientras el robot avanza.#
cuando empezó
[Disable Controller configured actions until the drive movement is done.]
Controlador [Disable v]
unidad [adelante v] para (6) [pulgadas v] ▶
Controlador [Enable v]

cuando se presiona el botón del controlador#

El bloque Hat cuando se presiona el botón del controlador ejecuta la pila adjunta cuando se presiona o se suelta un botón seleccionado del controlador.

Parte frontal y posterior del controlador V5 con los botones resaltados en amarillo. En la superficie del controlador se encuentran los botones de flecha arriba, abajo, izquierda y derecha a la izquierda, y los botones X, A, B, Y en sentido horario desde las 12 en punto a la derecha. En la parte posterior del controlador se encuentran L1, L2, R1 y R2 a la izquierda y derecha respectivamente.

cuando se presiona el botón del controlador Bloqueo de sombrero#
cuando [Controller 1 v] botón [▲ v] [presionado v] :: hat events

Parámetro

Descripción

dispositivo

El controlador que se va a utilizar, configurado en la ventana Dispositivos.

botón

El botón a marcar:

  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

estado del botón

El evento del botón que activa la pila adjunta: presionado o soltado.

Ejemplo

Al pulsar el botón R1, el vehículo avanza 200 milímetros.#
cuando [Controller 1 v] botón [R1 v] [presionado v] :: hat events
[Drive forward when R1 is pressed.]
unidad [adelante v] para (200) [mm v] ▶

cuando se cambia el eje del controlador#

El bloque Hat cuando se cambia el eje del controlador ejecuta la pila adjunta cuando la posición de un joystick cambia a lo largo del eje seleccionado.

Un controlador VEX V5 con los ejes alrededor de los joysticks etiquetados. Los ejes 1 y 2 están alrededor del joystick derecho, y los ejes 3 y 4 están alrededor del izquierdo.

cuando se cambia el eje del controlador Bloque de sombrero#
when [Controller1 v] axis [1 v] is changed :: hat events

Parámetro

Descripción

dispositivo

El controlador que se va a utilizar, configurado en la ventana Dispositivos.

eje

Ejes del joystick a comprobar:

  • 1 — eje horizontal del joystick derecho
  • 2 — eje vertical del joystick derecho
  • 3 — eje vertical del joystick izquierdo
  • 4 — eje horizontal del joystick izquierdo

Ejemplo

Cuando la posición del joystick cambia a lo largo del eje 3 del controlador, avanza 200 milímetros.#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
unidad [adelante v] para (200) [mm v] ▶

Pantalla#

establecer el cursor en la columna de fila en el controlador#

El bloque de pila establecer cursor en fila y columna en el controlador mueve el cursor a una fila y columna específicas en la pantalla del controlador. El siguiente valor impreso aparecerá en esa posición.

establecer cursor en la columna de fila en el bloque de pila del controlador#
Coloque el cursor en la fila [1] columna [1] de [Controller 1 v] :: custom-controller-inertial-timer

Parámetro

Descripción

fila

La fila a la que se debe mover el cursor en la pantalla del controlador.

columna

La columna a la que se debe mover el cursor en la pantalla del controlador.

dispositivo

El controlador que se va a utilizar, configurado en la ventana Dispositivos.

Ejemplo

Al iniciarse, imprime el texto de la fila 2, columna 1 en la pantalla del controlador.#
cuando empezó
[Display a message on row 2.]
Coloque el cursor en la fila [2] columna [1] de [Controller 1 v] :: custom-controller-inertial-timer
imprimir [Ready] en [Controller 1 v] ▶ :: custom-controller-inertial-timer

establecer el cursor en la siguiente fila en el controlador#

El bloque de pila establecer cursor en la siguiente fila del controlador mueve el cursor a la columna 1 de la siguiente fila de la pantalla del controlador. El siguiente valor impreso aparecerá en esa fila.

establecer el cursor en la siguiente fila en el bloque de pila del controlador#
establece el cursor en la siguiente fila en [Controller 1 v] :: custom-controller-inertial-timer

Parámetro

Descripción

dispositivo

El controlador que se va a utilizar, configurado en la ventana Dispositivos.

Ejemplo

Al iniciarse, imprime dos filas en la pantalla del controlador.#
cuando empezó
[Display two rows of text.]
imprimir [Row 1] en [Controller 1 v] ▶ :: custom-controller-inertial-timer
establece el cursor en la siguiente fila en [Controller 1 v] :: custom-controller-inertial-timer
imprimir [Row 2] en [Controller 1 v] ▶ :: custom-controller-inertial-timer

Configurar la precisión de impresión en el controlador.#

El bloque establecer precisión de impresión en el controlador configura la cantidad de decimales que se muestran al imprimir números en la pantalla del controlador. Esta configuración se aplica a los números impresos después de usar este bloque.

establecer la precisión de impresión en el bloque de pila del controlador#
Establezca la precisión de impresión en [0.1 v] sobre [Controller 1 v] :: custom-controller-inertial-timer

Parámetro

Descripción

precisión

Precisión de impresión a utilizar:

  • 1 — sin decimales
  • 0.1 — 1 decimal
  • 0.01 — 2 decimales
  • 0.001 — 3 decimales
  • Todos los Digitos — todos los decimales disponibles

dispositivo

El controlador que se va a utilizar, configurado en la ventana Dispositivos.

Ejemplo

Al iniciarse, muestra 1/3 con dos decimales en la pantalla del controlador.#
cuando empezó
[Display 1/3 with two decimals.]
Establezca la precisión de impresión en [0.01 v] sobre [Controller 1 v] :: custom-controller-inertial-timer
imprimir ([1] [math_division v] [3]) en [Controller 1 v] ▶ :: custom-controller-inertial-timer

controlador limpio#

El bloque de pila clear controller borra todas las filas de la pantalla del controlador y mueve el cursor de vuelta a la primera fila.

Bloque de pila del controlador limpio#
clear [Controller1 v] :: custom-controller-inertial-timer

Parámetro

Descripción

dispositivo

El controlador que se va a utilizar, configurado en la ventana Dispositivos.

Ejemplo

Al iniciarse, imprime texto, espera y luego borra la pantalla del controlador.#
cuando empezó
[Clear the Controller screen after printing.]
imprimir [This will disappear...] en [Controller 1 v] ▶ :: custom-controller-inertial-timer
esperar [2] segundos
clear [Controller1 v] :: custom-controller-inertial-timer

borrar fila en el controlador#

El bloque de pila borrar fila en el controlador borra una sola fila en la pantalla del controlador.

borrar fila en bloque de pila del controlador#
Limpiar la fila [1] en [Controller 1 v] :: custom-controller-inertial-timer

Parámetro

Descripción

fila

La fila que se va a borrar en la pantalla del controlador.

dispositivo

El controlador que se va a utilizar, configurado en la ventana Dispositivos.

Ejemplo

Al iniciarse, borra la fila 1 de la pantalla del controlador.#
cuando empezó
[Clear one row on the Controller screen.]
imprimir [Row 1] en [Controller 1 v] ▶ :: custom-controller-inertial-timer
establece el cursor en la siguiente fila en [Controller 1 v] :: custom-controller-inertial-timer
imprimir [Row 2] en [Controller 1 v] ▶ :: custom-controller-inertial-timer
esperar [2] segundos
Limpiar la fila [1] en [Controller 1 v] :: custom-controller-inertial-timer