发动机#
介绍#
IQ 智能电机能够旋转、保持位置,并精确控制速度和扭矩。它可以单独使用,也可以作为电机组的一部分使用。
For the examples below, the configured motor will be named motor_1
, and the configured motor group will be named motor_group_1
. They will be used in all subsequent examples throughout this API documentation when referring to Motor
and MotorGroup
class methods.
以下是所有方法的列表:
动作——控制电机的运动。
spin
– Spins a motor or motor group in a specified direction indefinitely.spin_for
– Spins a motor or motor group for a specified distance.spin_to_position
– Spins a motor to an absolute position.stop
– Stops a motor or motor group with configurable behavior.
改变器——改变电机的不同属性。
set_velocity
– Sets the default velocity for the motor or motor group.set_max_torque
– Sets the maximum torque for a motor or motor group.set_position
– Sets the motor or motor group’s position to a specific value.set_stopping
– Sets the stop behavior (brake, coast, or hold).set_timeout
– Limits how long a motor function waits before giving up if movement is blocked.set_reversed
– Sets only a motor to have its direction be reversed.reset_position
– Sets only a motor’s position to 0.
Getters – 从电机返回数据。
position
– Returns a motor or motor group’s current position.velocity
– Returns a motor or motor group’s current velocity.current
– Returns the current being used by a motor or motor group.is_done
– Returns whether a motor or motor group is currently not spinning.is_spinning
– Returns whether a motor or motor group is currently spinning.direction
– Returns the spin direction of a motor or motor group.power
– Returns the amount of power being used by a motor or motor group.torque
– Returns the torque generated by a motor or motor group.efficiency
– Returns the efficiency of a motor or motor group.temperature
– Returns the temperature of a motor or motor group.count
– Returns the amount of motors in a motor group.get_timeout
– Returns only a motor’s current timeout duration.
构造函数——手动初始化和配置电机和电机组。
Motor
– Creates a motor.MotorGroup
– Creates a motor group.
行动#
spin#
spin
spins a motor or motor group in the specified direction indefinitely.
Usage:
motor_1.spin(direction, velocity, units)
参数 |
描述 |
---|---|
|
The direction in which to spin the motor or motor group:
|
|
可选。电机或电机组的旋转速度,以浮点数或整数表示。如果未指定速度,则默认速度为 50%。 |
|
Optional. The unit that represents the velocity:
|
# Spin the motor forward, then stop
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()
spin_for#
spin_for
spins a motor or motor group in a specified direction for a set distance relative to its current position.
Usage:
motor_1.spin_for(direction, angle, units, velocity, units_v, wait)
参数 |
描述 |
---|---|
|
The direction in which to spin the motor or motor group:
|
|
电机或电机组旋转的度数,以浮点数或整数表示。 |
|
Optional. The unit that represents the rotational value:
|
|
可选。电机或电机组的旋转速度,以浮点数或整数表示。如果未指定速度,则默认速度为 50%。 |
|
Optional. The unit that represents the velocity:
|
|
Optional.
|
# Spin the motor forward, then put it
# at 90 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(90, DEGREES)
# Spin the motor and different
# velocities
# Using default velocity
motor_1.spin_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Spin slower
motor_1.spin_for(REVERSE, 150, MM, 20, PERCENT)
wait(1, SECONDS)
# Spin faster
motor_1.spin_for(FORWARD, 150, MM, 100, PERCENT)
spin_to_position#
spin_to_position
spins a motor and motor group to an absolute position.
Usage:
motor_1.spin_to_position(rotation, units, velocity, units_v, wait)
参数 |
描述 |
---|---|
|
以浮点数或整数形式指定电机或电机组旋转的位置。 |
|
The unit that represents the rotational value:
|
|
可选。电机或电机组的旋转速度,以浮点数或整数表示。如果未指定速度,则默认速度为 50%。 |
|
Optional. The unit that represents the velocity:
|
|
Optional.
|
# Spin the motor forward, then
# put it at 90 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(90, DEGREES)
# Spin forward then quickly reverse
# to 0 degrees
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.spin_to_position(0, DEGREES, 100, PERCENT, wait=True)
stop#
stop
stops a motor or motor group.
Usage:
motor_1.stop(mode)
参数 |
描述 |
---|---|
|
Optional. How the motor or motor group will stop:
|
# Spin the motor forward, then stop
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()
# Spin the motor and coast to a stop
motor_1.set_velocity(100, PERCENT)
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.stop(COAST)
修改器#
set_velocity#
set_velocity
sets the default velocity for a motor or motor group. This velocity setting will be used for subsequent calls to any motor functions if a specific velocity is not provided.
Usage:
motor_1.set_velocity(velocity, units)
参数 |
描述 |
---|---|
|
电机或电机组旋转的速度,以浮点数或整数表示。 |
|
Optional. The unit that represents the velocity:
|
# Spin the motor and
# different velocities
# Using default velocity
motor_1.spin_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Spin slower
motor_1.set_velocity(20, PERCENT)
motor_1.spin_for(REVERSE, 150, MM)
wait(1, SECONDS)
# Spin faster
motor_1.set_velocity(100, PERCENT)
motor_1.spin_for(FORWARD, 150, MM)
set_max_torque#
set_max_torque
sets the maximum torque for a motor or motor group. The torque can be set as torque, current, or a percent of maximum torque.
Usage:
motor_1.set_max_torque(value, units)
参数 |
描述 |
---|---|
|
电机或电机组的新最大扭矩,以浮点数或整数表示。 |
|
The unit that represents the torque:
|
# Spin the motor at different
# torque values
# Default
motor_1.spin_to_position(45, DEGREES)
# Spin at a lower torque
motor_1.set_max_torque(20, PERCENT)
motor_1.spin_to_position(0, DEGREES)
# Spin at te max torque
motor_1.set_max_torque(100, PERCENT)
motor_1.spin_to_position(45, DEGREES)
set_position#
set_position
sets the position of a motor or motor group.
Usage:
motor_1.set_position(position, units)
参数 |
描述 |
---|---|
|
新位置为整数。 |
|
The unit that represents the rotational value:
|
# Position the motor at the
# new 0 degrees
motor_1.set_position(180, DEGREES)
motor_1.spin_to_position(0)
set_stopping#
set_stopping
sets the stopping mode for a motor or motor group.
Usage:
motor_1.set_stopping(mode)
参数 |
描述 |
---|---|
|
How the motor or motor group will stop:
|
# Spin the motor and coast to a stop
motor_1.set_velocity(100, PERCENT)
motor_1.set_stopping(COAST)
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.stop()
set_timeout#
set_timeout
sets a time limit for how long a motor function will wait to reach its target. If the motor or motor group cannot complete the movement within the set time, it will stop automatically and continue with the next function.
**注意:**电机或电机组的时间限制用于防止未达到目标位置的电机功能停止项目其余部分的执行。
Usage:
motor_1.set_timeout(value, units)
参数 |
描述 |
---|---|
|
运动功能在停止并移动到下一个功能之前运行的最大秒数(整数或浮点数)。 |
|
Optional. The unit that represents the time:
|
# Spin the motor half a second and reset
motor_1.set_timeout(0.5, SECONDS)
motor_1.spin_for(FORWARD, 10, TURNS)
motor_1.spin_to_position(0)
set_reversed#
set_reversed
sets the motor to be reversed. This method works the same as setting the reverse
parameter to True
when constructing a Motor
.
注意:此方法仅适用于电机,而不适用于电机组。
Usage:
motor_1.set_reversed(value)
参数 |
描述 |
---|---|
|
Boolean value to set the direction reversed or not:
|
# Change the reverse direction while spinning
motor_1.spin_for(FORWARD, 45)
motor_1.set_reversed(True)
motor_1.spin_for(FORWARD, 45)
reset_position#
reset_position
sets the motor or motor group’s position to 0.
Usage:
motor_1.reset_position()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Reset the motor position after spinning
motor_1.spin(FORWARD)
wait(2, SECONDS)
motor_1.stop()
brain.screen.print(motor_1.position())
brain.screen.next_row()
wait(1, SECONDS)
motor_1.reset_position()
brain.screen.print(motor_1.position())
吸气剂#
position#
position
returns the current position of a motor or motor group as an integer or as a float.
Usage:
motor_1.position(units)
参数 |
描述 |
---|---|
|
Optional. The unit that represents the rotational value:
|
# Spin the motor and display the
# ending position
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()
brain.screen.print(motor_1.position())
velocity#
velocity
returns the current velocity of a motor or motor group as an integer or as a float.
Usage:
motor_1.velocity(units)
参数 |
描述 |
---|---|
|
Optional. The unit that represents the velocity:
|
# Display the motor's velocity before
# and after spinning
brain.screen.print(motor_1.velocity())
brain.screen.next_row()
motor_1.spin(FORWARD)
wait(1, SECONDS)
brain.screen.print(motor_1.velocity())
motor_1.stop()
current#
current
returns the current of the motor or motor group in amps.
Usage:
motor_1.current(units)
参数 |
描述 |
---|---|
|
Optional. The unit that represents the current:
|
# Example coming soon
is_done#
is_done
returns a Boolean indicating whether a motor or motor group is not currently spinning.
True
– The motor or motor group is not spinning.False
– The motor or motor group is spinning.
Usage:
motor_1.is_done()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Drive forward while the motor
# is spinning
motor_1.spin_for(FORWARD, 200, DEGREES, wait=False)
while True:
if motor_1.is_done():
drivetrain.stop()
else:
drivetrain.drive(FORWARD)
is_spinning#
is_spinning
returns a Boolean indicating whether a motor or motor group is currently spinning.
True
– The motor or motor group is spinning.False
– The motor or motor group is not spinning.
Usage:
motor_1.is_spinning()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Drive forward while the motor
# is spinning
motor_1.spin_for(FORWARD, 200, DEGREES, wait=False)
while motor_1.is_spinning():
drivetrain.drive(FORWARD)
drivetrain.stop()
direction#
direction
returns the current direction a motor or motor group is spinning in.
FORWARD
REVERSE
Usage:
motor_1.direction()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Spin the motor and print the spin direction
motor_1.set_position(50, DEGREES)
motor_1.spin_to_position(0, DEGREES)
if motor_1.direction() == DirectionType.FORWARD:
brain.screen.print('FORWARD')
elif motor_1.direction() == DirectionType.REVERSE:
brain.screen.print('REVERSE')
else:
brain.screen.print("Not Spinning.")
power#
power
returns the current power of the motor in watts.
Usage:
motor_1.power()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Example coming soon
torque#
torque
returns the current torque of the motor.
Usage:
motor_1.torque(units)
参数 |
描述 |
---|---|
|
The unit that represents the torque:
|
# Example coming soon
efficiency#
efficiency
returns the current efficiency of the motor in percent.
Usage:
motor_1.efficiency()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Example coming soon
temperature#
temperature
returns the current temperature of the motor.
Usage:
motor_1.temperature(units)
参数 |
描述 |
---|---|
|
Optional. The units that represent the temperature:
|
# Example coming soon
count#
count
returns the number of motors in a motor group as an integer.
注意:此方法仅适用于电机组,而不适用于电机。
Usage:
motor_group_1.count()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Display the amount of motors in the group
brain.screen.print(motor_group_1.count())
get_timeout#
get_timeout
returns the current timeout for a motor in milliseconds.
注意:此方法仅适用于电机,而不适用于电机组。
Usage:
motor_1.get_timeout()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Spin the motor half a second and reset, then display the timeout
motor_1.set_timeout(0.5, SECONDS)
motor_1.spin_for(FORWARD, 10, TURNS)
motor_1.spin_to_position(0)
brain.screen.print(motor_1.get_timeout())
构造函数#
Constructors are used to manually create Motor
and MotorGroup
objects, which are necessary for configuring a motor or motor group outside of VEXcode.
Motor#
Motor
creates a motor.
Usage:
motor_1 = Motor(port, gears, reverse)
范围 |
描述 |
---|---|
|
Which Smart Port that the motor is connected to as |
|
Optional. The motor’s gear ratio:
|
|
Optional. Sets whether the motor’s spin should be reversed.
|
# Construct a Motor object named motor_1 in Port 1 on
# the IQ (2nd gen) Brain which has the reverse flag set to True
motor_1 = Motor(Ports.PORT1, 1.0, True)
# Spin the motor forward for some time
motor_1.spin(FORWARD)
wait(1, SECONDS)
motor_1.stop()
Motor Group#
MotorGroup
creates a motor group.
Usage:
motor_group_1 = MotorGroup(motors)
范围 |
描述 |
---|---|
|
The names of previously created |
# Construct a motor group with 2 motors
motor_group_1_motor_a = Motor(Ports.PORT1, False)
motor_group_1_motor_b = Motor(Ports.PORT6, True)
motor_group_1 = MotorGroup(motor_group_1_motor_a, motor_group_1_motor_b)
# Spin the motor forward, then stop
motor_group_1.spin(FORWARD)
wait(1, SECONDS)
motor_group_1.stop()