Motor#

Inicializando la clase Motor#

Un objeto EXP Motor se crea utilizando el siguiente constructor:

Motor(puerto, engranajes, reversa)

Este constructor toma tres parámetros como máximo.

Parámetro

Descripción

puerto

El puerto al que está conectado el motor en el cerebro EXP.

engranajes

Opcional. Establece la configuración de engranaje instalada en el motor, el valor predeterminado es GearSetting.RATIO_18_1.

revertir

Opcional. Establece si se debe invertir el giro del motor, el valor predeterminado es “Falso”.

# Construct a Motor object named motor_1 in Port 1 on 
# the EXP Brain which has the reverse flag set to True.
motor_1 = Motor(Ports.PORT1, True)

Este objeto motor_1 se utilizará en todos los ejemplos posteriores a lo largo de esta documentación de API cuando se haga referencia a los métodos de la clase Motor.

Métodos de clase#

spin()#

El método spin(direction, velocity, units) se utiliza para girar un motor en la dirección especificada hasta que se utilice un comando de giro o detención, o se detenga el proyecto.

Esta es una función sin espera y permite que el siguiente comando se ejecute sin demora.

Parámetros

Descripción

dirección

Un DirectionType válido.

velocidad

Opcional. La velocidad a la que girará el motor. Se utilizará la velocidad predeterminada establecida por el comando motor_1.set_velocity().

unidades

Opcional. Una VelocityUnit o PERCENT válida. El valor predeterminado es RPM.

Devoluciones: Ninguna.

# Spin motor_1 forward.
motor_1.spin(FORWARD)

spin_to_position()#

El método spin_to_position(rotation, units, velocity, units_v, wait) se utiliza para girar un motor a una posición absoluta utilizando los argumentos proporcionados.

Esta función puede ser un comando en espera o sin espera dependiendo de si el parámetro wait está configurado en True.

Parámetros

Descripción

rotación

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

unidades

Opcional. Una RotationUnit válida. El valor predeterminado es GRADOS.

velocidad

Opcional. La velocidad a la que girará el motor. Se utilizará la velocidad predeterminada establecida por el comando motor_1.set_velocity().

unidades_v

Opcional. Una VelocityUnit o PERCENT válida. El valor predeterminado es RPM.

esperar

Opcional. Determina si el comando bloqueará los comandos subsiguientes (wait=True) o permitirá su ejecución inmediata (wait=False). Si no se especifica, el valor predeterminado para el parámetro wait es wait=True.

Devoluciones: Ninguna.

# Spin motor_1 to the position 90 degrees at 100 RPM.
motor_1.spin_to_position(90, DEGREES, 100, RPM)

spin_for()#

El método spin_for(dirección, valor, unidades, velocidad, unidades_v, espera) se utiliza para girar el motor durante un tiempo específico, rotaciones o hasta que se alcance un valor específico del codificador. La posición es relativa a la posición actual del motor.

Este puede ser un comando en espera o sin espera dependiendo de si se utiliza el parámetro wait.

Parámetros

Descripción

dirección

Un DirectionType válido.

valor

El valor al que debe girar el motor.

unidades

Opcional. Una RotationUnit válida. El valor predeterminado es GRADOS.

velocidad

Opcional. La velocidad a la que girará el motor. Se utilizará la velocidad predeterminada establecida por el comando motor_1.set_velocity().

unidades_v

Opcional. Una VelocityUnit o PERCENT válida. El valor predeterminado es RPM.

esperar

Opcional. Determina si el comando bloqueará los comandos subsiguientes (wait=True) o permitirá su ejecución inmediata (wait=False). Si no se especifica, el valor predeterminado para el parámetro wait es wait=True.

Devoluciones: Ninguna.

# Spin motor_1 forward for 10 turns at 100 percent velocity.
motor_1.spin_for(FORWARD, 10, TURNS, 100, PERCENT)

stop()#

El método stop(mode) se utiliza para detener un motor, estableciéndolo a velocidad 0 y configurando el modo de detención actual.

Parámetros

Descripción

modo

Opcional. Un BrakeType válido. El valor predeterminado es COAST, a menos que se haya modificado previamente con el comando motor_1.set_stopping().

Devoluciones: Ninguna.

# Spin motor_1 forward for 2.5 seconds.
motor_1.spin(FORWARD)

wait(2.5, SECONDS)

# Stop motor_1 using the HOLD brake type.
motor_1.stop(HOLD)

set_velocity()#

El método set_velocity(velocity, units) se utiliza para establecer la velocidad predeterminada de un motor. Esta configuración de velocidad se utilizará en llamadas posteriores a cualquier función de movimiento si no se proporciona una velocidad específica.

Parámetros

Descripción

velocidad

La nueva velocidad a establecer para el motor.

unidades

Una VelocityUnit o PERCENT válida.

Devoluciones: Ninguna.

# Spin motor_1 forward at 75 percent velocity
motor_1.set_velocity(75, PERCENT)

motor_1.spin(FORWARD)

set_reversed()#

El método set_reversed(value) establece la dirección del motor que se invertirá. Este comando funciona igual que establecer el parámetro reverse en True al construir un motor.

Parámetros

Descripción

valor

Valor booleano para establecer la dirección invertida o no.

Devoluciones: Ninguna.

set_stopping()#

El método set_stopping(mode) se utiliza para establecer el modo de detención de un motor.

Parámetros

Descripción

modo

Un BrakeType válido.

Devoluciones: Ninguna.

reset_position()#

El método reset_position() restablece la posición del motor a 0. La posición que devuelve la función motor_1.position() se actualizará a 0.

Devoluciones: Ninguna.

set_position()#

El método set_position(value, units) se utiliza para establecer la posición de un motor. La posición devuelta por la función motor_1.position() se actualizará a este nuevo valor.

Parámetros

Descripción

valor

La nueva posición a fijar para el motor.

unidades

Una RotationUnit válida.

Devoluciones: Ninguna.

set_timeout()#

El método set_timeout(value, units) se utiliza para establecer el tiempo de espera de un motor. La posición devuelta por la función motor_1.get_timeout() se actualizará a este nuevo valor.

Parámetros

Descripción

valor

El nuevo tiempo de espera que se debe establecer para el motor.

unidades

Opcional. Una Unidad de tiempo válida. El valor predeterminado es MSEC.

Devoluciones: Ninguna.

get_timeout()#

El método get_timeout() devuelve el tiempo de espera actual de un motor.

Devuelve: El valor de tiempo de espera actual en milisegundos.

is_spinning()#

El método is_spinning() devuelve el estado actual de los comandos motor_1.spin_to_position() o motor_1.spin_for(). Esta función se utiliza cuando se ha pasado False como parámetro de espera en cualquiera de los comandos.

Devuelve: Verdadero si el motor todavía está girando. Falso si el motor ha completado el movimiento o se ha producido un tiempo de espera.

is_done()#

El método is_done() devuelve el estado actual de los comandos motor_1.spin_to_position() o motor_1.spin_for(). Esta función se utiliza cuando se ha pasado False como parámetro de espera en cualquiera de los comandos.

Devuelve: Verdadero si el motor todavía está girando. Falso si el motor ha completado el movimiento o se ha producido un tiempo de espera.

set_max_torque()#

El método set_max_torque(value, units) se utiliza para establecer el par máximo de un motor. El par puede configurarse como par, corriente o un porcentaje del par máximo.

Parámetros

Descripción

valor

El nuevo par máximo para un motor.

unidades

Una TorqueUnit, AMP o PERCENT válida.

Devoluciones: Ninguna.

direction()#

El método direction() devuelve la dirección actual en la que está girando el motor.

Devuelve: El DirectionType actual en el que está girando el motor.

position()#

El método position(units) devuelve la posición actual del motor.

Parámetros

Descripción

unidades

Opcional. Una RotationUnit válida. El valor predeterminado es GRADOS.

Devuelve: La posición actual del motor en las unidades especificadas.

velocity()#

El método velocity(units) devuelve la velocidad actual del motor.

Parámetros

Descripción

unidades

Opcional. Una VelocityUnit válida. El valor predeterminado es RPM.

Devuelve: La velocidad actual del motor en las unidades especificadas.

current()#

El método current(units) devuelve la corriente utilizada por el motor.

Parámetros

Descripción

unidades

Opcional. Las únicas unidades válidas para la corriente son «AMP» o «PERCENT».

Devuelve: La corriente que consume el motor en las unidades especificadas.

power()#

El método power(units) devuelve la potencia consumida por el motor.

Parámetros

Descripción

unidades

Opcional. Las únicas unidades válidas para potencia son «WATT» o «PERCENTAJE».

Devuelve: La potencia consumida por el motor en las unidades especificadas.

torque()#

El método torque(units) devuelve el torque generado por el motor.

Parámetros

Descripción

unidades

Opcional. Una TorqueUnit válida. El valor predeterminado es NM.

Devuelve: El torque generado por el motor en las unidades especificadas.

efficiency()#

El método efficiency(units) devuelve la eficiencia del motor.

Parámetros

Descripción

unidades

Opcional. La única unidad válida para la eficiencia es “PORCENTAJE”.

Devuelve: La eficiencia del motor como porcentaje.

temperature()#

El método temperature(units) devuelve la temperatura del motor.

Parámetros

Descripción

unidades

Opcional. Una Unidad de Temperatura válida. El valor predeterminado es CELSIUS.

Devuelve: La temperatura del motor en las unidades especificadas.

command()#

El método command(units) devuelve la última velocidad enviada al motor.

Parámetros

Descripción

unidades

Opcional. Una VelocityUnit válida. El valor predeterminado es RPM.

Devuelve: La velocidad del comando del motor en las unidades especificadas.

installed()#

El método installed() retorna si el motor está conectado al cerebro EXP.

Devuelve: «Verdadero» si el motor está conectado. «Falso» si no lo está.

timestamp()#

El método timestamp() devuelve la marca de tiempo del último paquete de estado recibido del motor.

Devuelve: La marca de tiempo del último paquete de estado recibido en milisegundos.