fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

"Robot" clasificador de objetos según su color

25 Respuestas
10 Usuarios
0 Reactions
11.3 K Visitas
inventipex
Respuestas: 18
Topic starter
(@inventipex)
Active Member
Registrado: hace 17 años

Hola amigos !
Continuo mi post http://www.webdearde.com/modules.php?na ... pic&t=1724 aquí.
Como os dije, he decidido hacer el proyecto de hacer una "máquina", "robot" , que clasifique los objetos segun su color, ya sean cajitas, caramelos, tapones de botella, etc...

He hecho un cutreesquema (lo siento, nunca se me ha dado bien dibujar y menos ocn el paint) pero que resume lo que quiero hacer.
No obstante, he empezado a buscar informacion al respecto.
Como base para el robot, usaré un Boe-Bot que distribuye la empresa MSE http://www.msebilbao.com/tienda/index.php?cPath=53_78 .
Luego, para que localize los colores , había pensado en el sensor de color TCS230-DB de la casa Parallax : http://www.parallax.com/Store/Microcont ... roductName (el sensor también lo tiene MSE, lo vi en una revista de ellos bajo la referencia #30054 , por si sirve de ayuda).

Lo que necesito saber es si ese sensor se podría acoplar a un boe-bot, y lo principal, si se puede programar en Parallax Basic.

Aquí os dejo el dibujito (sencillo pero se entiende) , a ver si lo veis posible:

projectede6

Bueno , a ver si me podeis echar un cable (o dos...) jejeje 😉

Responder
24 respuestas
mif
Respuestas: 1095
 Mif
(@mif)
Noble Member
Registrado: hace 19 años

con un pc y una webcam eso lo tienes funcionando en una tarde.

Responder
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 19 años

Me parece muy interesante el montaje que propone Ranganok, pero no entiendo la función de la LDR ahí ni de los diodos RGB 😕
También me parece muy interesante la solución que propone Tumbos, 3 LDR con un papel de celofan (rojo , verde y azul) y luego medir cada una de las señales e interpretarlas.

En el montaje que te he propuesto la LDR sirve para medir la cantidad de luz recibida. Es decir si tu iluminas en Azul (con el led RGB por ejemplo), la caja sólo devolverá la componente azul de su color (por ejemplo si es lila sólo devolverá la parte azul del lila), lo mismo con el Rojo y con el Verde. Para distinguir colores debes hacer una tabla con las medidas que te va a dar cada tipo de color (añadiéndole una tolerancia a los colores).

Ejemplo (pongo los valores en %, son inventados)

Caja R G B
Negra 0 0 0
Azul 0 0 100
Roja 100 0 0
Verde 0 100 0
Lila 50 0 50
Amarillo 50 50 0
Rosa 80 10 10

S2

Ranganok Schahzaman

PD: Una vez probé el sistema que propone TumBos y no salió demasiado bien, el problema me parece que era que las LDR no responden igual de bien a los distintos colores.

Responder
inventipex
Respuestas: 18
Topic starter
(@inventipex)
Active Member
Registrado: hace 17 años

En el montaje que te he propuesto la LDR sirve para medir la cantidad de luz recibida. Es decir si tu iluminas en Azul (con el led RGB por ejemplo), la caja sólo devolverá la componente azul de su color (por ejemplo si es lila sólo devolverá la parte azul del lila), lo mismo con el Rojo y con el Verde. Para distinguir colores debes hacer una tabla con las medidas que te va a dar cada tipo de color (añadiéndole una tolerancia a los colores).

Mmm.... a ver si lo entiendo, ilumino primero en azul, luego en verde , y luego en rojo , analizo los 3 resultados que me de la LDR , y le enseño al bot cual orden debe seguir en función de los diferentes resultados. Es así ?

Por otra parte, hoy he ido a la tienda de electrónica y he comprado 3 LDR, para probar lo que dice TumBos. Primero, ya que tengo papel de celofan, probaré este sistema , aunque después probaré el sistema de Ranganok, si es como me pienso que es, creo que dará mejor resultado. Probaré los dos esquemas, y si luego no resulta, lo haré via PC (cámara).

A lo que iba, las 3 LDR , sin papel de celofan en una posición fija respecto al foco de luz : (Ldr ordenados de izquierda a derecha) :

LDR 1 : 557Ω
LDR 2 : 584Ω
LDR 3 : 533Ω

Ahora, con papel de celofan :

LDR 1 : 968Ω (Azul)
LDR 2 : 1180Ω (Verde)
LDR 3 : 670Ω (Rojo)

Entonces, según este sistema, es hacer pasar una tensión por los componentes hasta las entradas Boe Bot , y al variar la cantidad de luz que pasa, varia la cantidad de voltios que el Boe recibe.
Entonces, resto a la medición con celofan la medición "base" , para enseñarle al Bot con qué valores debe actuar.

Diferencias Ω (con papel - sin papel) :

LDR 1 : 411Ω
LDR 2 : 596Ω
LDR 3 : 137Ω

Parece fácil... Si puedo , este fin de semana lo pruebo y posteo los resultados.

Gracias de nuevo! 😉

Responder
TumBos
Respuestas: 158
(@tumbos)
Estimable Member
Registrado: hace 19 años

intenta no arrugar los celofanes porque sino te falseará la medida. Acércalos lo máximo posible a la LDR y lo más plano posible (sin arrugas). Recuerda que estas intentando detectar color mediante brillos. Lo que necesitas es poder distinguir entre los dos tipos de color de las muestras. No creo que llegue a más el detector pero bueno todo es probarlo.
Primero ; ilumina de manera lo más uniforme posible en lugar cerrado(caja negra) juntando lateralmente lo máximo posible las LDR. Ya sé que para el montaje no te servirá pero al menos saldrás de duda si el detector funciona y es estable. Apunta los valores de resistencia para los dos tipos de muestra (caramelos). Si un valor de resistencia "despunta" de los otros podrás tener una referencia con una sola LDR (habrás tenido suerte) . Si no es así , tendrás que "guardarte" en el PIC los valores de LDR para cada color y una ventana de error para cada LDR.
Segundo; si el primer paso se ha conseguido, yo probaría a hacer la prueba sin caja, haciendo los mismos pasos que en el punto 1. La idea es tener una diferencia entre muestras y no un verdadero detector de color. Lo ideal sería "enseñar" las muestras al PIC con la caja e iluminación final para luego guardar de manera automática los límites, una especie de autoajuste que se haría en el justo momento de la prueba. Cualquier cambio en las condiciones lumínicas que tengas te pueden "echar abajo" el invento (sombras,reflejos,etc).

Con esos valores de resistencia tendrás que adaptar esas señales de las LDR antes de "dárselas" al PIC. Pero bueno eso será el siguiente paso.
Suerte y ya nos dirás como te ha ido.

P.D. los valores de las resistencias sin celofán no te interesan.Solo interesa la diferencia de valores de LDR´s con celofán de una muestra a otra. Si no hubiera diferencias detectables de resistencia entre muestras o son demasiado fluctuantes para tener un patrón estable olvidate de la idea.

Responder
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 19 años

inventipex, yo también utilizaría tubos opacos para meter la LDR. De tal forma que sólo le entrara la luz en vertical.

Así también es más fácil montar el celofan (lo pones a la entrada del tubo).

S2

Ranganok Schahzaman

Responder
Página 3 / 5
Compartir: