发动机#

初始化电机类#

使用以下构造函数之一创建 IQ Motor 对象:

这个“motor”构造函数创建一个电机对象,其“gears”默认为 1.0。

范围

描述

索引

电机连接到 IQ (2nd gen) Brain 上的 端口

反向

一个布尔值,用于反转电机向前旋转的方向。默认值为“false”。

// Construct a Motor connected to Port 1 which runs 
// in reverse.
motor Motor1 = motor(PORT1, true);

这个“motor”构造函数创建一个电机对象,其“reverse”默认为“false”。

范围

描述

索引

电机连接到 IQ (2nd gen) Brain 上的 端口

齿轮

电机的 gearSetting 或齿轮比。

// Construct a Motor connected to Port 1 with a 1.0
// gear setting.
motor Motor1 = motor(PORT1, 1);

这个“motor”构造函数创建一个没有默认参数值的电机对象。

范围

描述

索引

电机连接到 IQ (2nd gen) Brain 上的 端口

齿轮

电机的 gearSetting 或齿轮比。

反向

用于反转电机向前旋转的方向的布尔值。

// Construct an IQ Motor with a 1.0 gear setting
// that runs in reverse.
motor Motor1 = motor(PORT1, 1, true);

当引用电机类方法时,此“Motor1”对象将在整个 API 文档的所有后续示例中使用。

Class Methods#

spin()#

This is a non-waiting function and allows the next command to run without delay.

该方法通过以下方式调用:

The spin(dir) command is used to spin a Motor in the specified direction forever at the default velocity set by the setVelocity() command, until a spin or stop command is used, or the project is stopped.

参数

描述

目录

有效的 directionType

**返回:**无。

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

spin(dir, speed, units) 命令用于使电机以指定速度永久沿指定方向旋转,直到使用旋转或停止命令,或者项目停止。

参数

描述

目录

有效的 directionType

速度

电机旋转的速度。

单位

有效的 velocityUnitpercent

**返回:**无。

// Spin Motor1 forward at 100 rpm.
Motor1.spin(forward, 100, rpm);

spin(dir, Voltage, Units) 命令用于使电机在指定的方向和指定的电压下永远旋转,直到使用旋转或停止命令,或者项目停止。

参数

描述

目录

有效的 directionType

电压

电机旋转时的电压。

单位

有效的 voltUnit

**返回:**无。

// Spin Motor1 forward at 100 millivolts.
Motor1.spin(forward, 100,::mV);

旋转到位置()#

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

该方法通过以下方式调用:

spinToPosition(rotation, units, waitForCompletion) 命令用于使电机以指定的单位旋转到绝对角度。

参数

描述

旋转

电机旋转的位置。

单位

有效的 rotationUnit

等待完成

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

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin Motor1 to the absolute position 1080 degrees.
Motor1.spinToPosition(1080, degrees);

spinToPosition(rotation, units, speed, units_v, waitForCompletion) 命令用于使电机以指定的单位旋转到绝对旋转。

参数

描述

旋转

电机旋转的位置。

单位

有效的 rotationUnit

速度

电机旋转的速度。

单位

有效的 velocityUnit

等待完成

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

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin Motor1 to the absolute position 1080 degrees 
// at 100 percent velocity.
Motor1.spinToPosition(1080, degrees, 100,::pct);

spinFor()#

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

该方法通过以下方式调用:

spinFor(time, units) 命令用于使电机旋转指定的时间。

参数

描述

时间

电机旋转的时间。

单位

有效的 timeUnit

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin Motor1 for 10 seconds
Motor1.spinFor(10, seconds);

spinFor(dir, time, units) 命令用于使电机沿指定方向旋转指定时间。

参数

描述

目录

有效的 directionType

时间

电机旋转的时间。

单位

有效的 timeUnit

// Spin Motor1 forward for 10 seconds
Motor1.spinFor(forward, 10, seconds);

spinFor(time, units, speed, units_v) 命令用于使电机以指定的速度旋转指定的时间。

参数

描述

时间

电机旋转的时间。

单位

有效的 timeUnit

速度

电机旋转的速度。

单位

有效的 velocityUnit

// Spin Motor1 for 10 seconds at 100 rpm.
Motor1.spinFor(10, seconds, 100, rpm);

spinFor(dir, time, units, speed, units_v) 命令用于使电机以指定速度朝指定方向旋转指定时间。

参数

描述

目录

有效的 directionType

时间

电机旋转的时间。

单位

有效的 timeUnit

速度

电机旋转的速度。

单位

有效的 velocityUnit

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin Motor1 forward for 10 seconds at 100 rpm.
Motor1.spinFor(forward, 10, seconds, 100, rpm);

spinFor(rotation, units, waitForCompletion) 命令用于使电机旋转指定的角度。该角度相对于电机的当前角度。

参数

描述

旋转

电机旋转的旋转值。

单位

有效的 rotationUnit

等待完成

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

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin Motor1 for 1000 degrees.
Motor1.spinFor(1000, degrees);

spinFor(dir, rotation, units, waitForCompletion) 命令用于使电机沿特定方向旋转指定的角度。该旋转相对于电机的当前旋转。

参数

描述

目录

有效的 directionType

旋转

电机旋转的旋转值。

单位

有效的 rotationUnit

等待完成

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

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin Motor1 forward for 1000 degrees.
Motor1.spinFor(forward, 1000, degrees);

spinFor(rotation, units, speed, units_v, waitForCompletion) 命令用于使电机旋转指定的角度。该角度相对于电机的当前角度。

参数

描述

旋转

电机旋转的旋转值。

单位

有效的 rotationUnit

速度

电机旋转的速度。

单位

有效的 velocityUnit

等待完成

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

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin Motor1 for 1000 degrees at 25 rpm.
Motor1.spinFor(1000, degrees, 25, rpm);

spinFor(dir, rotation, units, speed, units_v, waitForCompletion) 命令用于使电机沿特定方向旋转特定角度。该旋转相对于电机的当前旋转角度。

参数

描述

目录

有效的 directionType

旋转

电机旋转的旋转值。

单位

有效的 rotationUnit

速度

电机旋转的速度。

单位

有效的 velocityUnit

等待完成

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

**返回:**一个布尔值,表示电机何时达到目标旋转。

// Spin Motor1 forard for 1000 degrees at 25 rpm.
Motor1.spinFor(forward, 1000, degrees, 25, rpm);

停止()#

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

该方法通过以下方式调用:

stop() 命令用于停止电机,将电机速度设置为 0,并配置当前的停止模式。默认制动类型为“滑行”,除非之前使用 setStopping() 命令进行了更改。

**返回:**无。

// Spin Motor1 for 2.5 seconds.
Motor1.spin(forward);

wait(2.5 seconds);

// Stop Motor1.
Motor1.stop();

stop(mode) 命令用于停止使用特定制动类型的电机。

参数

描述

模式

有效的 brakeType

**返回:**无。

// Spin Motor1 for 2.5 seconds.
Motor1.spin(forward);

wait(2.5 seconds);

// Stop Motor1 using the hold Brake Type.
Motor1.stop(hold);

设置速度()#

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

参数

描述

速度

为电机设置的新速度。

单位

有效的 velocityUnitpercent

**返回:**无。

设置反转()#

setReversed(value) 命令用于将电机方向设置为反向。构建一个电机并将 reverse 参数设置为 true 的结果与 Motor1.setReversed(true) 相同。

参数

描述

价值

用于设置电机方向是否反转的布尔值。

**返回:**无。

设置停止()#

setStopping(mode) 命令用于设置电机的停止模式。这将是调用 stop() 命令时使用的停止模式。

参数

描述

模式

有效的 brakeType

**返回:**无。

重置位置()#

resetPosition() 命令将电机的编码器值重置为 0。

**返回:**无。

设置位置()#

setPosition(value, units) 命令用于将电机编码器的值设置为特定值。position() 命令返回的位置将更新为该新值。

参数

描述

价值

为电机编码器设置的新位置。

单位

有效的 rotationUnit

**返回:**无。

设置超时()#

setTimeout(value, units) 命令用于设置电机命令的超时时间。如果电机在超时时间结束前未到达其指令位置,则电机将停止。

参数

描述

价值

为电机设置的新超时。

单位

有效的 timeUnit

**返回:**无。

正在旋转()#

如果电机当前正在旋转到特定目标,则 isSpinning() 命令返回。

返回: 如果电机已开启并正在旋转至目标,则返回 true。如果已旋转至目标,则返回 false

完成()#

如果电机已完成旋转至特定目标,则 isDone() 命令返回。

返回: 如果电机已旋转至目标,则返回 true。如果电机已开启并旋转至目标,则返回 false

设置最大扭矩()#

该方法通过以下方式调用:

setMaxTorque(value, units) 命令用于设置电机的最大扭矩。

参数

描述

价值

电机的新最大扭矩。

单位

有效的 torqueUnit

**返回:**无。

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

setMaxTorque(value, units) 命令用于设置电机的最大扭矩。

参数

描述

价值

电机的新最大扭矩。

单位

唯一有效的单位是“amp”。

**返回:**无。

// Set maximum torque to ,05 amps.
Motor1.set_max_torque(.05, amp);

setMaxTorque(value, units) 命令用于以百分比形式设置电机的最大扭矩。

参数

描述

价值

电机的新最大扭矩。

单位

唯一有效的单位是“百分比”。

**返回:**无。

// Set maximum torque to 75 percent.
Motor1.set_max_torque(75, percent);

方向()#

direction() 命令以 directionType 形式返回电机当前旋转的方向。

**返回:**一个 directionType 值,表示电机当前旋转的方向。

位置()#

position(units) 命令返回电机的当前旋转。

参数

描述

单位

有效的 rotationUnit

**返回:**以指定单位表示电机当前旋转的双精度值。

速度()#

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

参数

描述

单位

有效的 velocityUnitpercent

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

当前的()#

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

参数

描述

单位

电流的唯一有效单位是“安培”或“百分比”。

返回: 以指定单位表示电机所吸收的电流的双精度值。

电压()#

current(units) 命令返回电机的电压。

参数

描述

单位

电压的唯一有效单位是“伏特”。

**返回:**表示电机电压的双精度数。

力量()#

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

参数

描述

单位

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

**返回:**以指定单位表示电机当前功率的双精度值。

扭矩()#

torque(units) 命令返回电机的扭矩。

参数

描述

单位

有效的 torqueUnit

**返回:**指定单位的电机扭矩。

效率()#

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

参数

描述

单位

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

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

温度()#

温度(单位)命令返回电机的效率。

参数

描述

单位

有效的 温度单位 或“百分比”。

**返回:**电机的温度。

安装()#

如果电机连接到 IQ(第二代)大脑,则 installed() 命令将返回。

**返回:**如果电机连接到 IQ(第二代)大脑,则返回 true。如果不是,则返回 false