发动机#

要使电机命令出现在 VEXcode V5 中,必须在设备窗口中配置电机。

有关详细信息,请参阅以下文章:

发动机构造器#

可以使用以下构造函数之一以不同的方式实例化 V5 电机:

  • 电机 Motor1 = 电机(int32_t index,bool reverse);

    • index = 电机所连接的智能端口。

    • reverse = 一个布尔值,用于保持或反转电机旋转的方向。

  • 电机 Motor1 = 电机(int32_t index, gearSetting 齿轮);

    • index = 电机所连接的智能端口。

    • gears = 电机筒的齿轮比。

  • 电机 Motor1 = 电机(int32_t 索引,齿轮设置齿轮,bool 反向);

    • index = 电机所连接的智能端口。

    • gears = 电机筒的齿轮比。

    • reverse = 一个布尔值,用于保持或反转电机旋转的方向。

// Construct a V5 Motor that runs in reverse.
motor Motor1 = motor(PORT1, true);

// Construct a V5 Motor with a 6:1 Turbo Gear Cartridge.
motor Motor1 = motor(PORT1, ratio6_1);

// Construct a V5 Motor with a 36:1 Torque Gear Cartridge
// that runs in reverse.
motor Motor1 = motor(PORT1, ratio36_1, true);

电机.旋转()#

Motor.spin(direction, speed, units) 命令用于使电机永远沿指定方向旋转,直到使用另一个运动命令或项目停止。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.spin(direction, speed, units)”。

这是一个非等待功能,允许下一个命令无延迟运行。

参数

描述

方向

有效的 directionType

速度

**可选。**电机旋转的速度。将使用 Motor.setVelocity() 命令设置的默认速度。

单位

**可选。**有效的 velocityUnit。默认值为 rpm

**返回:**无。

// Spin Motor forward.
Motor1.spin(forward);

电机.spinToPosition()#

Motor.spinToPosition(rotation, units, speed, units_v, wait) 命令用于使用提供的参数将电机旋转到绝对位置。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.spinToPosition(rotation, units, speed, units_v, wait)”。

该函数可以是等待非等待命令,具体取决于是否使用了“wait”参数。

参数

描述

旋转

电机旋转的位置。

单位

**可选。**有效的 rotationUnit。默认值为“度”。

速度

**可选。**电机旋转的速度。将使用 Motor.setVelocity() 命令设置的默认速度。

单位

**可选。**有效的 velocityUnit。默认值为 rpm

等待

可选。 确定命令是否阻止后续命令(wait=true)或允许立即执行(wait=false)。如果未指定,则 wait 参数的默认值为 wait=true

**返回:**无。

// Spin Motor to 180 degrees.
Motor1.spinToPosition(180);

电机.spinFor()#

Motor.spinFor(direction, value, units, speed, units_v, wait) 命令用于使电机旋转特定时长、圈数或直到达到特定的编码器值。该位置相对于电机的当前位置。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.spinFor(direction, value, units, speed, units_v, wait)”。

这可以是等待非等待命令,取决于是否使用了“wait”参数。

参数

描述

方向

有效的 directionType

价值

电机旋转的值。

单位

**可选。**有效的 rotationUnit。默认值为“度”。

速度

**可选。**电机旋转的速度。将使用 Motor.setVelocity() 命令设置的默认速度。

单位

**可选。**有效的 velocityUnit。默认值为 rpm

等待

可选。 确定命令是否阻止后续命令(wait=true)或允许立即执行(wait=false)。如果未指定,则 wait 参数的默认值为 wait=true

**返回:**无。

// Spin 180 degrees from the current position.
Motor1.spinFor(forward, 180);

电机停止()#

Motor.stop(mode) 命令用于停止电机,将其速度设置为 0 并配置当前停止模式。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.stop(mode)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

模式

**可选。**有效的 brakeType。默认值为“coast”,除非之前使用“Motor.setStopping()”命令进行了更改。

**返回:**无。

// Stop the Motor.
Motor.stop();

电机.设置速度()#

Motor.setVelocity(velocity, units) 命令用于设置电机的默认速度。如果未提供具体速度,则此速度设置将用于后续调用任何运动函数。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.setVelocity(velocity, units)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

速度

为电机设置的新速度。

单位

**可选。**有效的 velocityUnit。默认值为 rpm

**返回:**无。

电机.setReversed()#

Motor.setReversed(value) 命令将电机方向设置为反转。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

价值

布尔值来设置方向是否反转。

**返回:**无。

电机.setStopping()#

Motor.setStopping(mode) 命令用于设置电机的停止模式。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.setStopping(mode)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

模式

**可选。**有效的 brakeType。默认值为“coast”,除非之前使用“Motor.setStopping()”命令进行了更改。

**返回:**无。

电机.resetPosition()#

Motor.resetPosition() 命令将电机位置重置为 0。

这是一个非等待命令,允许下一个命令无延迟运行。

**返回:**无。

电机.设置位置()#

Motor.setPosition(value, units) 命令用于设置电机的位置。Motor.position() 函数返回的位置将更新为该新值。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.setPosition(value, units)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

价值

为电机设置的新位置。

单位

**可选。**有效的 rotationUnit。默认值为“度”,除非之前使用“Motor.setPosition()”命令进行了更改。

**返回:**无。

电机.setTimeout()#

Motor.setTimeout(value, units) 命令用于设置电机的超时时间。Motor.getTimeout() 函数返回的位置将更新为该新值。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.setTimeout(value, units)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

价值

为电机设置的新超时。

单位

可选。 有效的 timeUnit。默认值为 msec。除非之前使用 Motor.setTimeout() 命令进行了更改。

**返回:**无。

电机.getTimeout()#

Motor.getTimeout() 命令返回电机的当前超时时间。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.getTimeout()”。

这是一个非等待命令,允许下一个命令无延迟运行。

**返回:**当前超时值(以毫秒为单位)。

电机是否旋转()#

如果电机当前正在旋转,则 Motor.isSpinning() 命令返回。

这是一个非等待命令,允许下一个命令无延迟运行。

返回: 如果电机当前正在旋转,则返回 True。否则,返回 False。

电机.isDone()#

如果电机已完成其运动,则“Motor.isDone()”命令返回。

这是一个非等待命令,允许下一个命令无延迟运行。

返回: 如果电机已完成运动,则返回 True。如果尚未完成运动,则返回 False。

电机.设置最大扭矩()#

Motor.setMaxTorque(value, units) 命令用于设置电机的最大扭矩。扭矩可以设置为扭矩、电流或最大扭矩的百分比。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.setMaxTorque(value, units)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

价值

电机的新最大扭矩。

单位

有效的 torqueUnit、“amp”或“percent”。

**返回:**无。

// Set maximum torque to 2 Newton Meters.
Motor1.set_max_torque(2, Nm);

电机.convertVelocity()#

Motor.convertVelocity(velocity, units, unitsout) 命令根据电机传动装置将给定单位的速度转换为指定单位。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.convertVelocity(velocity, units, unitsout)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

速度

转换的速度。

单位

速度值的有效 velocityUnit

单位输出

**可选。**返回速度的有效 velocityUnit。默认值为 rpm

**返回:**返回转换为指定单位的速度。

电机.获取电机墨盒()#

Motor.getMotorCartridge() 命令返回电机的齿轮筒设置。

要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.getMotorCartridge()”。

这是一个非等待命令,允许下一个命令无延迟运行。

**返回:**电机的齿轮筒设置。

电机.方向()#

Motor.direction() 命令返回电机当前旋转的方向。

这是一个非等待命令,允许下一个命令无延迟运行。

返回: 电机当前旋转的 directionType

电机.位置()#

Motor.position(units) 命令返回电机的当前位置。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**有效的 rotationUnit。默认值为“度”。

返回: 以指定单位表示的电机当前位置。

电机.速度()#

Motor.velocity(units) 命令返回电机的当前速度。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**有效的 velocityUnit。默认值为 rpm

**返回:**以指定单位表示的电机当前速度。

电机电流()#

Motor.current(units) 命令返回电机正在使用的电流。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**电流的唯一有效单位是“amp”。

返回: 电机以指定单位吸收的电流。

电机功率()#

Motor.power(units) 命令返回电机消耗的功率。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

可选。 功率的唯一有效单位是“瓦特”。

**返回:**电机以指定单位消耗的功率。

电机扭矩()#

Motor.torque(units) 命令返回电机产生的扭矩。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**有效的 torqueUnit。默认值为 Nm

返回: 电机以指定单位产生的扭矩。

电机效率()#

Motor.efficiency(units) 命令返回电机的效率。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**效率的唯一有效单位是“百分比”。

**返回:**电机效率的百分比。

电机.温度()#

Motor.temp(units) 命令返回电机的温度。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**有效的 温度单位。默认值为“摄氏度”。

**返回:**以指定单位表示的电机温度。

电机命令()#

Motor.command(units) 命令返回发送给电机的最后速度。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**有效的 velocityUnit。默认值为 rpm

**返回:**以指定单位表示的电机指令速度。

电机.安装()#

Motor.installed() 命令检查电机是否已连接。

这是一个非等待命令,允许下一个命令无延迟运行。

返回: 如果电机已连接,则返回 True。如果未连接,则返回 False。

电机.值()#

Motor.value() 命令返回电机的值。

这是一个非等待命令,允许下一个命令无延迟运行。

**返回:**表示电机值的整数。