Python específico para robots#
Introducción#
El parque infantil VIQRC 23-24 Full Volume incorpora métodos exclusivos para el diseño específico de este parque, incluyendo dos opciones de motor y su sensor óptico.
Todos los métodos VEXcode VR estándar están disponibles para su uso en el entorno de pruebas VIQRC 23-24 Full Volume.
A continuación se muestra una lista de todos los métodos disponibles específicos de Playground:
Movimiento: Mueve y rastrea los motores del robot.
Comportamiento
spin– Spins the selected motor or motor group indefinitely.spin_for– Spins a motor or group for a specific distance in degrees or turns.spin_to_position– Spins a motor or motor group to a set position.stop– Stops a specific motor or motor group from spinning.
Mutadores
set_position– Sets the encoder value of a motor or motor group.set_velocity– Sets the speed of a motor or motor group as a percentage.set_timeout– Limits how long a motor block waits before giving up if movement is blocked.
Obtenidos
is_done– Returns a Boolean indicating whether the motor is no longer spinning.is_spinning– Returns a Boolean indicating whether the motor is currently spinning.position– Returns the motor’s current rotational position in degrees or turns.velocity– Returns the motor’s current velocity in % or rpm.
Detección: Utilice los diversos sensores del robot.
Óptico
is_near_object– Returns whether a detected object is near the Optical Sensor.color– Returns the color detected from the Optical Sensor.brightness– Returns the brightness percentage detected by the sensor.hue– Returns the hue value of the detected color.object_detected– Registers a callback function for when the Optical Sensor detects an object.object_lost– Registers a callback function for when the Optical Sensor loses an object.
Los ejemplos de esta página utilizan la posición de inicio predeterminada del Playground.
Movimiento#
Comportamiento#
girar#
spin spins a motor or motor group in the specified direction indefinitely.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
|
The direction for the motor to spin:
|
def main():
# Spin the intake motor forward then stop
intake_motor_group.spin(FORWARD)
wait(0.5, SECONDS)
intake_motor_group.stop()
# VR threads — Do not delete
vr_thread(main)
girar_para#
spin_for spins a motor or motor group for a given amount of degrees or turns.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
|
The direction for the motor to spin:
|
|
La distancia que debe girar el motor como un número entero. |
|
The unit that represents the distance to rotate:
|
|
Optional.
|
def main():
# Spin the intake motor forward then stop
intake_motor_group.spin_for(FORWARD, 1, TURNS)
# VR threads — Do not delete
vr_thread(main)
girar_a_posición#
spin_to spins a motor or motor group to a given position.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
|
El ángulo específico o el número de vueltas que girará el motor. |
|
The unit that represents the angle to rotate to:
|
|
Optional.
|
def main():
# Spin the intake motor forward then stop
intake_motor_group.spin_to_position(55, DEGREES)
# VR threads — Do not delete
vr_thread(main)
detener#
stop stops a motor or motor group from spinning.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
def main():
# Spin the intake motor forward then stop
intake_motor_group.spin(FORWARD)
wait(0.5, SECONDS)
intake_motor_group.stop()
# VR threads — Do not delete
vr_thread(main)
Mutadores#
posición_de_establecer#
set_position sets a motor’s or motor group’s encoder position to the given position value.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
|
El número entero específico al que se debe configurar el codificador del motor. |
|
The unit that represents the angle to rotate to:
|
def main():
# Set the current motor position to 90 degrees
intake_motor_group.set_position(90, DEGREES)
# Spin the intake motor back to 0 degrees
intake_motor_group.spin_to_position(0, DEGREES)
# VR threads — Do not delete
vr_thread(main)
establecer_velocidad#
set_velocity sets the speed of a motor or motor group.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
|
La velocidad a la que girará el grupo motor, que oscila entre 0 y 100. |
|
The unit that represents the new velocity:
|
def main():
# Spin the intake motor forward then stop
intake_motor_group.set_velocity(75, PERCENT)
intake_motor_group.spin_to_position(180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
establecer_tiempo_de_espera#
set_timeout sets a time limit for a motor’s or motor group’s movement commands. This prevents Motion commands that do not reach their intended position from preventing subsequent commands from running.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
|
El tiempo que el motor esperará antes de detenerse. |
|
The unit to represent the timeout:
|
def main():
# Spin the intake motor forward then stop
intake_motor_group.set_timeout(2, SECONDS)
intake_motor_group.spin_to_position(270, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Getters#
está_hecho#
is_done returns a Boolean indicating whether the specified motor or motor group is not spinning.
True– The specified motor is not spinning.False– The specified motor is spinning.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
está_girando#
is_spinning returns a Boolean indicating whether the specified motor or motor group is spinning.
True– The specified motor is spinning.False– The specified motor is not spinning.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
posición#
position returns the total distance the specified motor or motor group has rotated.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
|
The units that represent the motor’s position:
|
velocidad#
velocity returns the current rotational speed of the motor or motor group.
Uso:
Se puede utilizar uno de los dos objetos de motor disponibles con este método, como se muestra a continuación:
motor |
Dominio |
|---|---|
|
|
|
|
Parámetros |
Descripción |
|---|---|
|
The unit that represent the motor’s position:
|
Detección#
Óptico#
is_near_object#
is_near_object returns a Boolean indicating whether or not the Optical Sensor detects an object close to the sensor.
True– The object is close to the Optical Sensor.False– The object is not close to the Optical Sensor.
Usage:
optical.is_near_object()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
color#
color returns the color detected by the Optical Sensor:
Color devuelto: |
|---|
|
Usage:
optical.color()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
brillo#
brightness returns the brightness value detected by the Optical Sensor as a percent from 0% to 100%.
Usage:
optical.brightness()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
matiz#
hue returns the hue detected by the Optical Sensor.
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.

Usage:
optical.hue()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
objeto_detectado#
object_detected registers a callback function for when the Optical Sensor detects an object.
Usage:
optical.object_detected(callback, arg)
Parámetros |
Descripción |
|---|---|
|
Una función que se llamará cuando se detecte un objeto. |
|
Opcional. Una tupla que se utiliza para pasar argumentos a la función de devolución de llamada. |
objeto_perdido#
object_lost registers a callback function for when the Optical Sensor loses a previously detected object.
Usage:
optical.object_lost(callback, arg)
Parámetros |
Descripción |
|---|---|
|
Una función que se llamará cuando se pierda un objeto detectado. |
|
Opcional. Una tupla que se utiliza para pasar argumentos a la función de devolución de llamada. |