机器人专用积木#

介绍#

VIQRC 25-26 混合搭配 游乐场采用专为该游乐场设计的建筑专用积木,包括两个电机选项、光学传感器和触摸 LED。

所有标准 VEXcode VR 积木均可用于 VIQRC 25-26 Mix & Match 游乐场。

以下是所有可用的游乐场特定块的列表:

运动——移动并跟踪机器人的马达。

  • 行动

    • spin – 无限旋转选定的电机或电机组。

    • spin for – 以度数或圈数为单位,使电机或电机组旋转特定距离。

    • 旋转到位置 – 将电机或电机组旋转到设定位置。

    • 停止电机 – 停止特定电机或电机组旋转。

  • 设置

    • 设置电机速度 – 以百分比设置电机或电机组的速度。

    • [设置电机超时](#set-motor-timeout)——限制当运动受阻时电机阻塞在放弃之前等待的时间。

  • 位置

  • 价值观

感知——利用机器人的各种传感器。

运动#

Actions#

旋转#

旋转块使用 当前电机速度 沿指定方向旋转选定的电机或电机组。

[ClawMotor v] [打开 v] 转

参数

描述

发动机

要旋转的电机或电机组:

  • ClawMotor
  • LiftMotor

方向

旋转方向:

    爪电机
    • 打开
    • 关闭
    升降电机
    • 向下
    • 向上

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

旋转#

spin for 块使用 当前电机速度(以度或圈数为单位)旋转选定的电机或电机组特定的旋转量。

[ClawMotor v] [打开 v] 转 (90) [度 v] ▶

参数

描述

发动机

要旋转的电机或电机组:

  • ClawMotor
  • LiftMotor

方向

旋转方向:

    爪电机
    • 打开
    • 关闭
    升降电机
    • 向下
    • 向上

距离

旋转量,为整数或小数。

单元

测量单位,可以是以下之一:

扩大箭头

默认情况下,这是一个等待块,因此电机会在运行下一个块之前完成移动。要使电机开始移动并立即运行下一个块,请将块扩展为不等待

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

旋转至位置#

旋转到位置块使用当前 电机速度电机位置 将电机或电机组旋转到特定的绝对位置。

[ClawMotor v] 转至 (90) [度 v] ▶

参数

描述

发动机

要旋转的电机或电机组:

  • ClawMotor
  • LiftMotor

位置

电机或电机组旋转的目标位置。

单元

测量单位,可以是以下之一:

扩大箭头

默认情况下,这是一个等待块,因此电机会在运行下一个块之前完成移动。要使电机开始移动并立即运行下一个块,请将块扩展为不等待

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] 转至 [-2] [转 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

停止电机#

停止电机块立即停止选定的电机或电机组。

[ClawMotor v] 停止

参数

描述

发动机

需要停止的电机或电机组:

  • ClawMotor
  • LiftMotor

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转
等待 [2] 秒
[LiftMotor v] 停止
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

Settings#

设定电机速度#

设置电机速度块将电机或电机组的默认旋转速度设置为项目中所有后续电机块的百分比。

set [ClawMotor v] velocity to (50) [% v]

参数

描述

发动机

需要设置速度的电机或电机组:

  • ClawMotor
  • LiftMotor

速度

将默认移动速度设置为 0 至 100 的百分比。

单元

表示速度的单位:

  • %

例子

当开始 :: hat events
[Place a pin atop another pin.]
set [LiftMotor v] velocity to [100] [% v]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

设置电机超时#

设置电机超时 模块设置了电机模块等待到达目标的时间限制。如果机器人无法在设定的时间内完成移动,它将自动停止并继续执行下一个模块。

**注意:**电机的时间限制用于防止未到达目标位置的电机块停止堆栈中其他块的执行。

设定 [ClawMotor v] 超时为 (1) 秒

参数

描述

发动机

需要设置超时的电机或电机组:

  • ClawMotor
  • LiftMotor

时间

电机块在停止并移动到下一个块之前运行的最大秒数。

例子

当开始 :: hat events
[Place a pin atop another pin.]
设定 [LiftMotor v] 超时为 [2] 秒
[LiftMotor v] [向上 v] 转 [5] [转 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

Position#

电机位置#

电机位置块返回所选电机或电机组旋转的总距离。

([ClawMotor v] 转位 [度 v])

参数

描述

发动机

返回位置的电机或电机组:

  • ClawMotor
  • LiftMotor

单元

测量单位,可以是以下之一:

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转
等到 <[-600] [math_greater_than v] ([LiftMotor v] 转位 [度 v])>
[LiftMotor v] 停止
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

设置电机位置#

设置电机位置块为电机或电机组设置特定的位置值,从而更新编码器读数。

设定 [ClawMotor v] 转位至 (0) [度 v]

参数

描述

发动机

需要设置位置的电机或电机组:

  • ClawMotor
  • LiftMotor

位置

要设置的编码器位置值。

单元

测量单位,可以是以下之一:

例子

当开始 :: hat events
[Place a pin atop another pin.]
设定 [LiftMotor v] 位置为 [100] 度
[LiftMotor v] 转至 [-500] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

Values#

电机完成#

电机是否完成? 块返回一个布尔值,指示电机或电机组是否未旋转。

  • 正确 – 电机没有旋转。

  • 错误 – 电机正在旋转。

<[ClawMotor v] 已结束?>

参数

描述

发动机

检查电机或电机组是否旋转完成:

  • ClawMotor
  • LiftMotor

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ◀ 并且不等待
等待 [0.1] 秒
重复直到 <[LiftMotor v] 已结束?>
设定 [TouchLED v] 颜色为 [红色 v]
等待 [0.5] 秒
设定 [TouchLED v] 颜色为 [红色 v]
等待 [0.5] 秒
结束
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

电机在旋转吗?#

电机正在旋转? 块返回一个布尔值,指示电机是否正在旋转。

  • 真 – 电机正在旋转。

  • 错误 – 电机没有旋转。

<[ClawMotor v] 正在转?>

参数

描述

发动机

检查当前是否正在旋转的电机或电机组:

  • ClawMotor
  • LiftMotor

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ◀ 并且不等待
等待 [0.1] 秒
当 <[LiftMotor v] 正在转?>
设定 [TouchLED v] 颜色为 [红色 v]
等待 [0.5] 秒
设定 [TouchLED v] 颜色为 [红色 v]
等待 [0.5] 秒
结束
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

电机速度#

电机速度块返回电机或电机组的当前转速,范围从 -100% 到 100%。

([ClawMotor v] 速度 [% v] 值)

参数

描述

发动机

返回速度的电机或电机组:

  • ClawMotor
  • LiftMotor

单元

表示速度的单位:

  • %

例子

当开始 :: hat events
[Place a pin atop another pin.]
set [LiftMotor v] velocity to [100] [% v]
[LiftMotor v] [向上 v] 转 [600] [度 v] ◀ 并且不等待
等待 [0.5] 秒
打印 ([LiftMotor v] 速度 [% v] 值) ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转

传感#

Optical#

光学发现物体?#

**光学发现物体?**块返回一个布尔值,指示光学传感器是否检测到物体。

  • 真 – 光学传感器已检测到物体。

  • 错误 – 光学传感器未检测到物体。

<[Optical v] 发现对象?>

参数

描述

该块没有参数。

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
等到 <非 <[Optical v] 发现对象?>>
[LiftMotor v] 转至 [0] [度 v] ▶

光学检测颜色?#

**光学检测颜色?**块返回一个布尔值,指示光学传感器是否检测到特定颜色。

  • 真 – 光学传感器已检测到指定的颜色。

  • 错误 – 光学传感器未检测到指定的颜色。

<[Optical v] 测得 [红色 v]?>

参数

描述

颜色

要检查的颜色:

  • 红色
  • 绿色
  • 蓝色
  • 黄色
  • 橙色
  • 紫色

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
等到 <非 <[Optical v] 测得 [红色 v]?>>
[LiftMotor v] 转至 [0] [度 v] ▶

光学亮度#

光学亮度块返回光学传感器检测到的光量,范围从 0% 到 100%。

([Optical v] 亮度百分比)

参数

描述

该块没有参数。

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
等到 <[30] [math_greater_than v] ([Optical v] 亮度百分比)>
[LiftMotor v] 转至 [0] [度 v] ▶

光学色调#

光学色调块返回光学传感器检测到的颜色的色调值。

色调值范围从 0 到 359 度,对应于下面显示的色轮上的位置。

圆形色轮,显示全光谱色调,周边标有度数值,从顶部的 0° 到 360°,以 30 度为增量增加。

([Optical v] 色调度数)

参数

描述

该块没有参数。

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
等到 <([Optical v] 色调度数) [math_greater_than v] [0]>
[LiftMotor v] 转至 [0] [度 v] ▶

当光学#

当光学传感器检测到或丢失物体时,当光学模块会运行其堆叠。你可以使用多个当光学模块来同时运行多个模块堆叠。

当 [Optical v] [detects v] 一个对象 :: hat events

参数

描述

行动

哪些动作触发帽子积木:

  • 检测
  • 丢失

例子

当开始 :: hat events
[Place a pin atop another pin.]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
当 [Optical v] [loses v] 一个对象 :: hat events
[Lower the lift when the red pin is not in the claw.]
[LiftMotor v] 转至 [0] [度 v] ▶

Touch LED#

设置 TouchLED 颜色#

设置触摸LED颜色块设置触摸LED的颜色。

设定 [TouchLED v] 颜色为 [none v]

参数

描述

颜色

将 LED 的颜色设置为:

  • 无 – 关闭触摸 LED
  • 红色
  • 绿色
  • 蓝色
  • 白色
  • 黄色
  • 橙色
  • 紫色
  • 红紫色
  • 紫色
  • 蓝紫色
  • 蓝绿色
  • 黄绿色
  • 黄橙色
  • 红橙色

例子

当开始 :: hat events
[Place a pin atop another pin.]
设定 [TouchLED v] 颜色为 [红色 v]
[LiftMotor v] [向上 v] 转 [600] [度 v] ▶
驱动 [向前 v] (140) [毫米 v] ▶
[ClawMotor v] [打开 v] 转
设定 [TouchLED v] 颜色为 [none v]