Si bien entiendo que la detección de color con la cámara y un procesador suficientemente potente que ejecuta la lógica del histograma de la imagen (u otros algoritmos similares) puede determinar la presencia de ciertos colores de manera bastante confiable.
Sin embargo, ¿existen otros mecanismos significativamente más rentables para determinar la presencia/ausencia de cierto color (o sus sombras cercanas), a corta distancia, utilizando sensores más simples/más baratos y requisitos computacionales más bajos?
Supongo que cosas como sensores de pH u otros sensores químicos podrían usar tales métodos. En mi caso, la aplicación es tal que necesito detectar presencia/ausencia de un color específico (un tono de azul claro), en un área pequeña, a corta distancia.
Editado: por 'rango cercano' me refiero a algo entre 1 y 5 cm, aunque este no es un requisito muy estricto. Estaba pensando en "cerrar" relativamente, es decir, no hay irradiación directa desde la fuente de luz al sensor, una especie de barril doble, de modo que solo la luz reflejada golpea el sensor. Entonces, la cercanía es una función de la ubicación del sensor físico, y estoy abierto a sugerencias (incluidos enfoques completamente alternativos / ortogonales).
Dado que los LED utilizados como fotodiodos son más sensibles al color que emiten durante el funcionamiento normal, se puede fabricar un sensor de color básico utilizando el LED a la inversa y un opamp:
El circuito de arriba vino de esta página . También se puede hacer al revés: aquí hay disponible una visión mucho más detallada de la detección de color usando LED y sensores de luz . Esta página detalla el uso de un sensor de luz normal y LED de diferentes colores.
No pude encontrar la nota de la aplicación mencionada en los comentarios, pero esta página parece ser un tratamiento bastante completo del tema de los amplificadores de transimpedancia. Puede modificar el sesgo en el LED para cambiar el tiempo de respuesta/sensibilidad.
Si desea detectar un color muy específico, necesitará un filtro de banda estrecha como este filtro de ancho de banda de 11 nm de Edmund Optics. Los productos de EO son realmente material de laboratorio de alta precisión, al igual que el precio: 300 dólares.
Si puede conformarse con menos, le sugiero que use un filtro fotográfico . Utilice un fototransistor con una amplia sensibilidad espectral, especialmente en el rango de 400 nm, y compare la lectura con y sin filtro azul. Si el color del objeto es azul, habrá menos diferencia en la lectura que para un objeto rojo, por ejemplo. Tendrás que tener en cuenta también una compensación, ya que el filtro no pasará el 100 % de la luz, incluso si es azul.
Por ejemplo, si el filtro se atenúa en 3 dB (los fotógrafos hablan de f-stops), una lectura azul sin filtro de 1 V se convertirá en 0,7 V con el filtro. Si el color es rojo, una lectura de 1 V sin filtro probablemente dará 0,4 V más o menos con el filtro.
Puede convertir la corriente del fotodiodo en un voltaje con una resistencia en serie o con un amplificador de transimpedancia opamp:
Tenga en cuenta que el ánodo del diodo debe estar conectado a un voltaje más negativo que la entrada no inversora. Encuentro una cantidad sorprendente de circuitos en la red donde el ánodo está conectado a tierra. Pero luego, debido a que el diodo crea una caída de voltaje, el amplificador operacional no puede regular la salida para que las entradas se igualen y la salida se sature.
Un enfoque muy simple para determinar el color de una superficie es usar un fotodiodo o fotoresitor y un número (3, por ejemplo, como en RGB) de LED de diferentes colores para iluminar la superficie.
Luego, de forma multiplexada en el tiempo, cada uno de los LED se enciende por sí mismo en secuencia para iluminar la superficie, y se mide la intensidad de la luz reflejada para cada uno de ellos.
Ejemplo: si se usan tres LED, uno rojo, uno verde y uno azul, esto producirá tres valores de intensidad de reflexión, uno para cada componente de color, que juntos, después de una posible normalización, darán una aproximación numérica del color de la superficie de alguna manera. del espacio RGB (que depende de las distribuciones de longitud de onda específicas de los LED, por supuesto).
(Usaré la configuración de ejemplo de tres colores RGB a continuación para simplificar, pero se puede usar cualquier número de 1 a n de fuentes de luz de diferentes colores; cuantos más colores diferentes se usen, más exacto se puede determinar el color de la superficie).
El principio es el mismo que en el chip de una cámara: las intensidades de los componentes rojo, azul y verde de la luz entrante se miden de forma independiente y la combinación de las tres intensidades determina el color. En la cámara, hay un fotodetector para cada uno de esos tres colores básicos para que las tres intensidades se puedan medir al mismo tiempo. Lo que complica esto es que se necesitan tres sensores diferentes o tres filtros diferentes.
Por lo tanto, la propuesta funciona al revés: en lugar de filtrar la luz después de que se refleja en la superficie, también se puede 'filtrar' la luz antes de que llegue a la superficie; básicamente, para su percepción, no importa si se pone las gafas de sol de color azul o si usa una fuente de luz azul y no usa gafas de sol.
La intensidad de la luz reflejada medida para cada componente de color (o LED) producirá un valor (normalizado) en el rango de [0.0, ..., 1.0], donde 0.0 significa que no se refleja luz y 1.0 significa que una cantidad máxima de luz se refleja. Dependiendo del color de la superficie, las intensidades serán diferentes para los diferentes colores de luz (longitudes de onda).
En todos los casos, recibirá tres valores de intensidad, cada uno de los cuales determina la intensidad de una determinada parte del espectro de color. Cada medición completa produce así un triplete (r,g,b) que determina el color medido. Como en los gráficos por computadora, el triplete (0,0,0) representa oscuridad total, negro; (1,1,1) es el blanco más brillante y cualquier combinación (r,g,b) donde r == g == b representa algún tono de gris. Todas las demás combinaciones posibles identifican un punto distintivo en el espacio RGB, definiendo el color medido. (0.5,0,0) es un rojo medio, por ejemplo, y (0.9,0.9,0) es un amarillo relativamente brillante, etc.
Nota:
Algunas páginas aleatorias con 'manos a la obra' sobre el tema:
http://www.societyofrobots.com/sensors_color.shtml
http://www.instructables.com/id/Color-Detection-Using-RGB-LED/#step1
Hay una cantidad sustancial de circuitos integrados que harán este trabajo con varios grados de capacidad. Dividiré el rango en 3 partes, pero hay límites estrictos y rápidos absolutos.
(1) En el extremo inferior están los circuitos integrados con un solo sensor de diodo por color, filtros RGB y salida de 3 canales.
Un ejemplo (no disponible en Digikey) es Avago ADJD-S311-CR999
(2) Por encima de eso hay pequeños arreglos de fotodiodos con filtros RGB y quizás también celdas sin filtrar. Ejemplo a continuación.
(3) En el extremo superior se encuentran los circuitos integrados de cámara a todo color a precios bastante razonables. Ejemplo a continuación.
Simple y económico: salida de onda cuadrada analógica en canales de luminancia RGB.
Por alrededor de $3.50 en stock en 1/s en Digikey - 24 o 64 fotodiodos dispuestos en 4 grupos intercalados - 25% cada uno de los filtros R, G, B y Clear.
El precio es para el IC más grande. Hoja de datos aquí
Algo más caro. Mas complejo. Mucho más capaz.
Por $ 18 en stock en Digikey, puede obtener un sensor completo de "cámara a color" RGB de 5 Mp: 2592 x 1944 x 14 fps o VGA a 53 fps. Esto debería satisfacer su necesidad [tm].
Hoja de datos aquí
Jee Shen Lee
stevenvh
Jee Shen Lee
stevenvh
bdutta74
bdutta74