这个传感器是一个开关。 它告诉机器人其保险杠是被按下(传感器值为 1)还是被释放(传感器值为 0)。
保险杠开关的工作原理:完成电路
VEX IQ 保险杠开关基于可能最常用的电气设备:开关。 开关由两个端子(连接电线的位置)和一个线桥组成,用于在按下开关时“建立”连接。 如图所示,当您按下连接线时,您就“完成”了电路,并且机器人大脑将其记录在您的程序中!
基本上,保险杠开关是未连接或损坏的电路的一部分。 当您按下保险杠开关时,就会建立连接,并且允许电流流动。
保险杠开关的常见用途
- 该传感器在按下或释放时可以触发机器人动作。
- 该传感器可用作开关,按下时可打开或关闭电机。
- 当保险杠撞到墙壁或物体时,该传感器可以检测到它们。
- 当机器人压入保险杠时,传感器可以检测到机器人的其他部分,例如手臂。
保险杠开关在竞赛机器人上的用途
- 在自主模式下,可以使用缓冲开关,以便您的机器人将等待执行特定动作,直到被某种物体按下。
- 保险杠开关可以检测何时接触到周边墙壁等表面或游戏棋子等物体。
- 可以使用两个保险杠开关,例如在机器人的正面和侧面,以便机器人可以将自己定位在角落里。 然后机器人就可以更准确地从那个角落导航到赛场上的其他位置。
- 您可以使用保险杠开关让机器人检测其某个部分(例如手臂)何时与另一部分(例如底盘)接触。
在 VEXcode IQ 中使用缓冲开关
在 VEXcode IQ 中将保险杠开关添加为设备
要在 VEXcode IQ 中对 Bumper Switch 进行编码,您必须首先配置 Bumper Switch。 查看本文以了解有关在 VEXcode IQ 中配置传感器的更多信息。
配置保险杠开关后,命令将出现在工具箱中,您可以在项目中使用。
对保险杠开关进行块编码
在此示例中, <Pressing bumper> 块与 [等到] 块一起使用,使机器人向前行驶,直到按下保险杠开关,如上面的视频所示。
用 Python 编写保险杠开关
注意:要使用 Python 编写 VEX IQ(第一代)保险杠开关,必须将其连接到 VEX IQ(第二代)大脑。 VEX IQ(第一代)Brain 不支持 Python。
bumper_1.pressing()
buffer.pressing命令报告有关 Bumper Switch 的布尔值 true 或 false。
如果保险杠被按下,则 buffer.pressing 命令报告“true”;如果保险杠被释放或未按下,则报告“false”。
注意:命令中出现的保险杠开关名称与其在配置中给出的名称相对应。
drivetrain.drive(FORWARD)
而不是bumper_1.pressing():
wait(20, MSEC)
()
在此示例中,条件为 not 的While 循环与 保险杠一起使用。按下命令使机器人向前行驶,直到按下保险杠开关为止,如上面的视频所示。
要了解有关使用 Python 编写保险杠开关的更多信息,请查看计算机科学 1 级 - Python 课程的第 4 单元。