Movimiento#
Introducción#
Los motores controlan el movimiento de las partes de un robot. Se pueden usar para levantar un brazo, girar una garra, hacer girar una rueda o mover otra parte de la estructura. Dos motores pueden funcionar juntos como undrivetrain.mdde transmisión para mover y girar todo el robot.
Cada motor se configura en la ventana Dispositivos. Según la compilación, los nombres de los motores y las direcciones pueden variar. Por ejemplo, la compilación Competition Advanced 2.0 tiene un motor llamado ArmMotor, con direcciones arriba y abajo. Un robot personalizado puede usar nombres o direcciones de motor diferentes.
Por defecto, la dirección hacia adelante hace girar el motor en sentido contrario a las agujas del reloj, y la dirección hacia atrás lo hace girar en el sentido de las agujas del reloj. Si un motor está configurado para girar en sentido inverso en la ventana Dispositivos, se invertirán esas direcciones.
Existen muchas maneras de programar motores. A continuación se muestra una lista de todos los bloques de movimiento:
Acciones: Detener y hacer girar los motores.
motor de giro — Hace girar un motor hacia adelante o hacia atrás indefinidamente.
girar motor durante — Hace girar un motor durante una distancia específica.
girar motor a posición — Gira un motor a una posición específica.
detener motor — Detiene el giro de un motor.
Ajustes: Ajuste la configuración del motor.
establecer posición del motor — Cambia la posición actual del motor a un nuevo valor.
establecer velocidad del motor — Indica al motor a qué velocidad debe girar.
establecer parada del motor — Establece cómo se detendrá el motor: frenando, rodando por inercia o manteniéndose en reposo.
establecer par máximo del motor — Establece la fuerza con la que se le permite al motor empujar mientras gira.
establecer tiempo de espera del motor — Establece cuántos segundos un motor intentará terminar un movimiento.
Valores: compruebe el estado del motor.
el motor ha terminado — Informa si el motor ha terminado de moverse.
¿El motor está girando? — Informa si el motor está girando.
posición del motor — Informa la posición actual del motor.
velocidad del motor — Indica la velocidad de giro del motor, como un porcentaje de -100% a 100%.
corriente del motor — Indica cuánta energía está utilizando el motor de la batería, como un porcentaje del 0% al 100%.
Comportamiento#
motor de giro#
El bloque apilable motor giratorio hace girar un motor hacia adelante o hacia atrás indefinidamente. El motor seguirá girando hasta que se le aplique otra acción, como girar en una dirección diferente o detenerse.
girar [ArmMotor v] [arriba v]
Parámetros |
Descripción |
|---|---|
motor |
El motor a girar. Seleccione entre los motores configurados en la ventana Dispositivos. |
dirección |
La dirección de giro del motor. Por defecto, las opciones son hacia adelante y hacia atrás. La dirección de giro puede variar según la configuración del motor. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor, then stop.]
girar [ArmMotor v] [arriba v]
esperar [1] segundos
parada [ArmMotor v]
motor de giro para#
El bloque spin motor for hace girar un motor una distancia específica. El giro es relativo a la posición actual del motor. El proyecto esperará a que el motor termine de girar antes de ejecutar el siguiente bloque de la pila.
girar [ArmMotor v] [arriba v] por [90] [grados v] ▶
Parámetros |
Descripción |
|---|---|
motor |
El motor a girar. Seleccione entre los motores configurados en la ventana Dispositivos. |
dirección |
La dirección de giro del motor. Por defecto, las opciones son hacia adelante y hacia atrás. La dirección de giro puede variar según la configuración del motor. |
distancia |
La distancia que gira el motor. Los grados usan números enteros. Las vueltas pueden usar números enteros o decimales. |
unidad |
La unidad de distancia: grados o vueltas. |
y no esperes |
Seleccione la flecha ( ▶ ) para expandir el bloque y decir y no espere, de modo que el siguiente bloque en la pila se ejecutará inmediatamente. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Raise and lower the ArmMotor.]
girar [ArmMotor v] [arriba v] por [180] [grados v] ▶
esperar [1] segundos
girar [ArmMotor v] [abajo v] por [180] [grados v] ▶
motor de giro para posicionar#
El bloque de apilamiento girar motor para posicionar hace girar un motor hasta una posición específica.
La posición de un motor se refiere a cuánto ha girado, medido en grados o vueltas. Una vuelta equivale a 360 grados. Al inicio de un proyecto, la posición del motor se establece en 0 grados. También se puede establecer la posición del motor mediante el bloque establecer posición del motor.
Los valores de posición son absolutos. Esto significa que la dirección de giro depende de la posición actual del motor.
girar [ArmMotor v] a la posición (90) [grados v] ▶
Parámetros |
Descripción |
|---|---|
motor |
El motor a girar. Seleccione entre los motores configurados en la ventana Dispositivos. |
posición |
El valor de posición al que girará el motor. Los grados se expresan con números enteros. Las vueltas pueden expresarse con números enteros o decimales. |
unidad |
La unidad de medida de la posición: grados o vueltas. |
y no esperes |
Seleccione la flecha ( ▶ ) para expandir el bloque y decir y no espere, de modo que el siguiente bloque en la pila se ejecutará inmediatamente. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
girar [ArmMotor v] [arriba v] por [180] [grados v] ▶
esperar [1] segundos
girar [ArmMotor v] a la posición [0] [grados v] ▶
detener el motor#
El bloque para detener el motor impide que un motor gire.
parada [ArmMotor v]
Parámetros |
Descripción |
|---|---|
motor |
El motor que se va a detener. Seleccione uno de los motores configurados en la ventana Dispositivos. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor.]
girar [ArmMotor v] [arriba v]
esperar [1] segundos
parada [ArmMotor v]
Ajustes#
establecer la posición del motor#
La posición de un motor se refiere a cuánto ha girado, medido en grados o vueltas. Una vuelta equivale a 360 grados. El bloque de pila establecer posición del motor cambia la posición actual del motor a un nuevo valor.
Por ejemplo, si un motor ha girado 180 grados, al ajustar la posición a 0 grados, dicha posición volverá a su estado original. A partir de ahí, el motor podrá girar a posiciones que dependan de ese nuevo valor.
Establezca la posición [ArmMotor v] en (0) [grados v]
Parámetros |
Descripción |
|---|---|
motor |
El motor para el que se desea configurar la posición. Seleccione uno de los motores configurados en la ventana Dispositivos. |
posición |
Valor de posición para el motor. Grados: usar números enteros. Vueltas: usar números enteros o decimales. |
unidad |
La unidad de medida de la posición: grados o vueltas. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
Establezca la posición [ArmMotor v] en [0] [grados v]
girar [ArmMotor v] [arriba v] por [180] [grados v] ▶
esperar [1] segundos
girar [ArmMotor v] a la posición [0] [grados v] ▶
establecer la velocidad del motor#
El bloque establecer velocidad del motor indica a un motor a qué velocidad debe girar. Un porcentaje mayor hace que el motor gire más rápido y un porcentaje menor hace que gire más lento.
Cada proyecto comienza con cada motor girando al 50% de su velocidad máxima por defecto.
Nota: Una mayor velocidad hace que el motor gire más rápido, pero puede ser menos preciso. Una menor velocidad hace que el motor gire más lento, pero puede ser más preciso.
set [ArmMotor v] velocity to [50] %
Parámetros |
Descripción |
|---|---|
motor |
El motor para el que se ajustará la velocidad. Seleccione uno de los motores configurados en la ventana Dispositivos. |
velocidad |
La velocidad de giro varía del 0% al 100%. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different velocities.]
girar [ArmMotor v] [arriba v] por [180] [grados v] ▶
esperar [1] segundos
[Move slow.]
set [ArmMotor v] velocity to [20] %
girar [ArmMotor v] [abajo v] por [180] [grados v] ▶
esperar [1] segundos
[Move fast.]
set [ArmMotor v] velocity to [100] %
girar [ArmMotor v] [arriba v] por [180] [grados v] ▶
configurar la parada del motor#
El bloque establecer parada del motor define cómo se detendrá el movimiento de un motor: frenando, rodando por inercia o manteniéndose en posición de espera.
establecer [ArmMotor v] deteniéndose en [freno v]
Parámetros |
Descripción |
|---|---|
motor |
El motor para el que se configurará el comportamiento de parada. Seleccione uno de los motores configurados en la ventana Dispositivos. |
comportamiento de detención |
Cómo se detendrá el motor:
|
Por ejemplo, si se utiliza una configuración Competition Advanced 2.0 y ArmMotor está configurado para mantener la posición, el motor mantendrá el brazo en su posición actual hasta que se produzca otro movimiento. Esto significa que el motor trabajará contra la gravedad para mantener el brazo en el aire si se detuvo con el brazo elevado.
Si no se utiliza este bloque, el motor utilizará el freno al detenerse.
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor, then coast to a stop.]
set [ArmMotor v] velocity to [20] %
establecer [ArmMotor v] deteniéndose en [libre v]
girar [ArmMotor v] [arriba v]
esperar [1] segundos
parada [ArmMotor v]
establecer el par máximo del motor#
El par motor es una fuerza de giro. Indica la fuerza con la que un motor puede empujar o tirar al girar.
El bloque establecer par máximo del motor establece el par máximo que un motor puede utilizar.
Un porcentaje mayor permite que el motor empuje con más fuerza, como al levantar un objeto pesado. Un porcentaje menor limita la fuerza que puede ejercer el motor. Esto puede ayudar a proteger al robot si el motor se atasca o llega al límite de su recorrido.
Cada proyecto comienza con el par motor de cada motor al 50% por defecto.
set [ArmMotor v] max torque to (50)%
Parámetros |
Descripción |
|---|---|
motor |
Motor para el que se configurará el par máximo. Seleccione uno de los motores configurados en la ventana Dispositivos. |
esfuerzo de torsión |
El par máximo que puede utilizar el motor va del 0% al 100%. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different torques.]
girar [ArmMotor v] [arriba v] por [180] [grados v] ▶
esperar [1] segundos
[Move with less torque.]
Establezca el par [ArmMotor v] en [20]%
girar [ArmMotor v] [abajo v] por [180] [grados v] ▶
esperar [1] segundos
[Move with maximum torque.]
Establezca el par [ArmMotor v] en [100]%
girar [ArmMotor v] [arriba v] por [180] [grados v] ▶
establecer el tiempo de espera del motor#
El bloque set motor timeout de la pila establece cuántos segundos intentará un motor completar un movimiento. Si el motor no puede terminar en ese tiempo, dejará de intentarlo y pasará al siguiente bloque de la pila. Esto evita que el motor se quede atascado en un movimiento.
Establezca el tiempo de espera [ArmMotor v] en (1) segundo
Parámetros |
Descripción |
|---|---|
motor |
Motor para el que se configurará el tiempo de espera. Seleccione uno de los motores configurados en la ventana Dispositivos. |
tiempo |
El número de segundos que el motor puede intentar completar un movimiento. Puede ser un número entero o decimal. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Move ArmMotor as far as possible for 1 second before resetting.]
Establezca la posición [ArmMotor v] en [0] [grados v]
Establezca el tiempo de espera [ArmMotor v] en [1] segundo
girar [ArmMotor v] [arriba v] por [180] [grados v] ▶
girar [ArmMotor v] a la posición [0] [grados v] ▶
Valores#
¿El motor está listo?#
El bloque booleano motor is done indica si el motor ha terminado de moverse. Esto permite controlar la sincronización de otras acciones en función del movimiento del motor.
Verdadero — El motor ha terminado de moverse.
Falso — El motor sigue en movimiento.
Este bloque funciona junto con los siguientes bloques de movimiento que tienen el parámetro y no esperar: girar motor para y girar motor a posición.
<[ArmMotor v] ¿está hecho?>
Parámetros |
Descripción |
|---|---|
motor |
El motor indicará si ha finalizado su movimiento. Seleccione uno de los motores configurados en la ventana Dispositivos. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
girar [ArmMotor v] [arriba v] por [180] [grados v] ◀ y no esperes
esperar [0.1] segundos
para siempre
si <[ArmMotor v] ¿está hecho?> entonces
establecer luz de ojo [apagado v]
demás
establecer luz de ojo [encendido v]
¿El motor está girando?#
El bloque booleano ¿El motor está girando? indica si el motor está girando. Esto se puede usar para controlar la sincronización de otras acciones en función del movimiento del motor.
Verdadero — El motor está girando.
Falso — El motor no está girando.
Este bloque funciona junto con los siguientes bloques de movimiento que tienen el parámetro y no esperar: girar motor para y girar motor a posición.
<[ArmMotor v] esta girando?>
Parámetros |
Descripción |
|---|---|
motor |
El motor indicará si está girando. Seleccione uno de los motores configurados en la ventana Dispositivos. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
girar [ArmMotor v] [arriba v] por [180] [grados v] ◀ y no esperes
esperar [0.1] segundos
para siempre
si <[ArmMotor v] esta girando?> entonces
establecer luz de ojo [encendido v]
demás
establecer luz de ojo [apagado v]
posición del motor#
La posición de un motor se refiere a cuánto ha girado, medido en grados o vueltas. El bloque de informe de posición del motor informa la posición actual del motor.
Al inicio del proyecto, la posición del motor se establece en 0 grados. Si el motor gira una vuelta completa hacia adelante, la posición será de 360 grados o 1 vuelta. Si el motor gira en sentido contrario, la posición será negativa.
([ArmMotor v] posición en [grados v] :: custom-motion)
Parámetros |
Descripción |
|---|---|
motor |
El motor del que se desea informar la posición. Seleccione uno de los motores configurados en la ventana Dispositivos. |
unidad |
La unidad informa la posición del motor en: grados o vueltas. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Display how far the ArmMotor moves after one second.]
Establezca la posición [ArmMotor v] en [0] [grados v]
imprimir [Start: ] ▶
imprimir ([ArmMotor v] posición en [grados v] :: custom-motion) ▶
colocar el cursor en la siguiente fila
girar [ArmMotor v] [arriba v]
esperar [1] segundos
parada [ArmMotor v]
imprimir [After: ] ▶
imprimir ([ArmMotor v] posición en [grados v] :: custom-motion) ▶
velocidad del motor#
El bloque de informe de velocidad del motor indica la velocidad de giro del motor, expresada como un porcentaje entre -100% y 100%.
Un valor positivo significa que el motor gira hacia adelante. Un valor negativo significa que el motor gira hacia atrás.
([ArmMotor v] velocidad en %)
Parámetros |
Descripción |
|---|---|
motor |
El motor del que se desea informar la velocidad. Seleccione uno de los motores configurados en la ventana Dispositivos. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Display the ArmMotor's velocity when it moves.]
imprimir [Resting: ] ▶
imprimir ([ArmMotor v] velocidad en %) ▶
colocar el cursor en la siguiente fila
girar [ArmMotor v] [arriba v]
esperar [1] segundos
imprimir [Moving: ] ▶
imprimir ([ArmMotor v] velocidad en %) ▶
parada [ArmMotor v]
corriente del motor#
El bloque de informe de corriente del motor informa cuánta energía está utilizando el motor de la batería, como un porcentaje del 0% al 100%.
Un valor de corriente más alto significa que el motor está consumiendo más energía. Esto puede ocurrir cuando el motor levanta algo pesado, empuja contra un objeto o intenta moverse cuando está atascado.
([ArmMotor v] corriente en %)
Parámetros |
Descripción |
|---|---|
motor |
El motor del que se desea informar la corriente. Seleccione entre los motores configurados en la ventana Dispositivos. |
Ejemplo
cuando empezó :: hat events
[Build Used: Competition Advanced 2.0]
[Display the motor's current when it moves.]
imprimir [Resting: ] ▶
imprimir ([ArmMotor v] corriente en %) ▶
colocar el cursor en la siguiente fila
girar [ArmMotor v] [arriba v]
esperar [1] segundos
imprimir [Moving: ] ▶
imprimir ([ArmMotor v] corriente en %) ▶
parada [ArmMotor v]