使用 VEX IQ(第一代)颜色传感器

颜色传感器使用反射光来检测物体的颜色、色调值、灰度值、亮度和接近度。

VEX IQ 颜色传感器包含在 VEX IQ 超级套件中,也可以在此处购买


颜色传感器描述

VEX IQ 颜色传感器具有多种模式,使其能够从环境中捕获不同类型的信息。 它收集的信息受到环境照明条件以及传感器与其正在读取的物体或表面之间的距离的影响。


vex-彩虹-圆-graphic_2.jpeg


颜色传感器的工作原理

颜色传感器可以检测颜色和接近度。

检测颜色

在亮度模式下,颜色传感器用于检测机器人环境中所有光线的强度。 当颜色传感器处于活动状态时,到达颜色传感器的光线越多,发送到机器人大脑的百分比值就越高。

如果检测到的亮度百分比较低或不可靠,可以打开颜色传感器的灯或使用以下设置的光进行遮挡来提高灯的亮度百分比:

颜色传感器可以将其看到的颜色报告为颜色值或色调值。

颜色值。颜色传感器可以检测到的颜色有 14 种。 块图像中缺少的颜色是红色、绿色、蓝色、白色和黄色。

色调值。色调值类似于颜色值,但是是数字。 色调值的范围是 0 到 360,就像度数一样。 上面列出的颜色值有其自己的等效色调值范围。 

在检测颜色和色调时,颜色传感器拥有适当的光量非常重要。 请务必在不同的光线水平下以及将灯设置在不同的水平下测试(也称为校准)颜色传感器,以确定哪种设置是机器人颜色传感器最可靠的设置。

 
检测接近度

颜色传感器包括红外传感器发射器。 红外发射器发出不可见光,然后检测其反射。 如果大部分红外光反射回传感器,它会告诉机器人大脑有一个物体很近。

颜色传感器的常见用途

颜色传感器用于许多技术应用,在这些应用中,显示器或产品上具有特定颜色非常重要。

日常生活中的一些常见用途包括:

  • 颜色校准工具检查数字屏幕是否显示准确的颜色,然后根据需要调整显示设置。 对于图形艺术家和任何在数字屏幕上使用颜色的设计师来说,能够准确地看到所显示的正确颜色非常重要。 当颜色不准确时,会导致误解和资源浪费。
  • 相机和摄像机使用颜色传感器根据所处的照明条件调整设置,以便通过最大化光线水平和增强原本暗淡的颜色来增强照片和视频。 这些传感器还允许摄影师专注于照片中的特定颜色。
  • 颜色传感器有时用于制造中,以便在将产品运送给客户之前快速检查产品是否具有正确的颜色。 例如,可以扫描成熟或可供食用时变色的水果和蔬菜,以确保它们的颜色适合发送到市场。 


VEX IQ 机器人的一些常见用途包括:

  • 该传感器可用于检测物体的颜色。

  • 该传感器可用于检测和/或跟踪线路。

  • 该传感器可以检测附近是否有物体。

竞赛机器人上的颜色传感器

请记住,在检测颜色和色调时,颜色传感器拥有适当的光量非常重要。 每次到达新的比赛场地时,请务必测试(也称为校准)颜色传感器,因为不同的光线水平会影响颜色传感器的性能。 使用不同级别的灯组测试您的项目,以确定哪种设置是机器人颜色传感器最可靠的设置。 

颜色传感器收集的信息对于对竞技机器人进行编程以响应各种条件非常有用。 颜色传感器可以通过以下方式使竞赛机器人变得更好:

  • 它可以让机器人检测传感器附近物体的颜色。 如果您希望机器人对不同颜色的物体进行分类、驶向特定颜色的物体或在物体经过传感器时检测物体的颜色,这非常有用。
  • 它可以让机器人检测有多少光被反射回传感器。 这使得您的机器人能够行驶直到到达表面上的一条线,甚至沿着一条线行驶。
  • 它让机器人知道附近是否有物体或表面。 这有助于确定检测到的颜色是否是来自附近物体的读数,或者可能是来自远处表面或光线的异常读数。 

对颜色传感器进行块编码

5dc33fd05c167.png

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

如果颜色传感器检测到物体,则 <Found an object> 布尔块报告“真”;如果传感器未检测到物体,则报告“假”。 要了解有关布尔块的更多信息,请访问 帮助块形状和含义 文章。

 

Screen_Shot_2023-03-01_at_12.37.53_PM.png

在此示例中, <Found an object> 块与 [等到] 块一起用于检测接近度,以使机器人向前行驶,直到检测到物体。

Screen_Shot_2023-03-01_at_12.46.03_PM.png

<Color detects> 块也是一个布尔报告器块,用于报告条件为 true 或 false。 如果颜色传感器检测到所选颜色则报告“真”,如果传感器检测到任何其他颜色则报告“假”,则 <Color detects> 块报告“真”。 要了解有关布尔块的更多信息,请访问 帮助块形状和含义 文章。

 

Screen_Shot_2023-03-01_at_12.42.15_PM.png

在此示例中, <Color detects> 块与 [等待] 块一起使用,使机器人向前行驶,直到颜色传感器检测到绿色物体。 然后机器人将停止行驶。 上面的第一个视频对此进行了说明。

Screen_Shot_2023-03-01_at_12.49.57_PM.png

(亮度)块报告颜色传感器检测到的光量。 它是一个记者块,用于其他具有圆形空间的块内。

(亮度)块报告的范围为 0% 到 100%。

 

Screen_Shot_2023-03-01_at_12.53.59_PM.png

在此示例中,(的亮度)块用于让机器人检测并遵循一条线,如上面的第二个视频所示。

Screen_Shot_2023-03-01_at_3.22.43_PM.png

(色调)块报告颜色传感器检测到的颜色的色调。 它是一个记者块,用于其他具有圆形空间的块内。

(亮度)块报告的范围为 0 到 360。

 

Screen_Shot_2023-03-01_at_3.40.56_PM.png

在此示例中,(色调)块用于让机器人检查与红色相对应的一系列色调值,如果传感器检测到这些值,则向右转 90 度。 如果检测到任何其他色调值,机器人将向左转 90 度。

当环境光线条件可能不一致时,机器人需要检测某些颜色时,(色调)块可能会很有用。

用 Python 编写颜色传感器代码

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

Screen_Shot_2023-03-01_at_2.20.15_PM.png

当颜色传感器检测到靠近传感器正面的物体或表面时 color.is_near_object 命令报告 True ;当颜色传感器检测 靠近传感器正面的物体或表面时,0 color.is_near_object 1 命令报告 False 5 not 7传感器。

注意:命令中显示的颜色传感器名称与配置中给出的名称相对应。 

Screen_Shot_2023-03-01_at_2.25.58_PM.png

在此示例中,具有 not 条件的While 循环与 color.is_near_object 命令一起使用,使机器人向前行驶,直到颜色传感器检测到靠近前方的物体。传感器。

Screen_Shot_2023-03-01_at_2.30.22_PM.png

color.color 命令报告 颜色传感器当前检测到的颜色。

Screen_Shot_2023-03-01_at_2.33.28_PM.png

在此示例中,具有 not 条件的While 循环与 color.color 命令一起使用,使机器人向前行驶,直到颜色传感器检测到绿色物体。 然后机器人将停止行驶。 上面的第一个视频对此进行了说明。

Screen_Shot_2023-03-01_at_2.37.12_PM.png

color.brightness 命令报告颜色传感器检测到的光量。 它报告的值范围为 0% - 100%。

Screen_Shot_2023-03-01_at_3.18.39_PM.png

在此示例中, color.brightness 命令用于让机器人检测并遵循一条线,如上面的第二个视频所示。

Screen_Shot_2023-03-01_at_3.47.50_PM.png

color.hue 命令报告颜色传感器检测到的颜色的色调。 它报告从 0 到 360 的色调值范围

Screen_Shot_2023-03-01_at_4.05.24_PM.png

在此示例中, color.hue 命令用于让机器人检查与红色相对应的一系列色调值,如果传感器检测到这些值,则向右转 90 度。 如果检测到任何其他色调值,机器人将向左转 90 度。

当环境光线条件可能不一致时,机器人需要检测某些颜色时, color.hue 命令会很有用。

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

Last Updated: