使用 VEX IQ 触摸 LED

描述

该传感器可以检测电容式触摸,例如手指的触摸。 它还可以设置为显示多种颜色。

VEX IQ 触摸 LED 传感器包含在 VEX IQ 超级套件中,但也可以在此处购买


触摸 LED 的工作原理:检测触摸

Touch LED 采用的技术可以检测周围环境物理特性的微小变化。 它通过测量电容来实现这一点。

电容是任何物体的物理属性。 它可能会受到物体的材质或形状的影响。 我们周围的空气有一定的电容,电路有一定的电容,你的身体也有一定的电容。

Touch LED 可以通过发送电信号并记录返回的信号来检测该电容。 在图像中您可以看到,按下按钮时,紫色响应信号与蓝色输入信号相比发生变化。 如果响应信号恰到好处,则意味着有手指存在,触摸 LED 会向机器人大脑发送一条消息,这意味着它正在被触摸。

以这种方式检查触摸的优点之一是,电容的变化不需要您直接触摸电路,只需非常靠近即可。 因此,Touch LED 中的电子器件可以用塑料屏蔽,并与更多电子器件(例如设备内部的多色 LED)一起封装。


Touch LED 的常见用途:

  • 该传感器可用于通过手指触摸来启动或暂停程序。

  • 该传感器可用于在程序的不同部分显示不同的颜色。


Touch LED 在竞赛机​​器人上的用途:

  • 触摸 LED 可用于通过手指按压来启动正在运行的程序。
  • 通过对触摸 LED 进行编程,为每个部分显示独特的颜色,团队成员可以看到自主程序的不同部分何时运行。
  • 如果出现问题,触摸 LED 还可用于帮助解决编程问题。

在 VEXcode IQ 中使用触摸 LED

在 VEXcode IQ 中添加触摸 LED 作为设备

截图_2023-03-01_at_3.25.56_PM.png

要在 VEXcode IQ 中对触摸 LED 进行编码,您必须首先配置触摸 LED。 查看本文以了解有关在 VEXcode IQ 中配置传感器的更多信息。

配置触摸 LED 后,命令将出现在工具箱中,您可以在项目中使用。

对触摸 LED 进行块编码

按压触摸 LED

截图_2023-03-01_at_3.23.43_PM.png

<Pressing Touch LED> 块是一个布尔报告器块,用于报告条件为 true 或 false。 布尔块(例如 <Pressing Touch LED> 块)适合与其他块的六边形(六边形)输入的块内部。

如果按下触摸 LED,则 <Pressing Touch LED> 布尔块报告“真”;如果释放或未按下触摸 LED,则报告“假”。 要了解有关布尔块的更多信息,请访问 帮助块形状和含义 文章。

注意:命令中显示的触摸 LED 名称与配置中给出的名称相对应。 

截图_2023-03-01_at_3.42.24_PM.png

在本例中, <Pressing Touch LED> 块与 [等到] 块一起使用,使机器人在按下 Touch LED 时向前行驶 500 毫米,如上面的视频所示。 

{When Touch LED}

截图_2023-03-01_at_3.50.10_PM.png

<Pressing Touch LED> 块是一个事件块,它将运行按下或释放触摸 LED 时附加的块堆栈。 

要了解有关事件块的更多信息,请访问 帮助块形状和含义 文章。

截图_2023-03-01_at_3.47.29_PM.png

在此示例中, {When Touch LED} 块与 [Drive for] 块一起使用,使机器人向前行驶 500 度,直到按下触摸 LED,如上面的视频所示。 

外观类别中的触摸 LED 模块

截图_2023-03-01_at_4.01.06_PM.png

每个模块都可用于调整触摸 LED 上显示的颜色。 

[设置触摸 LED 颜色]用于设置触摸 LED 所需的颜色。 

[设置触摸 LED 淡入淡出]用于将所需的触摸 LED 淡入淡出速度设置为慢、快或无。 

[设置触摸 LED 亮度]用于设置触摸 LED 所需的亮度级别(0-100%)。 

要了解有关每个块的更多信息,请访问 帮助

截图_2023-03-01_at_5.07.13_PM.png

在此示例中,触摸 LED 亮度设置为 100%,颜色将首先显示蓝色 2 秒,然后慢慢褪为红色。 这些块可用于在项目的不同部分显示不同的颜色。

使用 Python 编写触摸 LED 代码

注意:要使用 Python 编写 VEX IQ(第一代)保险杠开关,必须将其连接到 VEX IQ(第二代)大脑。 VEX IQ(第一代)Brain 不支持 Python。

TouchLED.按压

touchled_3.pressing()

TouchLED.pressing命令报告有关触摸 LED 的布尔值 true 或 false。

如果触摸 LED 被按下,则 TouchLED.pressing 命令报告“true”;如果触摸 LED 被释放或未按下,则报告“false”。 

注意:命令中显示的触摸 LED 名称与配置中给出的名称相对应。 

while True:
while not touchled_3.pressing():
wait(20, MSEC)
Drivetrain.drive_for(FORWARD, 500, MM)
wait(20, MSEC)

在本例中,条件为 not While 循环与 TouchLED.pressing 命令一起使用,使机器人在按下 Touch LED 时向前行驶 500mm,如下所示上面的视频。

触摸 LED 事件命令

touchled_3.pressed(回调)
touchled_3.released(回调)

TouchLED.pressedTouchLED.released 命令在按下或释放 Touch LED 时运行指定的回调函数。

def touchled_3_pressed():
(FORWARD, 500, MM)
while True:
touchled_3.pressed(touchled_3_pressed)

在此示例中,TouchLED.pressed 事件命令定义为 向前 500mm。 然后使用while循环,以便每当按下 Touch LED 时,机器人都会在项目运行时向前行驶 500mm。 

外观类别中的触摸 LED 命令

touchled_3.set_color(Color.BLACK)
touchled_3.set_fade(FadeType.SLOW)
touchled_3.setbrightness(50)

这些命令中的每一个都可用于调整触摸 LED 上显示的颜色。 

设置 TouchLED 颜色 用于设置 Touch LED 所需的颜色。 

设置 TouchLED 淡入淡出 用于将 Touch LED 淡入淡出所需的速度设置为慢、快或无。 

设置 TouchLED 亮度 用于设置 Touch LED 所需的亮度级别(0-100%)。 

要了解有关每个命令的更多信息,请访问 帮助

touchled_3.set_brightness(100)
touchled_3.set_color(Color.BLUE)
等待(2, SECONDS)
touchled_3.set_fade(FadeType.SLOW)
touchled_3.set_color(Color.RED)

在此示例中,触摸 LED 亮度设置为 100%,颜色将首先显示蓝色 2 秒,然后慢慢褪为红色。 这些命令可用于在项目的不同部分显示不同的颜色。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: