Bloques específicos para robots#

Introducción#

El parque infantil VIQRC 25-26 Mix & Match incluye bloques exclusivos para este modelo, entre los que se incluyen dos opciones de motor, el sensor de visión IQ AI, el sensor óptico y el LED táctil.

Todos los bloques VEXcode VR estándar están disponibles para su uso en el parque infantil VIQRC 25-26 Mix & Match.

A continuación se muestra una lista de todos los bloques disponibles específicos para parques infantiles:

Movimiento: Mueve y rastrea los motores del robot.

Visión por IA: Captura y analiza objetos utilizando el sensor de visión por IA IQ.

Detección: Utilice los diversos sensores del robot.

Los ejemplos de esta página utilizan la posición de inicio predeterminada del Playground.

Movimiento#

Comportamiento#

motor de giro#

El bloque motor de giro hace girar un motor seleccionado en una dirección específica utilizando la velocidad actual del motor.

spin [ClawMotor v] [open v]

Parámetros

Descripción

motor

El motor a girar:

  • Motor de garra
  • Motor de elevación

dirección

Dirección de giro:

  • Motor de garra
    • abierto
    • cerrado
  • Motor de elevación
    • abajo
    • arriba

Ejemplo

cuando empezó
[Place a pin atop another pin.]
spin [LiftMotor v] [up v] for [600] [degrees v] ▶
drive [forward v] for (140) [mm v] ▶
spin [ClawMotor v] [open v]

motor de giro para#

El bloque motor de giro para hace girar un motor seleccionado durante una cantidad específica de rotación utilizando la velocidad actual del motor, medida en grados o vueltas.

spin [ClawMotor v] [open v] for (90) [degrees v] ▶

Parámetros

Descripción

motor

El motor a girar:

  • Motor de garra
  • Motor de elevación

dirección

Dirección de giro:

  • Motor de garra
    • abierto
    • cerrado
  • Motor de elevación
    • abajo
    • arriba

distancia

La cantidad de rotación, como un número entero o decimal.

unidad

La unidad de medida que representa la distancia:

  • grados
  • vueltas

flecha expansiva

Por defecto, este es un bloque de espera, por lo que el motor terminará de moverse antes de ejecutar el siguiente bloque. Amplíe el bloque para que diga y no espere para que no sea de espera.

Ejemplo

cuando empezó
[Place a pin atop another pin.]
spin [LiftMotor v] [up v] for [600] [degrees v] ▶
drive [forward v] for (140) [mm v] ▶
spin [ClawMotor v] [open v]

motor de giro para posicionar#

El bloque girar motor a posición hace girar un motor a una posición absoluta específica utilizando la velocidad del motor y la posición del motor actuales.

spin [ClawMotor v] to position (90) [degrees v] ▶

Parámetros

Descripción

motor

El motor a girar:

  • Motor de garra
  • Motor de elevación

posición

La posición objetivo a la que debe girar el motor.

unidad

Unidad de medida:

  • grados
  • vueltas

flecha expansiva

Por defecto, este es un bloque de espera. Amplíe el bloque para que diga y no espere para que no sea de espera.

Ejemplo

cuando empezó
[Place a pin atop another pin.]
spin [LiftMotor v] to position [-2] [turns v] ▶
drive [forward v] for (140) [mm v] ▶
spin [ClawMotor v] [open v]

motor de parada#

El bloque parar motor detiene inmediatamente el motor seleccionado.

stop [ClawMotor v]

Parámetros

Descripción

motor

El motor a detener:

  • Motor de garra
  • Motor de elevación

Ejemplo

cuando empezó
[Raise the lift for 2 seconds, then stop.]
spin [LiftMotor v] [up v]
esperar (2) segundos
stop [LiftMotor v]

Ajustes#

establecer la velocidad del motor#

El bloque establecer velocidad del motor establece la velocidad de giro predeterminada de un motor como un porcentaje para todos los bloques Motor subsiguientes en el proyecto.

set [ClawMotor v] velocity to (50) [% v]

Parámetros

Descripción

motor

El motor para ajustar la velocidad de:

  • Motor de garra
  • Motor de elevación

velocidad

Establece la velocidad de movimiento predeterminada de 0 a 100 como porcentaje.

unidad

La unidad que representa la velocidad:

  • %

Ejemplo

cuando empezó
[Raise the lift at full speed.]
set [LiftMotor v] velocity to [100] [% v]
spin [LiftMotor v] [up v] for [600] [degrees v] ▶

establecer tiempo de espera del motor#

El bloque set motor timeout establece un límite de tiempo para que un bloque Motor espere hasta alcanzar su objetivo. Si el robot no puede completar el movimiento dentro del tiempo establecido, se detendrá automáticamente y continuará con el siguiente bloque.

set [ClawMotor v] timeout to (1) seconds

Parámetros

Descripción

motor

Motor para configurar el tiempo de espera:

  • Motor de garra
  • Motor de elevación

tiempo

El número máximo de segundos que un bloque de motor funcionará antes de detenerse y pasar al siguiente bloque.

Ejemplo

cuando empezó
set [LiftMotor v] timeout to [2] seconds
spin [LiftMotor v] [up v] for [5] [turns v] ▶

Posición#

posición del motor#

El bloque posición del motor devuelve la distancia total que ha girado el motor seleccionado.

([ClawMotor v] position in [degrees v])

Parámetros

Descripción

motor

El motor para devolver la posición de:

  • Motor de garra
  • Motor de elevación

unidad

Unidad de medida:

  • grados
  • vueltas

Ejemplo

cuando empezó
[Raise the lift until it reaches 600 degrees.]
spin [LiftMotor v] [up v]
wait until <([LiftMotor v] position in [degrees v]) [math_less_than v] [-600]>
stop [LiftMotor v]

establecer la posición del motor#

El bloque establecer posición del motor asigna un valor de posición específico a un motor, lo que actualiza la lectura del codificador.

set [ClawMotor v] position to (0) [degrees v]

Parámetros

Descripción

motor

El motor para establecer la posición de:

  • Motor de garra
  • Motor de elevación

posición

El valor de posición del codificador que se va a configurar.

unidad

Unidad de medida:

  • grados
  • vueltas

Ejemplo

cuando empezó
set [LiftMotor v] position to [100] [degrees v]
spin [LiftMotor v] to position [-500] [degrees v] ▶

Valores#

El motor está terminado#

El bloque ¿El motor está detenido? devuelve un valor booleano que indica si el motor no está girando.

  • Cierto: el motor no está girando.

  • Falso - El motor está girando.

<[ClawMotor v] is done?>

Parámetros

Descripción

motor

El motor para comprobar si ha terminado de girar:

  • Motor de garra
  • Motor de elevación

Ejemplo

cuando empezó
[Flash the Touch LED while the lift is moving.]
spin [LiftMotor v] [up v] for [600] [degrees v] ◀ and don't wait
esperar [0.1] segundos
repeat until <[LiftMotor v] is done?>
set [TouchLED v] color to [red v]
esperar [0.5] segundos
set [TouchLED v] color to [none v]
esperar [0.5] segundos
fin

¿El motor está girando?#

El bloque ¿El motor está girando? devuelve un valor booleano que indica si el motor está girando.

  • Cierto: el motor está girando.

  • Falso - El motor no está girando.

<[ClawMotor v] is spinning?>

Parámetros

Descripción

motor

El motor para comprobar si está girando actualmente:

  • Motor de garra
  • Motor de elevación

Ejemplo

cuando empezó
[Flash the Touch LED while the lift is spinning.]
spin [LiftMotor v] [up v] for [600] [degrees v] ◀ and don't wait
esperar [0.1] segundos
repeat until <not <[LiftMotor v] is spinning?>>
set [TouchLED v] color to [red v]
esperar [0.5] segundos
set [TouchLED v] color to [none v]
esperar [0.5] segundos
fin

velocidad del motor#

El bloque velocidad del motor devuelve la velocidad de rotación actual del motor en un rango de -100% a 100%.

([ClawMotor v] velocity in [% v] :: custom-motion)

Parámetros

Descripción

motor

El motor para devolver la velocidad de:

  • Motor de garra
  • Motor de elevación

unidad

La unidad que representa la velocidad:

  • %

Ejemplo

cuando empezó
set [LiftMotor v] velocity to [100] [% v]
spin [LiftMotor v] [up v] for [600] [degrees v] ◀ and don't wait
esperar [0.5] segundos
print ([LiftMotor v] velocity in [% v] :: custom-motion) ▶

Visión por IA#

Comportamiento#

obtener datos del objeto#

El bloque obtener datos de objeto filtra los datos del marco del sensor de visión IQ AI. El sensor de visión IQ AI puede detectar elementos del juego en el terreno.

El conjunto de datos almacena objetos ordenados de mayor a menor ancho, comenzando en el índice 0. Se puede acceder a las propiedades de cada objeto mediante el bloque propiedad del objeto. Se devuelve un conjunto de datos vacío si no se detectan objetos coincidentes.

El bloque de pila para obtener datos del objeto.#
get [AI Classifications v] data from [AIVision v]

Parámetro

Descripción

firma

Filtra el conjunto de datos para incluir solo datos de la firma dada. La única firma disponible es:

  • Clasificaciones de IA: detecta haces y pines azules, rojos y naranjas.

Ejemplo

cuando empezó
[Place the Red Pin on the top left Blue Pin.]
spin [LiftMotor v] [up v] for [600] [degrees v] ▶
turn [left v] for [38] degrees ▶
repeat until <([AIVision v] object [width v]) [math_greater_than v] [48]>
get [AI Classifications v] data from [AIVision v]
unidad [adelante v]
fin
drive [forward v] for [160] [mm v] ▶
spin [ClawMotor v] [open v]

Ajustes#

elemento de objeto de conjunto#

El bloque establecer elemento de objeto establece qué elemento del conjunto de datos se debe utilizar.

El bloque de pila de elementos del objeto de conjunto.#
set [AIVision v] object item to [1]

Parámetros

Descripción

artículo

El número del elemento del conjunto de datos que se va a utilizar.

Ejemplo

cuando empezó
[Find the object index of the nearest Orange Pin.]
set [object_counter v] to [1]
get [AI Classifications v] data from [AIVision v]
repeat ([AIVision v] object count)
set [AIVision v] object item to (object_counter)
if <[AIVision v] object is [Orange Pin v]> then
print (join [Nearest Orange Pin is ] (object_counter)) ▶
demás
change [object_counter v] by [1]
fin
fin

Valores#

¿Existe el objeto?#

El bloque ¿Existe algún objeto? devuelve un valor booleano que indica si se ha detectado algún objeto en el conjunto de datos.

  • Verdadero: el conjunto de datos incluye un objeto detectado.

  • Falso: el conjunto de datos no incluye ningún objeto detectado.

El objeto AI Vision existe como bloque booleano.#
<[AIVision v] object exists?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando empezó
[Raise the Lift until a Pin or Beam is detected.]
repeat until <[AIVision v] object exists?>
get [AI Classifications v] data from [AIVision v]
spin [LiftMotor v] [up v]
fin
stop [LiftMotor v]

recuento de objetos#

El bloque conteo de objetos devuelve el número de objetos detectados en el conjunto de datos como un número entero.

El bloque de informe de recuento de objetos.#
([AIVision v] object count)

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando empezó
get [AI Classifications v] data from [AIVision v]
print ([AIVision v] object count) ▶

propiedad del objeto#

Hay seis propiedades que se incluyen con cada objeto almacenado después de que se utiliza el bloque obtener datos del objeto.

El bloque de informe de propiedades del objeto AI Vision.#
([AIVision v] object [width v])

Algunos valores de propiedad se basan en la posición del objeto detectado en la vista del sensor de visión IQ AI en el momento en que se utilizó el bloque obtener datos del objeto. El sensor de visión IQ AI tiene una resolución de 320 x 240 píxeles.

Parámetro

Descripción

propiedad

¿Qué propiedad del objeto detectado utilizar?:

ancho#

El parámetro width devuelve el ancho del objeto detectado en píxeles como un número entero entre 1 y 320.

El bloque de informe de propiedades del objeto AI Vision con el ancho seleccionado.#
([AIVision v] object [width v])
altura#

La función height devuelve la altura del objeto detectado en píxeles como un número entero entre 1 y 240.

El bloque de informe de propiedades del objeto AI Vision con la altura seleccionada.#
([AIVision v] object [height v])
centroX#

centerX devuelve la coordenada x del centro del objeto detectado en píxeles como un número entero entre 0 y 320.

El bloque de informe de propiedades del objeto AI Vision con centerX seleccionado.#
([AIVision v] object [centerX v])
centroY#

centerY devuelve la coordenada y del centro del objeto detectado en píxeles como un número entero entre 0 y 240.

El bloque de informe de propiedades del objeto AI Vision con centerY seleccionado.#
([AIVision v] object [centerY v])
origenX#

originX devuelve la coordenada x de la esquina superior izquierda del cuadro delimitador del objeto detectado en píxeles como un número entero de 0 a 320.

El bloque de informe de propiedades del objeto AI Vision con originX seleccionado.#
([AIVision v] object [originX v])
origenY#

originY devuelve la coordenada y de la esquina superior izquierda del cuadro delimitador del objeto detectado en píxeles como un número entero de 0 a 240.

El bloque de informe de propiedades del objeto AI Vision con originY seleccionado.#
([AIVision v] object [originY v])

La clasificación de IA es#

El bloque ¿El objeto de AI Vision es? devuelve un valor booleano que indica si un objeto detectado coincide con una clasificación específica.

  • Verdadero: el elemento en el conjunto de datos es el objeto específico.

  • Falso: el elemento en el conjunto de datos no es el objeto específico.

La clasificación de IA es un bloque booleano.#
<[AIVision v] object is [Beam v]?>

Parámetro

Descripción

objeto

¿Con qué objeto comparar el artículo?:

  • Viga
  • Alfiler azul
  • Alfiler rojo
  • Alfiler naranja

Ejemplo

cuando empezó
[Find the object index of the nearest Orange Pin.]
set [object_counter v] to [1]
get [AI Classifications v] data from [AIVision v]
repeat ([AIVision v] object count)
set [AIVision v] object item to (object_counter)
if <[AIVision v] object is [Orange Pin v]> then
print (join [Nearest Orange Pin is ] (object_counter)) ▶
demás
change [object_counter v] by [1]
fin
fin

Detección#

Óptico#

¿El sistema óptico detectó algún objeto?#

El bloque ¿El sensor óptico ha detectado un objeto? devuelve un valor booleano que indica si el sensor óptico ha detectado un objeto.

  • Verdadero: el sensor óptico ha detectado un objeto.

  • Falso: el sensor óptico no ha detectado ningún objeto.

<[Optical v] found an object?>

Parámetros

Descripción

Este bloque no tiene parámetros.

Ejemplo

cuando empezó
[Place a pin atop another pin.]
spin [LiftMotor v] [up v] for [600] [degrees v] ▶
drive [forward v] for (140) [mm v] ▶
spin [ClawMotor v] [open v]
wait until <not <[Optical v] found an object?>>
spin [LiftMotor v] to position [0] [degrees v] ▶

El sensor óptico detecta el color.#

El bloque ¿Detecta el color el sensor óptico? devuelve un valor booleano que indica si el sensor óptico ha detectado un color específico.

  • Verdadero: el sensor óptico ha detectado el color especificado.

  • Falso: el sensor óptico no ha detectado el color especificado.

<[Optical v] detects [red v]?>

Parámetros

Descripción

color

¿Qué color comprobar?:

  • rojo
  • verde
  • azul
  • blanco
  • amarillo
  • naranja
  • morado
  • rojo violeta
  • violeta
  • azul violeta
  • azul verdoso
  • amarillo verdoso
  • amarillo naranja
  • rojo naranja

Ejemplo

cuando empezó
[Place a pin atop another pin.]
spin [LiftMotor v] [up v] for [600] [degrees v] ▶
drive [forward v] for (140) [mm v] ▶
spin [ClawMotor v] [open v]
wait until <[Optical v] detects [red v]?>
spin [LiftMotor v] to position [0] [degrees v] ▶

Brillo óptico#

El bloque Brillo óptico devuelve la cantidad de luz detectada por el sensor óptico en un rango del 0% al 100%.

([Optical v] brightness in %)

Parámetros

Descripción

Este bloque no tiene parámetros.

Tonalidad óptica#

El bloque Tono óptico devuelve el valor de tono del color detectado por el sensor óptico.

Los valores de tono van de 0 a 359 grados, lo que corresponde a las posiciones en la rueda de colores que se muestra a continuación.

Una rueda de colores circular que muestra un espectro completo de tonalidades etiquetadas con valores de grados alrededor del perímetro, aumentando en incrementos de 30 grados desde 0 grados en la parte superior hasta 360 grados.

([Optical v] hue in degrees)

Parámetros

Descripción

Este bloque no tiene parámetros.

cuando óptico#

El bloque when Optical ejecuta su pila cuando el sensor óptico detecta o pierde un objeto. Puedes tener varios bloques when Optical para ejecutar varias pilas de bloques a la vez.

when [Optical v] [detects v] an object

Parámetros

Descripción

acción

¿Qué acción activa el bloqueo del sombrero?:

  • detecta
  • pierde

Ejemplo

when [Optical v] [loses v] an object
[Lower the lift when the object is no longer in the claw.]
spin [LiftMotor v] to position [0] [degrees v] ▶

LED táctil#

configurar el color del TouchLED#

El bloque establecer color del LED táctil establece el color del LED táctil.

set [TouchLED v] color to [none v]

Parámetros

Descripción

color

Configura el color del LED a:

  • ninguno - Apaga el LED táctil
  • rojo
  • verde
  • azul
  • blanco
  • amarillo
  • naranja
  • morado
  • rojo violeta
  • violeta
  • azul violeta
  • azul verdoso
  • amarillo verdoso
  • amarillo naranja
  • rojo naranja

Ejemplo

cuando empezó
[Light the Touch LED while placing a pin.]
set [TouchLED v] color to [red v]
spin [LiftMotor v] [up v] for [600] [degrees v] ▶
drive [forward v] for (140) [mm v] ▶
spin [ClawMotor v] [open v]
set [TouchLED v] color to [none v]