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.
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.
Cómo funciona el sensor de color
El sensor de color puede detectar tanto el color como la proximidad.
Detectando colores
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.
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:
El sensor de color puede informar el color que ve como un valor de color o como un valor de tono.
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.
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.
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
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.
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.
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.
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.
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%.
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.
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.
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) |
| 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) |
| 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) |
| 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()) |
|
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. |