Uso del sensor de color VEX IQ (1ª generación)

El sensor de color utiliza la luz reflejada para detectar el color, el valor de tono, el valor de escala de grises, el brillo y la proximidad de un objeto.

Pieza de sensor de color VEX IQ (1ª generación).

El sensor de color VEX IQ está incluido en el VEX IQ Super Kit y también se puede comprar aquí.

¿Usas un robot VEX IQ de segunda generación? Consulte una descripción general de los sensores de 2 .ªgeneración aquí e información sobre el sensor óptico, la versión de 2 .ª generación del sensor de color.


Descripción del sensor de color

El sensor de color VEX IQ tiene múltiples modos, que le permiten capturar diferentes tipos de información de su entorno. La información que recopila se ve afectada por las condiciones de iluminación de su entorno, así como por la distancia entre el sensor y el objeto o superficie que está leyendo.


Rueda de color que demuestra cómo el círculo de 360 grados se correlaciona con un valor de tono. El color rojo está en un grado de 0, el color verde está en un grado de 120 y el color azul está en un grado de 240.


Cómo funciona el sensor de color

El sensor de color puede detectar tanto el color como la proximidad.

Detectando colores

VEXcode IQ Brillo del bloque que lee el brillo de Color3 en %.

Diagrama de un sensor de color que detecta una superficie brillante e informa un valor del 80%, y luego detecta una superficie oscura e informa un valor del 20%.

Cuando está en modo de brillo, el sensor de color se utiliza para detectar la intensidad de toda la luz en el entorno del robot. Cuanta más luz llegue al sensor de color mientras está activo, mayor será el valor porcentual enviado al cerebro del robot.

Bloque de luz del sensor de color VEXcode IQ Set que lee la luz Set Color3 al 50%.

El sensor de color se muestra conectado a un robot en un entorno oscuro. La lámpara del sensor de color se enciende para iluminar su entorno.

Si el porcentaje de brillo detectado es bajo o poco fiable, la lámpara del sensor de color se puede encender o el porcentaje de brillo de la lámpara se puede aumentar utilizando la siguiente luz configurada para bloquear:

Tres bloques de sensor de color VEXcode IQ. El primero es Color del bloque que lee el nombre del color Color3. El segundo es un matiz de bloque que lee el matiz Color3 en grados. ¿El tercero es un bloque Color detecta que lee Color3 no detecta ninguno?

El sensor de color puede informar el color que ve como un valor de color o como un valor de tono.

¿VEXcode IQ Color detecta el bloque que lee Color3 no detecta ninguno? El menú desplegable Color del bloque se abre para mostrar una lista de colores para que detecte. La lista dice naranja, púrpura, rojo violeta, violeta, azul violeta, azul verde, amarillo verde, amarillo naranja y rojo naranja.

Valores de color. Hay 14 colores listados que el sensor de color puede detectar. Los colores que faltan en la imagen del bloque son rojo, verde, azul, blanco y amarillo.

Diagrama de valores de tono que demuestra cómo los 360 grados se correlacionan con un valor de tono. El color rojo está en un grado de 0, el color verde está en un grado de 120 y el color azul está en un grado de 240.

Valores de  tono. Los valores de tono son como valores de color pero numéricos. El valor de tono varía de 0 a 360, como grados. Los valores de color enumerados anteriormente tienen sus propios rangos de valores de tonalidad equivalentes. 

Al detectar colores y matices, es importante que el sensor de color tenga la cantidad adecuada de luz para hacerlo. Asegúrese de probar, también conocido como calibración, su sensor de color en diferentes niveles de luz y con la lámpara configurada en diferentes niveles para determinar cuál es la configuración más confiable para el sensor de color de su robot.

Detectando proximidad

El sensor de color incluye un sensor-emisor de infrarrojos. El emisor de infrarrojos emite una luz invisible y luego detecta su reflejo. Si la mayor parte de la luz infrarroja rebota hacia el sensor, le dice al cerebro del robot que un objeto está cerca.

VEXcode IQ ¿Encontró un bloque de objeto que dice Color3 está cerca del objeto?

Usos comunes del sensor de color

Los sensores de color se utilizan en muchas aplicaciones tecnológicas donde es importante tener colores específicos en pantallas o productos.

Algunos usos comunes en la vida diaria incluyen:

  • Las herramientas de calibración de color comprueban si una pantalla digital muestra colores precisos y, a continuación, ajustan la configuración de visualización según sea necesario. Es importante que los artistas gráficos y cualquier diseñador que trabaje con color en una pantalla digital puedan ver exactamente el color correcto que se muestra. Los malentendidos y el desperdicio de recursos se producen cuando los colores no son precisos.
  • Las cámaras y videocámaras utilizan sensores de color para ajustar la configuración en función de las condiciones de iluminación en las que se encuentran, con el fin de mejorar sus fotos y videos maximizando los niveles de luz y mejorando los colores que de otro modo serían opacos. Estos sensores también permiten que un fotógrafo se enfoque en colores específicos en sus fotos.
  • Los sensores de color se utilizan a veces en la fabricación, para inspeccionar rápidamente si un producto tiene el color correcto antes de que se envíe a un cliente. Por ejemplo, las frutas y verduras que cambian de color cuando están maduras o listas para comer pueden escanearse para asegurarse de que sean del color correcto para enviar al mercado. 


Algunos usos comunes con un robot VEX IQ incluyen:

  • Este sensor se puede utilizar para detectar el color de un objeto. Vea esta animación para ver un robot avanzar hasta que el sensor de color detecte un cubo verde.

  • Este sensor se puede utilizar para detectar y/o seguir una línea. Vea esta animación para ver un robot que usa el sensor de color para conducir a lo largo de una línea marcada.

  • Este sensor puede detectar si un objeto está cerca.

Sensores de color en un robot de competición

Recuerde que, al detectar colores y matices, es importante que el sensor de color tenga la cantidad adecuada de luz para hacerlo. Asegúrese de probar, también conocido como calibración, su sensor de color cada vez que llegue a un nuevo sitio de competencia porque los diferentes niveles de luz pueden afectar el rendimiento de su sensor de color. Pruebe su proyecto con la lámpara configurada en diferentes niveles para determinar cuál es la configuración más confiable para el sensor de color de su robot. 

La información recopilada por el sensor de color es útil para programar un robot competitivo para que responda a una variedad de condiciones. El sensor de color puede mejorar un robot de competición de las siguientes maneras:

  • Permite al robot detectar el color de un objeto cerca del sensor. Esto es útil si desea que el robot clasifique objetos de diferentes colores, conduzca hasta un objeto de un color específico o detecte el color de los objetos a medida que pasan por el sensor.
  • Permite que el robot detecte cuánta luz se refleja de nuevo en el sensor. Esto permite que su robot conduzca hasta que llegue a una línea en una superficie, o incluso siga una línea.
  • Le permite al robot saber si un objeto o superficie está cerca. Esto es útil para determinar si un color detectado es una lectura de un objeto cercano o, potencialmente, una lectura anómala de una superficie o luz distante. 

Codificación del sensor de color en bloques

VEXcode IQ ¿Encontró un bloque de objeto que dice Color3 está cerca del objeto?

El <Found an object> bloque es un bloque reportero booleano que informa una condición como verdadera o falsa. Los bloques booleanos, como el <Found an object> bloque, encajan dentro de bloques con entradas hexagonales (de seis lados) para otros bloques.

El bloque <Found an object> booleano informa 'verdadero' si el 'verdadero' si el sensor de color detecta un objeto, y 'falso' si el sensor no lo hace. Para obtener más información sobre los bloques booleanos, visita la Ayuda o el artículo Formas y significado de los bloques.

 

VEXcode IQ bloquea el proyecto que utiliza un sensor de color para avanzar hasta que encuentre un objeto. El proyecto lee Cuando se inicia, avance, espere hasta que Color3 encuentre un objeto y luego deje de conducir.

En este ejemplo, el <Found an object> bloque se utiliza para detectar la proximidad junto con un bloque [Esperar hasta], para hacer que el robot avance hasta que se detecte un objeto.

¿VEXcode IQ Color detecta bloque que lee Color3 detecta verde?

El <Color detects> bloque también es un bloque reportero booleano que informa una condición como verdadera o falsa. El <Color detects> bloque informa 'verdadero' si el 'verdadero' si el sensor de color detecta el color seleccionado y 'falso' si el sensor detecta cualquier otro color. Para obtener más información sobre los bloques booleanos, visita la Ayuda o el artículo Formas y significado de los bloques.

 

VEXcode IQ bloquea el proyecto que utiliza un sensor de color para avanzar hasta que detecte el color verde. El proyecto lee Cuando se inicia, avance, espere hasta que Color3 detecte verde y luego deje de conducir.

En este ejemplo, el <Color detects> bloque se utiliza junto con un bloque [Esperar hasta] para hacer que el robot avance hasta que el sensor de color detecte un objeto verde. El robot dejará de conducir. Esto se ilustra en el primer video de arriba.

VEXcode IQ Brillo del bloque que lee el brillo de Color3 en %.

El bloque (Brillo de) informa la cantidad de luz detectada por el sensor de color. Es un bloque reportero utilizado dentro de otros bloques con espacios circulares.

El bloque (Brillo de) reporta un rango de 0% a 100%.

 

VEXcode IQ bloquea el proyecto que utiliza un sensor de color orientado hacia abajo para seguir una línea marcada. El proyecto lee Cuando comience, configure la luz Color3 en 25%. A continuación, si el brillo de Color3 en % es mayor que 25, gire el motor izquierdo hacia adelante 35 grados, de lo contrario gire el motor derecho hacia adelante 35 grados.

En este ejemplo, el bloque (Brillo de) se utiliza para que el robot detecte y siga una línea, como se muestra en el segundo video anterior.

VEXcode IQ Hue de bloque que lee el tono Color3 en grados.

El bloque (Tono de) informa el tono del color detectado por el sensor de color. Es un bloque reportero utilizado dentro de otros bloques con espacios circulares.

El bloque (Brillo de) informa un rango de 0 a 360.

 

VEXcode IQ bloquea el proyecto que utiliza un sensor óptico para avanzar hasta que alcanza un objeto y luego gira a la derecha si está en rojo o a la izquierda si no lo está. El proyecto lee Cuando se inicie, imprima el tono de Color3 en grados en Brain, avance y luego espere hasta que Color3 encuentre un objeto. Si el tono Color3 en grados es mayor que 330 y el tono Color3 en grados es menor que 30, gire a la derecha 90 grados; de lo contrario, gire a la izquierda 90 grados.

En este ejemplo, el bloque (Tono de) se utiliza para que el robot compruebe un rango de valores de tono que corresponden al color rojo, y para girar a la derecha 90 grados si el sensor detecta esos valores. Si se detectan otros valores de tono, el robot girará a la izquierda 90 grados.

El (matiz de) bloque puede ser útil cuando es necesario que el robot detecte ciertos colores cuando las condiciones de luz ambiente pueden ser inconsistentes.

Codificación del sensor de color en Python

Nota: Para codificar un interruptor de parachoques VEX IQ (1ª generación) en Python, debe estar conectado a un cerebro VEX IQ (2ª generación). El cerebro VEX IQ (1ª generación) no es compatible con Python.

color_3.is_near_object()

El comando color.is_near_object informa True cuando un sensor de color detecta un objeto o superficie cerca de la parte frontal del sensor y False cuando un sensor de color no detecta un objeto o superficie cerca de la parte frontal del sensor.

Nota: El nombre del Sensor de Color que aparece en el comando corresponde al nombre que se le da en la configuración. 

drivetrain.drive(FORWARD)
while not color_3.is_near_object():
wait(20, MSEC)
drivetrain.stop()
En este ejemplo, se utiliza un bucle While con una condición not con el comando color.is_near_object para hacer que el robot avance hasta que el sensor de color detecte un objeto cerca de la parte frontal del sensor.
color_3.color()

El comando color.color informa del color detectado actualmente por el sensor de color.

drivetrain.drive(FORWARD)
while not color_3.GREEN():
wait(20, MSEC)
drivetrain.stop()
En este ejemplo, se utiliza un bucle While con una condición not con el comando color.color para hacer que el robot avance hasta que el sensor de color detecte un objeto verde. El robot dejará de conducir. Esto se ilustra en el primer video de arriba.
color_3.brillo()

El comando color.brightness informa la cantidad de luz detectada por el sensor de color. Informa un rango de valores de 0% - 100%.

color_3.set_light(25, PERCENT)
while True:
if color_3.brightness () > 25:
# Si el sensor de color detecta luz, el robot cambiará a la izquierda
LeftMotor.spin_for (FORWARD, 35, DEGREES)
else:
# Si el sensor de color detecta oscuridad, el robot cambiará a la derecha
RightMotor.spin_for (FORWARD, 35, DEGREES)
wait(20, MSEC)
En este ejemplo, el comando color.brightness se utiliza para que el robot detecte y siga una línea, como se muestra en el segundo video anterior.
color_3.hue()

El comando color.hue informa el tono del color detectado por el sensor de color. Informa un rango de valores de tonalidad de 0 a 360.

brain.screen.print(color_3.hue())
drivetrain.drive(FORWARD)
while not color_3.is_near_object():
wait(20, MSEC)
if color_3.hue() > 330 and color_3.hue() < 30:
drivetrain.turn_for(RIGHT, 90, DEGREES)
else:
drivetrain.turn_for(LEFT, 90, DEGREES)

En este ejemplo, el comando color.hue se utiliza para que el robot compruebe un rango de valores de tono que corresponden al color rojo, y para girar a la derecha 90 grados si esos valores son detectados por el sensor. Si se detectan otros valores de tono, el robot girará a la izquierda 90 grados.

El comando color.hue  puede ser útil cuando es necesario que el robot detecte ciertos colores cuando las condiciones de luz ambiente pueden ser inconsistentes.

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

Last Updated: