发动机#
初始化电机类#
使用以下构造函数之一创建 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。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit 或 |
**返回:**无。
// 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。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin Motor1 to the absolute position 1080 degrees.
Motor1.spinToPosition(1080, degrees);
spinToPosition(rotation, units, speed, units_v, waitForCompletion)
命令用于使电机以指定的单位旋转到绝对旋转。
参数 |
描述 |
---|---|
旋转 |
电机旋转的位置。 |
单位 |
有效的 rotationUnit。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// 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。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin Motor1 for 1000 degrees.
Motor1.spinFor(1000, degrees);
spinFor(dir, rotation, units, waitForCompletion)
命令用于使电机沿特定方向旋转指定的角度。该旋转相对于电机的当前旋转。
参数 |
描述 |
---|---|
目录 |
有效的 directionType。 |
旋转 |
电机旋转的旋转值。 |
单位 |
有效的 rotationUnit。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// Spin Motor1 forward for 1000 degrees.
Motor1.spinFor(forward, 1000, degrees);
spinFor(rotation, units, speed, units_v, waitForCompletion)
命令用于使电机旋转指定的角度。该角度相对于电机的当前角度。
参数 |
描述 |
---|---|
旋转 |
电机旋转的旋转值。 |
单位 |
有效的 rotationUnit。 |
速度 |
电机旋转的速度。 |
单位 |
有效的 velocityUnit。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// 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。 |
等待完成 |
确定命令是否阻止后续命令( |
**返回:**一个布尔值,表示电机何时达到目标旋转。
// 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)
命令用于设置电机的默认速度。如果未指定具体速度,则此速度设置将用于后续调用任何运动函数。
参数 |
描述 |
---|---|
速度 |
为电机设置的新速度。 |
单位 |
有效的 velocityUnit 或 |
**返回:**无。
设置反转()#
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)
命令返回电机的当前速度。
参数 |
描述 |
---|---|
单位 |
有效的 velocityUnit 或 |
**返回:**以指定单位表示电机当前速度的双精度数。
当前的()#
current(units)
命令返回电机正在使用的电流。
参数 |
描述 |
---|---|
单位 |
电流的唯一有效单位是“安培”或“百分比”。 |
返回: 以指定单位表示电机所吸收的电流的双精度值。
电压()#
current(units)
命令返回电机的电压。
参数 |
描述 |
---|---|
单位 |
电压的唯一有效单位是“伏特”。 |
**返回:**表示电机电压的双精度数。
力量()#
power(units)
命令返回电机消耗的功率。
参数 |
描述 |
---|---|
单位 |
功率的唯一有效单位是“瓦特”。 |
**返回:**以指定单位表示电机当前功率的双精度值。
扭矩()#
torque(units)
命令返回电机的扭矩。
参数 |
描述 |
---|---|
单位 |
有效的 torqueUnit。 |
**返回:**指定单位的电机扭矩。
效率()#
efficiency(units)
命令返回电机的效率。
参数 |
描述 |
---|---|
单位 |
效率的唯一有效单位是“百分比”。 |
**返回:**电机效率的百分比。
温度()#
温度(单位)
命令返回电机的效率。
参数 |
描述 |
---|---|
单位 |
有效的 温度单位 或“百分比”。 |
**返回:**电机的温度。
安装()#
如果电机连接到 IQ(第二代)大脑,则 installed()
命令将返回。
**返回:**如果电机连接到 IQ(第二代)大脑,则返回 true
。如果不是,则返回 false
。