机器人专用模块#
介绍#
VIQRC 22-23 Slapshot 游乐场配备了该游乐场独有的积木,包括两种电机选项和光学传感器。
所有标准 VEXcode VR 模块均可在 VIQRC 22-23 Slapshot 游乐场中使用。
以下是所有可用的游乐场专用积木列表:
运动控制 - 控制机器人电机的移动和跟踪。
操作
旋转电机 - 使选定的电机无限期旋转。
spin motor for - 使电机旋转指定的角度或圈数。
旋转电机到位置 - 将电机旋转到设定的位置。
停止电机 - 停止特定电机的旋转。
设置
位置
价值观
感知——利用机器人的各种传感器。
光学的
光学检测到物体? - 返回是否检测到物体。
光学检测颜色? - 返回是否检测到特定颜色。
光学亮度 - 返回传感器检测到的亮度百分比。
光学色调 - 返回检测到的颜色的色调值。
当光学传感器检测到或丢失物体时 - 当光学传感器检测到或丢失物体时,执行附加的堆栈代码。
本页示例使用 Playground 的默认起始位置。
运动#
行动#
旋转马达#
旋转电机模块使用当前电机速度使选定的电机沿指定方向旋转。
spin [IntakeMotor v] [intake v]
参数 |
描述 |
|---|---|
发动机 |
要旋转的电机:
|
方向 |
旋转方向:
|
例子
当开始
[Spin the Intake Motor before stopping.]
spin [IntakeMotor v] [intake v]
等待 (1) 秒
stop [IntakeMotor v]
用于旋转马达#
spin motor for 模块使用 当前电机速度 使选定的电机旋转特定的圈数,以度或圈数衡量。
spin [IntakeMotor v] [intake v] for [90] [degrees v] ▶
参数 |
描述 |
|---|---|
发动机 |
要旋转的电机:
|
方向 |
旋转方向:
|
距离 |
旋转次数,以整数或小数表示。 |
单元 |
表示距离的计量单位:
|
展开箭头 |
默认情况下,这是一个等待块,因此电机将在运行下一个块之前完成运转。展开该块,添加“and don’t wait”即可将其更改为非等待块。 |
例子
当开始
[Collect the preloaded Disc.]
spin [IntakeMotor v] [intake v] for [180] [degrees v] ▶
旋转电机定位#
旋转电机到特定位置 模块使用当前的 电机速度 和 电机位置 将电机旋转到特定的绝对位置。
spin [ArmMotor v] to position [90] [degrees v] ▶
参数 |
描述 |
|---|---|
发动机 |
要旋转的电机:
|
位置 |
电机旋转到的目标位置。 |
单元 |
计量单位:
|
展开箭头 |
默认情况下,这是一个等待块,因此电机将在运行下一个块之前完成运转。展开该块,添加“and don’t wait”即可将其更改为非等待块。 |
例子
当开始
[Raise the Arm to reach over the barrier.]
spin [ArmMotor v] to position [600] [degrees v] ▶
停止电机#
停止电机 模块会立即停止选定的电机。
stop [IntakeMotor v]
参数 |
描述 |
|---|---|
发动机 |
要停止的电机:
|
例子
当开始
[Raise the Arm for 1 second, then stop.]
[ArmMotor v] [向上 v] 转
等待 (1) 秒
[ArmMotor v] 停止
设置#
设定电机速度#
设置电机速度 模块将电机的默认旋转速度设置为百分比,该百分比将应用于项目中所有后续的电机模块。
set [IntakeMotor v] velocity to [50] [% v]
参数 |
描述 |
|---|---|
发动机 |
设置以下电机速度的电机:
|
速度 |
设置默认移动速度,范围从 0 到 100,以百分比表示。 |
单元 |
表示速度的单位:
|
例子
当开始
[Spin the Intake Motor at 75 percent speed.]
set [IntakeMotor v] velocity to [75] [% v]
spin [IntakeMotor v] [intake v] for [180] [degrees v] ▶
设置电机超时#
设置电机超时模块用于设置电机模块到达目标位置的等待时间限制。如果机器人无法在设定的时间内完成移动,它将自动停止并继续执行下一个模块。
设定 [ArmMotor v] 超时为 [1] 秒
参数 |
描述 |
|---|---|
发动机 |
设置超时时间的电机:
|
时间 |
电机模块在停止并移动到下一个模块之前将运行的最大秒数。 |
例子
当开始
[Limit how long the Arm Motor will wait to move.]
set [ArmMotor v] timeout to [2] seconds
spin [ArmMotor v] [up v] for [3] [turns v] ▶
位置#
电机位置#
电机位置模块返回所选电机旋转的总距离。
([IntakeMotor v] position in [degrees v])
参数 |
描述 |
|---|---|
发动机 |
用于返回以下位置的电机:
|
单元 |
计量单位:
|
设置电机位置#
设置电机位置 模块为电机设置一个特定的位置值,从而更新编码器读数。
set [IntakeMotor v] position to [0] [degrees v]
参数 |
描述 |
|---|---|
发动机 |
用于设置以下位置的电机:
|
位置 |
要设置的编码器位置值。 |
单元 |
计量单位:
|
例子
当开始
[Set the Intake Motor position, then spin back to 0 degrees.]
set [IntakeMotor v] position to [180] [degrees v]
spin [IntakeMotor v] to position [0] [degrees v] ▶
价值观#
电机已完成#
电机是否停止运转? 模块返回一个布尔值,指示电机是否停止运转。
没错——电机没有转动。
错误 - 电机正在旋转。
<[IntakeMotor v] is done?>
参数 |
描述 |
|---|---|
发动机 |
要检查的电机是否停止旋转:
|
电机在转动吗?#
电机是否正在旋转? 模块返回一个布尔值,指示电机是否正在旋转。
没错——电机正在转动。
错误——电机没有转动。
<[IntakeMotor v] is spinning?>
参数 |
描述 |
|---|---|
发动机 |
要检查的电机当前是否正在旋转:
|
电机速度#
电机速度模块返回电机的当前转速,范围从-100%到100%。
([IntakeMotor v] velocity in [% v] :: custom-motion)
参数 |
描述 |
|---|---|
发动机 |
用于恢复以下部件速度的电机:
|
单元 |
表示速度的单位:
|
传感#
光学的#
光学仪器发现物体了吗?#
光学传感器检测到物体? 模块返回一个布尔值,指示光学传感器是否检测到物体。
正确 - 光学传感器已检测到物体。
错误 - 光学传感器未检测到物体。
<[FrontOptical v] found an object?>
参数 |
描述 |
|---|---|
此代码块没有参数。 |
光学检测颜色#
光学传感器检测到颜色? 模块返回一个布尔值,指示光学传感器是否检测到特定颜色。
正确 - 光学传感器已检测到指定颜色。
错误 - 光学传感器未检测到指定颜色。
<[FrontOptical v] detects [red v]?>
参数 |
描述 |
|---|---|
颜色 |
要检查的颜色:
|
光学亮度#
光学亮度模块返回光学传感器检测到的光量,范围从 0% 到 100%。
([FrontOptical v] brightness in %)
参数 |
描述 |
|---|---|
此代码块没有参数。 |
光学色调#
光学色调模块返回光学传感器检测到的颜色的色调值。
色调值范围从 0 到 359 度,对应于下图所示色轮上的位置。

([FrontOptical v] hue in degrees)
参数 |
描述 |
|---|---|
此代码块没有参数。 |
光学#
当光学传感器检测到或丢失物体时,when Optical 模块会运行其堆栈。您可以放置多个 when Optical 模块,以便同时运行多个模块堆栈。
when [FrontOptical v] [detects v] an object :: hat events
参数 |
描述 |
|---|---|
行动 |
哪个动作会触发帽子阻挡:
|