Giroscopio#

Introducción#

El sensor giroscópico es un sensor de movimiento que detecta la rotación sobre un solo eje. Puede medir cuánto ha girado el robot, lo que le permite rastrear su orientación y dirección.

A continuación se muestra una lista de todos los métodos disponibles:

Métodos – Medir el movimiento de rotación y detectar cambios en el movimiento.

  • calibrar – Calibra el sensor giroscópico para un seguimiento de rumbo estable.

  • set_heading – Establece el rumbo del sensor giroscópico en un valor específico.

  • set_rotation – Establece el valor de rotación del sensor giroscópico.

  • encabezado – Devuelve el encabezado actual.

  • rotación – Devuelve la rotación acumulada.

  • rate – Devuelve la velocidad angular alrededor del eje x, y o z.

  • is_calibrating – Devuelve si el sensor giroscópico está calibrando o no.

  • reset_heading – Establece el rumbo del sensor giroscópico en 0.

  • reset_rotation – Establece la rotación del sensor giroscópico en 0.

  • cambiado – Registra una función para llamar cuando el sensor giroscópico detecta un cambio.

  • instalado – Devuelve si un sensor giroscópico está conectado o no al cerebro.

Constructores: inicializan y configuran manualmente un sensor giroscópico.

Métodos#

calibrar#

calibrate calibra el sensor giroscópico. Todas las líneas subsiguientes esperarán a que se complete la calibración antes de ejecutarse. La calibración es un procedimiento interno que mide y compensa el ruido y la deriva del sensor durante un período específico. Durante este tiempo, el sensor giroscópico debe permanecer completamente inmóvil (es decir, sobre una superficie estable sin ningún movimiento externo). El movimiento durante la calibración producirá resultados inexactos.

Uso:
calibrate()

Parámetro

Descripción

Este método no tiene parámetros.

# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
    wait(0.1, SECONDS)
brain.screen.print("Done!")

establecer_encabezado#

set_heading establece el rumbo del sensor giroscópico a un valor específico.

Uso:
set_heading(valor, unidades)

Parámetros

Descripción

valor

El valor del encabezado a establecer.

unidades

Opcional. Unidad utilizada para representar el nuevo rumbo:

  • «GRADOS» (predeterminado)
  • «GIROS»
# Turn the robot around
drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)

rotación_del_conjunto#

set_rotation establece la rotación del sensor giroscópico en un valor específico.

Uso:
set_rotation(valor, unidades)

Parámetros

Descripción

valor

El valor del encabezado a establecer.

unidades

Opcional. Unidad utilizada para representar el nuevo valor de rotación:

  • GRADOS (predeterminado)
  • VUELTAS
# Turn the robot around
drivetrain_gyro.set_rotation(-180)
drivetrain.turn_to_rotation(0)

título#

heading devuelve el rumbo actual del sensor giroscópico.

Uso:
heading(unidades)

Parámetros

Descripción

unidades

Opcional. Unidad utilizada para representar el rumbo:

  • «GRADOS» (predeterminado)
  • «GIROS»
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.heading())

rotación#

rotation devuelve la rotación actual del sensor giroscópico.

Uso:
rotación(unidades)

Parámetros

Descripción

unidades

Opcional. Unidad utilizada para representar la rotación:

  • GRADOS (predeterminado)
  • VUELTAS
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(drivetrain_gyro.rotation())

tasa#

rate devuelve la tasa actual de cambio de la rotación del sensor giroscópico en unidades especificadas.

Uso:
tasa(unidades)

Parámetros

Descripción

unidades

Opcional. Unidad utilizada para representar la velocidad del giroscopio:

  • DPS (predeterminado)
  • RPM
  • PORCENTAJE
# Display the rate of change of rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(drivetrain_gyro.rate())
drivetrain.stop()

está_calibrando#

is_calibrating verifica si el sensor giroscópico se está calibrando actualmente.

  • Verdadero: el sensor giroscópico se está calibrando.

  • Falso: el sensor giroscópico no está calibrando.

Uso:
is_calibrating()

Parámetro

Descripción

Este método no tiene parámetros.

# Start Gyro Sensor calibration.
drivetrain_gyro.calibrate()
# Print after calibration
while drivetrain_gyro.is_calibrating():
    wait(0.1, SECONDS)
brain.screen.print("Done!")

restablecer_encabezado#

reset_heading restablece el rumbo del sensor giroscópico a 0.

Uso:
reset_heading()

Parámetros

Descripción

Este método no tiene parámetros.

# Turn the robot before and after resetting the heading
drivetrain.turn_to_heading(90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_heading()
drivetrain.turn_to_heading(90, DEGREES)

restablecer_rotación#

reset_rotation restablece la rotación del sensor giroscópico a 0.

Uso:
reset_rotation()

Parámetros

Descripción

Este método no tiene parámetros.

# Turn the robot before and after resetting the rotation
drivetrain.turn_to_rotation(-90, DEGREES)
wait(0.5,SECONDS)
drivetrain_gyro.reset_rotation()
drivetrain.turn_to_rotation(-90, DEGREES)

cambió#

changed registra una función de devolución de llamada para cuando cambia el rumbo del sensor giroscópico.

Uso:
changed(callback, arg)

Parámetros

Descripción

llamar de vuelta

La función de devolución de llamada que se llamará cuando cambie el rumbo del sensor giroscópico.

arg

Opcional. Una tupla de argumentos para pasar a la función de devolución de llamada.

def gyro_changed():
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("Heading: ")
    brain.screen.print(drivetrain_gyro.heading()) 
# Display the heading when the gyro detects a change
drivetrain.turn_for(RIGHT, 90, DEGREES, wait=False)
drivetrain_gyro.changed(gyro_changed)

instalado#

installed devuelve un valor booleano que indica si el sensor giroscópico está conectado al cerebro.

  • Verdadero - El sensor giroscópico está conectado al cerebro.

  • Falso - El sensor giroscópico no está conectado al cerebro.

Uso:
installed()

Parámetros

Descripción

Este método no tiene parámetros.

# Display a message if the Gyro Sensor is
# installed.
if drivetrain_gyro.installed():
    brain.screen.print("Installed!")

Constructores#

Los constructores se utilizan para crear manualmente objetos “Gyro”, que son necesarios para configurar un sensor giroscópico fuera de VEXcode.

Para los ejemplos siguientes, el sensor giroscópico configurado se llamará drivetrain_gyro y se utilizará en todos los ejemplos posteriores en esta documentación de API cuando se haga referencia a los métodos de la clase Gyro.

Giroscopio#

Gyro crea un sensor giroscópico.

Uso:
Gyro(puerto)

Parámetro

Descripción

puerto

A qué puerto inteligente está conectado el sensor giroscópico se le asigna el nombre “PUERTO” seguido del número de puerto, que varía entre 1 y 12.

# Create the Brain
brain = Brain()
# When constructing Gyro Sensor "drivetrain_gyro" with a 
# SmartDrive "drivetrain"
drivetrain_gyro = Gyro(Ports.PORT1)
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, drivetrain_gyro, 200)

drivetrain_gyro.set_heading(180)
drivetrain.turn_to_heading(0)