TODOPIC

FORO TÉCNICO => Foro Técnico => Mensaje iniciado por: jfmateos2 en 14 de Febrero de 2008, 18:43:45

Título: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 14 de Febrero de 2008, 18:43:45
¿Alguien puede explicarme cómo funciona esto? Especialmente, ¿cuántos ADC harían falta?

Título: Re: Matriz de LED como sensor táctil
Publicado por: J1M en 14 de Febrero de 2008, 19:09:39
Creo que funciona utilizando los propios leds como fototransistores. Hay un efecto que no se como se llama por el cual, un led conduce cuando se le excita con una luz de longitud de onda igual a la frecuencia en que este emite... Por lo que esa matriz de led supongo está controlada por PWM a una frecuencia mayor que la que es capaz de ver el ojo, teniendo un diagrama lógico de funcionamiento algo así:

Leds ON
Leds OFF ->  Lectura del ADC (creo que serían necesarios tantos como leds haya... a no ser que, y supongo se podrá, hacer algún tipo de switch).
Leds ON

Qué se lee en el ADC?? la lectura de la tensión de excitación de los leds.
Quién excita a los Leds?? El reflejo de la luz en el dedo.


Puessss algo así sería más o menos creo :p... Eso y un par de GinTonics de Hendricks con Fever! :D
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 14 de Febrero de 2008, 19:20:33
!Que dasafio!

¿Se viene un PIC-Tengu tactil?

Vamos a la cantidad de ADC:

Creo que (aun sin haberlo intentado nunca!) utilizando un solo ADC es posible. Es obvio que los LEDs estan multiplezados. Encienden de a filas/columnas. Se puede usar ese mismo arreglo y algunos integrados selectores como el CD4067 (que puede tomar una señal seleccionada de 16 fuentes posibles) para ir leyendo uno tras de otro....

Hay que pensarlo muy bien, pero los tiempos, en una matriz asi de pequeña, dan bastante bien....Tranquilamente se pueden leer varias decenas de veces por segundo cada uno de los leds de una matriz de 8x8.

Y digo "leer", por que como bien dice J1M, al someter un LED a una luz, aparece una miserable tension entre sus terminales, que puede ser amplificada/leida.

¿Lo pensas encarar?  :o

Saludos!
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 14 de Febrero de 2008, 19:42:01
Ya está encarado... echaré un vistazo al datasheet de esos CD4067.
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 14 de Febrero de 2008, 19:46:04
Pues si te parece, ve posteando tus resultados por aqui....Me gustaria ayudarte, y si es posible, construir algo asi para jugar/aprender un poco.  :mrgreen:
Título: Re: Matriz de LED como sensor táctil
Publicado por: RALF2 en 14 de Febrero de 2008, 20:38:26
 :shock: :shock:
Impresionante el videito, lo del pic es un reto pero el programa para verlo tambien  :shock:
Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 14 de Febrero de 2008, 23:35:09
Guauu que linda cosita para jugar, te imagino haciendole cosquillas al tengu  :-/ me apunto para seguir los avances y quizas ir a la par de los mismos desde aqui. saludos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 15 de Febrero de 2008, 03:24:39
El efecto queda realmente espectacular.

Aquí hay más info, esquemas y software de ejemplo con 18F.
http://itp.nyu.edu/physcomp/sensors/Reoprts/LEDAsPhotodiode
Título: Re: Matriz de LED como sensor táctil
Publicado por: Diego Gonzalez en 15 de Febrero de 2008, 05:44:12
Madre... madre.... lo que se avecina!!!! :mrgreen:
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 15 de Febrero de 2008, 05:47:50
No debería contarlo para no desvelar la sorpresa (como muy mal hacen otros  :mrgreen:) pero aquí manifiesto mis intenciones:

Efectivamente se trata de aplicarlo en el PIC-Tengu, pero no para hacerle cosquillas (aunque no es mala idea) sino para implementar una interfaz que permita configurar ciertos parámetros (sensibilidad, mensaje de texto, ...) sin tener que depender de un PC.

Al del enlace que ha puesto Nocturno no le van bien las cosas porque está pasando por alto un detalle. El misterio del asunto está en lo que comentaba J1M, pero hay un pequeño truco: primero hay que polarizar el LED en sentido directo, luego en sentido inverso (de modo que se comporta como un pequeño condensador) y por último medir su ritmo de descarga. Si incide luz sobre el LED (por ejemplo si tiene un dedo encima reflejando la luz procedente de los LEDs adyacente) se descargará rápido, en caso contrario se descargará lento. El esquema aproximado es éste (sacado de make: http://blog.makezine.com/archive/2006/06/led_touch_sensor.html)

(http://blog.makezine.com/order.jpg)

La mejor fuente de información que he encontrado hasta el momento es ésta: http://projects.dimension-x.net/technology-and-projects/ledsensors

De hecho, otra cualidad interesante de este asunto es que los LEDs se pueden utilizar como sensores de color (http://www.robotroom.com/ReversedLED.html)
Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 15 de Febrero de 2008, 07:14:12
Muy buenas las aplicaciones que se le pueden dar a un simple led, ya estoy apartando LEDs para la matriz.
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 15 de Febrero de 2008, 07:17:15
Al momento de "sensar" uno de los LEDs, deberia haber algun(os) otro(s) encendidos, que proporcionen la luz necesaria en caso de que se este usando en un lugar "a oscuras", no?

Esto implicaria la necesidad de un circuito de multiplexado para el encendido, y otro para el sensado de los LEDs....¿Me equivoco?

Saludos!
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 15 de Febrero de 2008, 07:18:21
Muy buenas las aplicaciones que se le pueden dar a un simple led, ya estoy apartando LEDs para la matriz.

Este es otro tema: ¿Todos los LEDS seran igual de eficientes para ser usados como sensores? O habra algun color o tipo en particular que sea mejor que el resto?

Aunque en el video se ven como si fuesen los rojitos de toda la vida, ¿no?

Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 15 de Febrero de 2008, 07:28:17
Al momento de "sensar" uno de los LEDs, deberia haber algun(os) otro(s) encendidos, que proporcionen la luz necesaria en caso de que se este usando en un lugar "a oscuras", no?

Segun lo que vi en uno de los blogs que propone jfmateos enciende la columna aledaña a la columna que esta por sensar, para utilizar la luz de los primeros para el fenomeno. Por esto mismo supongo que servirian los leds comunes de toda la vida

Hay un efecto que no se como se llama por el cual, un led conduce cuando se le excita con una luz de longitud de onda igual a la frecuencia en que este emite...
por esto debe iluminar los leds de la columna aledaña a la que va a sensar.
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 15 de Febrero de 2008, 07:33:54
!Eso me pasa por no entrar a los links! :) :)

Buenisimo, eso quiere decir que el tema del multiplexado es algo mas complicadito que en una matriz comun, pero tampoco imposible de resolver. Las columnas deben poder seleccionarse para "escritura" o para "lectura"... Si solo son 8, pueden ser atendidas una por cada pin ADC de un 16F877A, por ejemplo. Habria que resolver el tema del "driver" que permita exitar los (maximo) 8 LEDS a la vez que permite su lectura....
Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 15 de Febrero de 2008, 07:38:59
Este (http://projects.dimension-x.net/archives/63) es el blog donde hablan de lo que mencionaba anteriormente.

Habria que resolver el tema del "driver" que permita exitar los (maximo) 8 LEDS a la vez que permite su lectura....
Exacto, ya no se puede utilizar el ULN... en este caso.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 15 de Febrero de 2008, 07:51:53
En principio cada LED tiene un comportamiento distinto como sensor que hay que probar en el laboratorio, pero los LEDs rojos comunes resultan ser de los más sensibles (junto con los amarillos), así que estamos de suerte. La luz ambiente por supuesto afecta, pero podríamos descontarla leyendo el promedio de varios LEDS distribuidos por la matriz.

El señor justDIY (el del blog que cita El_Guitre) se quedó atascado según explica en este foro (http://forums.linear1.org/index.php/topic,524.0.html), y aparentemente llegó a la conclusión de que haría falta un PIN triestado para cada LED de la matriz, es decir, para una matriz de 64 LEDs harían falta 64 pines (+V/GND/ADC Input), lo cual solucionó utilizando mogollón de PICs y comunicándolos entre sí con un PIC maestro mediante I2C. A ver si podemos darle un empujoncito y encontrar una forma de afrontarlo mediante multiplexación, con el CD4067, o quizás mejor aún con el CD4097.

De momento he intentado ponerme en contacto con el señor que desarrolló el proyecto del vídeo que publiqué al principio a ver si me cuenta algún detalle más. Les mantendré informados.
Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 15 de Febrero de 2008, 08:05:40
Bien, quedamos a la espera, de todas formas hay que ir pensando posibilidades
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 15 de Febrero de 2008, 08:08:42
Si, completamente de acuerdo. Es un disparate usar varios pics, al menos, si existe alguna solucion por el lado de los integrados que mencionas.

El meollo esta en "construir", ya sea con transistores o alguno de estos IC, un driver que tenga tres estados. Una forma seria usar dos drivers unidireccionales que tengan un pin de ENABLE puestos en oposicion. En un sentido escribimos en lamatriz, y en el otro la leemos. Para ENABLE podemos poner un inversor en uno de los sentidos, para asegurarnos que un error de soft no nos haga habilitar ambos a la vez (y de paso ahorramos un pin del PIC).

A buscar! :)

Saludos!
Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 15 de Febrero de 2008, 08:25:24
No podremos utilizar esta (http://www.ortodoxism.ro/datasheets2/7/0tt2zpx984hd5irshfo1oh98kfky.pdf) llave que quiere utilizar micro23 para el ICSP??

Otra cosa, no seria bueno mover este hilo del foro tecnico al de proyectos? Saludos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 15 de Febrero de 2008, 09:34:51
Los pines del PIC son tri-estado: salida 0, salida 1 y entrada.
Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 15 de Febrero de 2008, 10:01:32
Los pines del PIC son tri-estado: salida 0, salida 1 y entrada.

creo que a lo que se refiere Ariel es que el driver deberia ser tri estado para no cargar directamente la matriz al PIC, mas alla de que este sea tri-estado como bien decis.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 15 de Febrero de 2008, 10:34:36
Ah, vale. Podríais probar los expansores MCP23017(I2C) o MCP23S17 (SPI).
Tienen 16 pines tri-estado cada uno, y con interrupción en cada pin.
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 15 de Febrero de 2008, 11:06:06
Los pines del PIC son tri-estado: salida 0, salida 1 y entrada.

creo que a lo que se refiere Ariel es que el driver deberia ser tri estado para no cargar directamente la matriz al PIC, mas alla de que este sea tri-estado como bien decis.

Exacto: cada pin deberia manejar 8 leds, por lo que la corriente suministrada por el pic es insuficiente. Por eso me referia a un driver externo, tipo el ULN2803 pero que tenga la posibilidad de ser puesto en un tercer estado (DISABLED) para que no "moleste" a la hora de leer los LEDs.

Estaba pensando que para la lectura no hace falta un driver, ya que los leds deben leerse uno por uno (en cada columna). Lo que hace falta es un mecanismo de seleccion de la fila en la que esta el led a leer.....O sea que el manejador de las filas, segun el esquema de lectura que posteo mas arriba Mateos, deberia ser capaz de polarizar en ambos sentidos los LEDs...

Enredado, pero muy interesante el desafio! :)
Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 15 de Febrero de 2008, 11:15:17
Enredado, pero muy interesante el desafio! :)

la verdad esta interesante... se me esta ocurriendo para un juego de memoria, ir encendiendo distintos lugares de la matriz y que el jugador siga la secuencia, y despues aparece la carita del tengu y te dice si ganaste o perdiste  :D
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 15 de Febrero de 2008, 11:22:52
Esta bueno!

ME gusta tambien la idea de, usando un SID de las Commodore (tengo ese proyecto a mitad de terminar, pero la revista me esta robando el poco tiempo libre), hacer una especie de sintetizador musical operado mediante la matriz....

Hasta se podria hacer una especie de SUPER-SIMON con eso!!!!!!! :)
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 15 de Febrero de 2008, 11:51:15
Incluso se podría hacer que reconociese caracteres escritos con el dedo.

Veo aitopes que vamos siguiendo el mismo proceso deductivo... yo también he llegado a las mismas conclusiones.
Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 15 de Febrero de 2008, 11:56:30
Hasta se podria hacer una especie de SUPER-SIMON con eso!!!!!!! :)

Eso es lo que queria decir pero no me salia el nombre del juego, lo otro seria una pizarra magica digital.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Leon Pic en 15 de Febrero de 2008, 11:57:05
Una muy linda y moderna forma de comunicarce con un robot, el pic tengus, etc.

Sería como hacer un mouse touch pero con led.
Título: Re: Matriz de LED como sensor táctil
Publicado por: doppel en 15 de Febrero de 2008, 16:49:42
Hola amigos, muy interesante lo que proponen uds creo que quieren hacer algo como esto (http://www.cirware.com.ar/blog/?p=72)

saludos

Hernán
Título: Re: Matriz de LED como sensor táctil
Publicado por: J1M en 15 de Febrero de 2008, 18:14:44
Genial doppel!! no conocía el Tenori-ON... menudo cacharrito :) :)
Aquí unas fotos de su prototipado:
http://www.flickr.com/photos/rupertslunch/collections/72157601439328733/
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 16 de Febrero de 2008, 11:23:50
Guauuuu Doppel, ese Tenori-on es fantástico. Ya tengo más ideas. Gracias.

Volviendo al tema de usar un led como sensor, este otro señor (http://www.provolot.com/projectlog/2007/05/bidirectional_led_sensing.html) consigue lo mismo pero sin conversores ADC; simplemente mide el tiempo que tarda en descargarse el LED (usa un arduino).

Otra idea curiosa: utilizar este sistema para comunicaciones. Ya me imagino a los PIC-Tengu hablando entre sí
Título: Re: Matriz de LED como sensor táctil
Publicado por: J1M en 16 de Febrero de 2008, 11:42:30
En ese ejemplo se ve lo que se comentaba al principio no??? es decir, se utiliza el mismo led para medir si está sobre él mismo. Lo digo pq se propuso una idea que no me terminaba de convencer, utilizar un array de leds para medir el reflejo emitido por el array anterior...

Comentando el ejemplo anterior, creo q es una muy buena solución. Podría solo un PIC gestionarlo todo?? medición de tiempos e interpretación de estos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Marioguillote en 16 de Febrero de 2008, 12:09:03
Hola a todos !

Lamentablemente no puedo ver los videos que han colocado en los post, pero he visto el site que comentó Hernán (Tenori-ON ) y me doy cuenta de lo que están hablando.

Yendo al grano y acerca de la detección de la proximidad táctil, habría que ensayar acerca de la respuesta de los leds a las emisiones infrarojas de los dedos, en especial los leds conocidos como water-clear (no los difusos).
Si bien por selección de materiales en su construcción, son capaces de emitir en un determinado margen de longitudes de onda; pero teniendo en cuenta que la luz visible en su totalidad sería capáz de hacerles circular una pequeña corriente inversa; debemos tener en cuenta que los infrarojos también entrarían en el juego.

El método de los infrarojos emitidos por el mismo organismo, evitaría toda acción secundaria para lograr emisión-reflexión-detección.
Un simple filtro por hard para dejar pasar la gama de infrarojos y una apropiada amplificación solucionarían la "detección"

Se entiende la teoría ?

Repito. No he podido ver los videos, pero siempre las acciones son con las manos?; nunca sucede con otros objetos "fríos" (por mencionar un lápiz ó una barra plástica) ?

Disculpen si le estoy errando mucho a la idea que están trabajando, pero quería dejarles ésa posibilidad.(a pesar de no poder ver los videos)

Éxitos con el proyecto ! Lo voy a seguir de cerca, me gusta mucho la idea.
Saludos a todos !

Mario
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 16 de Febrero de 2008, 12:48:23
Si esto es cierto (extraido de http://www.merl.com/reports/docs/TR2003-35.pdf), la idea de marioguillote puede ser un éxito... habrá que probarlo (mañana intentaré montar algo básico para empezar a hacer pruebas). Asimismo, convendría usar LED de baja longitud de onda, es decir, de alta frecuencia (azules o similares), pues son los más influenciables por la luz visible:


Citar
The LED is a photodiode that is sensitive to light at and above the wavelength
at which it emits (barring any filtering effects of a colored plastic package).
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 16 de Febrero de 2008, 13:32:34
¿Qué es eso de "las emisiones infrarrojas de los dedos"?  :shock:
Título: Re: Matriz de LED como sensor táctil
Publicado por: Leon Pic en 16 de Febrero de 2008, 14:26:21
Lo que se refiere Mario, es a la luz emitida de un LED infrarrojo que rebota en un dedo y vuelve a la fuente de donde salió.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 16 de Febrero de 2008, 14:39:09
Yo entendí que Mario se refería a la radiación infrarroja que emiten los cuerpos vivos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Leon Pic en 16 de Febrero de 2008, 14:42:57
¡Ah!, también. Para no confundir sería la radiación térmica (aunque es la misma).
Título: Re: Matriz de LED como sensor táctil
Publicado por: Cryn en 16 de Febrero de 2008, 14:51:19
muy interesante este tema :mrgreen:

lo seguiré con los ojos bien abiertos :shock:

 :mrgreen:
Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 16 de Febrero de 2008, 19:01:46
Si, creo que a lo que se refiere Mario es a la radiación térmica que emitiría el dedo, el tema es, que si ponemos LED's infrarrojos no podemos hacer efectos de iluminación con la matriz, seria solo para detección. O estoy errado?
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 16 de Febrero de 2008, 19:05:22
Aparentemente, TODOS los LEDs, en mayor o menor medida, reaccionan a la radiacion termica, independientemente de que sean o no infrarrojos....¿Es asi, Mario?

Saludos!
Título: Re: Matriz de LED como sensor táctil
Publicado por: flacoclau en 16 de Febrero de 2008, 19:42:59
Hola gente tengo otra idea....
¿se podrían utilizar los leds bicolores? y dentro del mismo led ¿utilizar un color como emisor y otro como emisor?
esto creo tendría que hacerce con una fuentecita partida o un divisor resistivo...
Título: Re: Matriz de LED como sensor táctil
Publicado por: Marioguillote en 16 de Febrero de 2008, 19:58:13
Yo entendí que Mario se refería a la radiación infrarroja que emiten los cuerpos vivos.

Exacto !
Sucede que no es luz visible para el ojo humano pero "tal vez", alguno de los leds que emitan colores normales (rojo, verde, azul, blanco, etc) puedan llegar a detectar ésa rediación.

A las cámaras comunes de fotos ó las webcams, los que reparamos TV, las venimos usando hace años para controlar la correcta emisión de los infrarojos de los controles remotos. Nosotros no vemos éso, pero otros semiconductores sí.
Por lo tanto, que nosotros no veamos la radiación infraroja que emite cualquier ser vivo de sangre caliente, no significa que otros sistemas no lo vean.
Basta con pensar en los binoculares para visión nocturna.

Aparentemente, TODOS los LEDs, en mayor o menor medida, reaccionan a la radiacion termica, independientemente de que sean o no infrarrojos....¿Es asi, Mario?

Tal vez no todos de igual manera, pero sería cuestión de experimentar a ver cuál es el que mejor lo hace.

Si, creo que a lo que se refiere Mario es a la radiación térmica que emitiría el dedo, el tema es, que si ponemos LED's infrarrojos no podemos hacer efectos de iluminación con la matriz, seria solo para detección. O estoy errado?

Usando leds de cualquier color decía yo.
Imaginemos ésto:
por más que un led emita luz color verde, reaccionará al recibir luz azul ó roja ...
Entonces de igual manera, si emite luz de color, puede percibir radiaciones de menor longitud de onda, pero el gran hallazgo sería encontrar cuáles son los más apropiados para ésta función.

Espero se haya entendido mejor.

Saludos !
Mario
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 17 de Febrero de 2008, 12:00:34
Observaciones de los primeros ensayos:

1. Olvídense de usar el osciloscopio. La carga del diodo debe ser tan pequeña que se ve muy afectada por la conexión del osciloscopio, proporcionando medidas irreales.

2. Los LEDs rojos son los menos sensibles (sólo parecen excitarse un poco incidiendo directamente sobre ellos con un puntero laser). Los LEDs verdes responden muy bien. Los LEDs rojos de alta luminosidad responden extra bien. No tengo LEDs de más colores.

3. O soy un animal de sangre fría o ninguno de los 3 leds es capaz de detectar la radiación infrarroja. Antes de que se me adelanten: sí, ya le he pedido a mi mujer que me caliente un poco, pero no se presta a ello por temor a los efectos secundarios  :mrgreen:.

Saludos y buen finde finde a todos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 17 de Febrero de 2008, 18:18:46
Estos señores (http://natebu.wordpress.com/) hacen algo parecido pero usando 3 diodos en cada punto (uno verde, uno infrarrojo y un foto-transistor).

Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 18 de Febrero de 2008, 17:06:22
Observaciones de los segundos ensayos:

1. Olvídense también del polímetro; también interfiere con el comportamiento del sistema. Hay que trabajar por intuición teórica.

2. Definitivamente utilizaré LEDs rojos de alta luminosidad, pues son los más sensibles, aunque también los que más se ven afectados por la luz ambiente.

3. El sistema requiere dos modos de funcionamiento: en condiciones de baja iluminación ambiental se detecta la reflexión de los LEDs adyacentes sobre el dedo; en condiciones de alta iluminación ambiental se detecta la ocultación de la luz ambiente al situar el dedo sobre el LED (en este caso los LEDs adyacentes no pintan nada). Cabe esperar un tercer modo de no-funcionamiento, en el que al colocar el dedo sobre el sensor la ocultación de la luz ambiente sea compensada por la reflexión de los LEDs adyacentes, y no se pueda detectar la presencia del dedo. Esperemos que esta franja sea lo más estrecha posible (la solución será desactivar los LEDs adyacentes si la iluminación ambiental está en esta franja).

4. Empiezo a sospechar que la matriz que se ve en el vídeo original (
) no es una matriz comercial, sino una matriz fabricada ad-hoc para este uso, pues no veo la forma de hacer funcionar el sistema mediante multiplexión... aunque sigo dándole vueltas.

(http://cs.nyu.edu/~jhan/ledtouch.jpg)
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 18 de Febrero de 2008, 18:33:20
Citar
4. Empiezo a sospechar que la matriz que se ve en el vídeo original no es una matriz comercial, sino una matriz fabricada ad-hoc para este uso, pues no veo la forma de hacer funcionar el sistema mediante multiplexión... aunque sigo dándole vueltas.

Me he perdido! ¿Cual es la pega de que sea una matriz comercial? Si no me equivoco (solo he usado un par de modelos) se puede tener acceso a cualquier led individual en esas matrices...  :z)

¿El problema surge al querer leer uno mientras se iluminan otros? (ahi si me parece que la cosa se va al demonio....)   :8}
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 19 de Febrero de 2008, 04:36:31
No, el problema de las matrices de LED que yo conozco es que hay que multiplexarlas por filas o por columnas, teniendo sólo una iluminada en cada instante. Por ejemplo, no puedes iluminar una columna completa y, a la vez, sólo algunos LED de otra columna. ¿Cuántos pines tienen tu matrices aitopes?
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 19 de Febrero de 2008, 08:28:44
Perfecto! Es a lo que me referia al final del post. Mientras solo necesites un LED encendido todo marcha bien, pero cuando quieres mas de uno, en la mayoria de los casos no puedes (las exepciones se dan con leds de la misma fila o columna, o los que forman los vertices de un rectangulo, si no me equivoco).

Yo he usado los que tienen 14 pines, de 5x7, donde realmente se necesitan 12, pero hay dos pines (4 y 11, 5 y 12 si la memoria no me falla) que cumplen la misma funcion.

De todos modos, y dado el relativamente pequeño tamaño de la matriz que tenemos en mente, no seria demasiado grave tener que construirla....de hecho, ya lo has hecho con el PIC-Tengu! :)

Saludos!
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 21 de Febrero de 2008, 14:01:02
Observaciones/elucubraciones de los terceros ensayos:

1. Se necesitan LEDs que tengan un ángulo de visión amplio. Los que yo tengo son muy direccionales, de modo que al acercar mucho el dedo al LED, apenas se refleja luz sobre el LED receptor. Por ejemplo, situando el dedo en A se refleja más luz sobre el LED sensor que colocádolo en B, detectando el sistema que el dedo está más cerca en A que en B, cuando en realidad no es así.
(http://img301.imageshack.us/img301/6726/ledangulojb5.jpg) (http://imageshack.us)


2. Me encontré otro documento interesante http://portal.acm.org/citation.cfm?doid=1029632.1029681 (hay que registrarse gratuitamente para poder descargarlo), que contiene la siguiente figura, e incluso código fuente. La explicación que dan en este texto de la gráfica de la derecha me ha resultado un poco vaga (si alguien tiene interés y se toma la molestia de leerlo me gustaría intercambiar opiniones...)
(http://img153.imageshack.us/img153/1397/matrizledqt6.th.jpg) (http://img153.imageshack.us/my.php?image=matrizledqt6.jpg)
Lo curioso es que muestran el código de un ejemplo simplificado pero no el del proyecto completo (se limitan a decir que es similar). ¡Qué sospechoso! No soy un experto, pero si iluminan los 4 leds de las esquinas en una matriz multiplexada como la que muestran en el esquema es imposible que el cátodo del LED central configurado como entrada llegue a registrar un estado low (estando su ánodo conectado a tierra), pues su tensión nunca bajará de 3,7V, ya que los LEDs de su misma fila tienen el ánodo puesto a +5V.

3. También me parece sospechosa la poca sensibilidad que tienen ciertas filas de la matriz que les presenté originalmente. Fíjense en este fotograma extraído del vídeo.

(http://img153.imageshack.us/img153/3192/pocasensibilidadvw5.th.jpg) (http://img153.imageshack.us/my.php?image=pocasensibilidadvw5.jpg)

Quizás vea fantasmas donde no los hay, pero me da que hay algo "fishy in the air". En otras palabras, que estas matrices usan algún truco para la multiplexión.
Título: Re: Matriz de LED como sensor táctil
Publicado por: J1M en 21 de Febrero de 2008, 15:17:02
Y encender y comprobar solo un led y no hacer multiplexaciones (para encender varios de una tacada)??? La frecuencia del conjunto deberá ser muy alta pero... será por DsPics??
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 21 de Febrero de 2008, 15:22:45
No entiendo j1m ¿te refieres a acceder a cada led por separado, consumiendo 2 pines del ucontrolador para cada LED?
Título: Re: Matriz de LED como sensor táctil
Publicado por: J1M en 21 de Febrero de 2008, 16:18:50
Puede ser que mi torta mental haya interpretado mal el problema. La cosa está en que en una matriz no se pueden encender y medir varios a la vez no? o al menos eso he pensado que se refería Ariel. Entonces digo, si solo se puede encender y después medir uno a cada vez, no sería posible hacer un multiplexado de los leds d tal forma que con unos pocos bits puedas seleccionar el que deseas encender y por lo tanto medir?

Por otro lado JuanFe, veo que vas a utilizar el led contiguo para medir el pulso, no se comentó unos post más atrás que eso se podía hacer con el mismo que está encendido? lógicamente no en el mismo momento, pero sí instantáneamente después. No se si ahora me he explicado mejor, posiblemente esté más perdido que carracuca! jejeje
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 23 de Febrero de 2008, 11:21:36
El informe del 4º ensayo se lo dejo en vídeo para que resulte más ameno y gráfico.

Como la explicación me quedó un poco larga (8 minutos), les dejo el resultado (40 segundos):

y la explicación completa para los más interesados:
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 23 de Febrero de 2008, 12:22:20
Hola amigo!
Excelente trabajo.

Realmente muy bueno, y estupenda la aplicacion 3D para el PC.  :mrgreen:

Has conectado directamente los LEDs al PIC, verdad? O ya has resuelto como implementar el "famoso driver bidireccional" que nos tuvo ocupados divagando la semana pasada?

El experimento es un exito, tiene muy buena respuesta! Parece mentira que estes usando un led. Casi casi que ya funciona como un medidor de distancias. :)

Saludos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Diego Gonzalez en 23 de Febrero de 2008, 12:53:27
Hola Jfmateos;

Felicidades por los avances tan rapidos

Una explicacion muy buena y clara. Gracias por mostrarlo

saludos
Título: Re: Matriz de LED como sensor táctil
Publicado por: El_Guitre en 23 de Febrero de 2008, 13:05:37
Excelente trabajo jfmateos, felicitaciones por tus avances, gracias por compartir con nosotros tus logros.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Cryn en 23 de Febrero de 2008, 14:44:43
 :shock: :shock: wow magnifico trabajo Juanfe, felicidades!! :-/ :-/
Título: Re: Matriz de LED como sensor táctil
Publicado por: J1M en 23 de Febrero de 2008, 16:41:37
Una explicación y ejemplo genial! :) Enhorabuena, me ha quedado la cosa bastante más clara :D
Título: Re: Matriz de LED como sensor táctil
Publicado por: jim_17 en 23 de Febrero de 2008, 16:44:46
La verdad, muy buena la explicación ;), me impresiona mucho los avances que has echo con este asunto, espero que continues sorprendiendonos con cosas nuevas :D.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 24 de Febrero de 2008, 03:36:58
Te ha quedado de cine, maestro Juanfe. Realmente una imagen vale más que mil palabras, pero un vídeo comentado por ti, supera el millón de palabras.
Gracias
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 24 de Febrero de 2008, 10:55:57
Una explicación más técnica de este fenómeno: http://www.iop.org/EJ/article/1742-6596/76/1/012054/jpconf7_76_012054.pdf?request-id=IqONe9Ti3BGzZFrC2wi7Kg

Y este otro documento también promete, pero no parece que sea de acceso libre. Probaré a encontrarlo en alguna biblioteca universitaria.

A novel tactile sensor using a matrix of LEDs operating in both photoemitter and photodetector modes
Rossiter, J.; Mukai, T.
Sensors, 2005 IEEE
Volume , Issue , 30 Oct.-3 Nov. 2005 Page(s): 4 pp. -
Digital Object Identifier   10.1109/ICSENS.2005.1597869
Título: Re: Matriz de LED como sensor táctil
Publicado por: ESTECA55 en 24 de Febrero de 2008, 11:54:36
Excelente la explicación! la verdad que son muy buenos tus videos, sigue así!

Saludos
Título: Re: Matriz de LED como sensor táctil
Publicado por: Leon Pic en 24 de Febrero de 2008, 21:00:45
Exelente explicación. La verdad que los 8 minutos del video, se me hisieron 2 minutos. Muy bien explicado.
Título: Re: Matriz de LED como sensor táctil
Publicado por: cerebro en 24 de Febrero de 2008, 21:56:45
uno de los mejores videos explicativos que he visto! parecia un fenomeno complicado pero ahora parece accesible..... gracias  :-/
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 03 de Marzo de 2008, 16:47:15
He aqui una linda aplicacion de un sensor de este tipo:

Fentix Cube: El cubo de juegos 3D (http://www.neoteo.com/tabid/54/ID/5424/Title/Fentix_Cube__El_cubo_de_juegos_3D/Default.aspx)

(http://www.neoteo.com/Portals/0/neoteo/cache_imagenes/10117fullx200y200.jpg)(http://www.andrewfentem.com/fentixcube01%20sml.JPG)

Este cubo creado por un diseñador británico es sensible a múltiples tactos y al movimiento, en base a esto puede desde emular un cubo Rubik hasta proponer otros juegos o acertijos mas complejos.


http://www.andrewfentem.com/
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 03 de Marzo de 2008, 18:51:36
¡Qué chulada, tío!

¿Por dónde se meterán las pilas?
Título: Re: Matriz de LED como sensor táctil
Publicado por: J1M en 03 de Marzo de 2008, 21:42:15
Me ha encantado ese cubo de rubik! :D

Me he encontrado este proyectillo, quizá os interese ;)
http://pcb-dev.com/showsite.php?open=f3c1975f2de773229d236241546dac48
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 03 de Marzo de 2008, 22:23:18
¡Qué chulada, tío!

¿Por dónde se meterán las pilas?
Lo mismo me pregunte yo...Ademas, deben durar bien poco: multiplexados y todo, son 36 leds por cara...
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 04 de Marzo de 2008, 07:26:49
En el enlace que puso aitopes ¿no les parece que lleva un dedal en el dedo que utiliza para hacer los desplazamientos? ¿Qué será, un simple reflector o quizás un imán? Según mis ensayos con LEDs RGB (son los que tienen peor respuesta de los que he probado), la resolución máxima es 1 bit, es decir, sólo puedes detectar si el dedo está encima o no, pero no la distancia. Esto también impide descontar la iluminación exterior, por lo que el sistema es muy dependiente de ésta.

El enlace de J1M es muy interesante, y coincide en la solución que yo he encontrando y en la sospecha de que no eran matrices LEDs comerciales, sino fabricadas ad hoc. No obstante, también he encontrado la forma de hacerlo con matrices comerciales, aunque con menos resolución (1 o 2 bits a lo sumo).

Dentro de un mes les cuento.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 07 de Marzo de 2008, 05:04:59
Conversando con otro español (drain) en el foro linear1 (http://forums.linear1.org/index.php/topic,445.msg8237.html#msg8237) me ha mostrado una aplicación útil que podría tener esta tecnología.


Aquí tienen la página de este producto http://www.lutron.com/CMS400/page.aspx?id=7843&mn=157

Quizás a alguien del foro con experiencia en dimmers le entre un cosquilleo por el cuerpo...
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 07 de Marzo de 2008, 07:44:28
Que bonito!
Pinta como mucho mas sencillo que controlar una matriz, (aunque sigue siendo una de 1xN) y con una aplicacion practica inmediata.

Junto a un potenciometro digital seria un reemplazo de cualquier control deslizable....que bueno! :)

Saludos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 07 de Marzo de 2008, 08:22:17
Sí, sí, cosquilleo, pero me sigo quedando con el mando de la tele  :D
Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 07 de Marzo de 2008, 08:24:28
En realidad, para sentir un "cosquilleo" hay que subtituir los LEDs por chapitas, y los 5V por 220V. No falla!  :D :D
Título: Re: Matriz de LED como sensor táctil
Publicado por: Cryn en 07 de Marzo de 2008, 15:02:12
que lindas aplicaciones! que colores :mrgreen:

muy buenas :-/ :-/
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 09 de Marzo de 2008, 15:19:11
Más alimento para el cerebro: http://www.iop.org/EJ/article/0967-3334/28/6/N01/pm7_6_n01.pdf?request-id=CAMyyPvt3BGeegEB3Ai7Kg

En este documento exponen cómo podría utilizarse esta tecnología para medir el pulso cardiaco e incluso la saturación de oxígeno en sangre arterial. A-LU-CI-NAN-TE
Título: Re: Matriz de LED como sensor táctil
Publicado por: J1M en 10 de Marzo de 2008, 04:20:23
Juanfe más que un como podría, es como puede... pq en el hospital de mi ciudad lo están haciendo... la verdad que el día que lo ví me quedé asombrado... como con un led podían medir estos dos datos... la enfermera me miraba raro cuando le hacía preguntas sobre la maquinita! jajajja
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 10 de Marzo de 2008, 04:21:44
Yo también lo he visto y hasta me lo han puesto en el dedo. Lo que pasa es que no me imaginaba que sólo hubiera leds, siempre creí que dentro había algún fototransistor.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 10 de Marzo de 2008, 04:29:02
Seguramente los que habéis visto son con un LED y un fototransistor (para medir) las pulsaciones, o con dos leds y un fototransistor para medir la saturación de O2. El informe que os comento es de Mayo de 2007 y no sé si habrá dado tiempo a llevar la idea de usar 2 LEDs a la práctica ya.
Título: Re: Matriz de LED como sensor táctil
Publicado por: cerebro en 11 de Marzo de 2008, 11:08:33
oximetros de pulsos se llaman los aparatos de los que estan hablando. saludos
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 27 de Marzo de 2008, 14:11:24
Necesito LEDs con el cono de radiación más ancho posible y con la luminosidad más alta posible... ¿alguien puede ayudarme?

Si quieres saber por qué, sigue leyendo...

Como recordarán, uno de los problemas del último ensayo era que la gran direccionalidad de los LEDS (cono muy estrecho) provocaba que, al acercar demasiado el dedo al LED sensor, incidiese sobre éste menos luz reflejada que colocando el dedo más alejado.

La solución sería utilizar LEDs con un cono más ancho, por lo que compré éstos (http://cgi.ebay.com/50x-Red-5mm-Wide-angle-Flat-Top-LED-Free-Resistors_W0QQitemZ300051632308QQihZ020QQcategoryZ66953QQcmdZViewItemQQ_trksidZp1742.m153.l1262).

Tras casi un mes, los recibí hoy, los probé y me decepcioné... tienen efectivamente un cono muy ancho de modo que no se produce el efecto adverso anterior, pero su luminosidad es baja, de modo que el sistema pierde sensibilidad...

Por cierto, ¿se acuerdan del vídeo con el que empecé este hilo? La matriz de leds sensible desarrollada por Jeff Han. Pues vean a qué se dedica ahora este señor:

No es una dirección de youtube válida
Título: Re: Matriz de LED como sensor táctil
Publicado por: Leon Pic en 27 de Marzo de 2008, 14:29:17
Un capo.  :-/ :-/
Título: Re: Matriz de LED como sensor táctil
Publicado por: andros en 30 de Marzo de 2008, 18:31:23
Según tengo entendido, Jeff Han ayudó a Apple a desarrollar el Iphone....., también a Microsoft en el desarrollo del Surface, tiene una empresa llamada Perceptive Pixel y actualmente está podrido en el dinero, jajajaja!!!!!!

Saludos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 30 de Marzo de 2008, 19:05:39
Citar
y actualmente está podrido en el dinero, jajajaja

Debe ser por eso que no contesta a mis mensajes...
Título: Re: Matriz de LED como sensor táctil
Publicado por: picNIC en 31 de Marzo de 2008, 22:58:41
muy interesante de desarrollar y jugar largo tiempo con el cubik :mrgreen:
o ponerse un bar.. que es mas interesante...

vendra con con las botellas de Vodka???
Título: Re: Matriz de LED como sensor táctil
Publicado por: Eyedol en 06 de Abril de 2008, 22:04:15
Saludos amigos hoy logre usar un LED SMD doble RED/YELLOW como sensor tactil. utilice un pic16f88 pero sin puerto analogico solo para detectar la presencia o no de luz. Lo que hago es mantener el led amarillo encendido y el rojo alimentado inversamente con el pic. luego cuenta mientras en led rojo tiene carga y si es mayo a 36 pues modula el pulso en el led verde entre dos valores. (El 36 fue determinado Experimentalmente) aqui un video de muestra:




Este es el led que utilice:
(http://www.simplebucket.com/p/mdexody.jpg)

y este es mi CODIGO:

Duty var byte
i var byte
Pw var portb.0
Lds var portb.2
Lde var portb.3
cont var byte
T2CON.2 = 1
CCP1CON = %00001100

output pw
output lds
duty = 127
hpwm 1,duty,1000
for i = 1 to 5 step 1
duty = duty - 20
hpwm 1,duty,1000
high lds
pause 500
low lds
pause 500
next i

high lds

Lazo:
gosub medir
hpwm 1,duty,1000
goto lazo


medir:
output lde
high lde
pauseus 100
low lde
input lde
cont = 0
while lde = 1
cont = cont + 1
wend 

if cont > 36 then
duty = 255
else
duty = 10
endif
return
end
Título: Re: Matriz de LED como sensor táctil
Publicado por: Leon Pic en 06 de Abril de 2008, 22:08:15
Muy bien echo Eyedol. Felicidades.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 07 de Abril de 2008, 02:31:39
Hola eyedol. Estaría bien si pudieses utilizar un pic con ADC para comprobar qué tal se comporta ese tipo de LED como sensor con varios niveles de resolución.

Yo he comprado varios tipos de LEDs por ebay y estoy a la espera de que me lleguen para seguir haciendo pruebas, pero de ese tipo no se me ha ocurrido encargar.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Eyedol en 07 de Abril de 2008, 18:27:08
Ok jfmateos2. Lo intentare la forma que he utilizado para medir ha sido PWM a la salida con un led. Aun no se implementar usb. pero con PWM creo que se puede apreciar ya que lo veo en un osciloscopio. Tu quieres ver Si estos leds Tienen buena resolucion midiendo Proximidad cierto? ...... Aparte te cuento que como a ti el led que utilice como condensador fue el rojo porque si se hace con el amarillo casi no se aprecian cambios. Mientras que con el rojo pude ver en el osciloscopio los cambios en la curva de descarga del led rojo (aunque tambien pequeños).
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 08 de Abril de 2008, 02:36:41
Hola Eyedol. Sí mi esfuerzo actualmente va encaminado a buscar el LED que me mejor se comporte como sensor.

Respecto al USB, si usas CCS C, está muy fácil, gracias a las explicaciones de RedPIC (http://picmania.garcia-cuervo.com/USB_2_HIDTransfers.htm).

Respecto al osciloscopio, no te fíes. Si lo conectas estará afectando tremendamente al circuito. Date cuenta de que la carga acumulada en el LED es sólo de unos pocos pF.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Marttyn en 07 de Mayo de 2008, 22:20:32
para que complicarse con un monton de leds, pics, codigo...
mirad como se puede hacer un sensor multitactil MUY facil y por MUY poco dinero.
yo me lo haria... pero la verdad andar con una caja al lado del pc no debe ser comodo  :D
ademas ya tengo mi iphone que hace lo mismo  :mrgreen:
http://www.instructables.com/id/How-to-Make-a-Cheap-Multitouch-Pad/

salu2
Título: Re: Matriz de LED como sensor táctil
Publicado por: Cryn en 07 de Mayo de 2008, 23:37:05
no esta nada mal, muy interesante
Título: Re: Matriz de LED como sensor táctil
Publicado por: manex_1987 en 08 de Mayo de 2008, 04:36:28
El problema es la interfaz al PIC....  :lol:
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 16 de Mayo de 2008, 06:54:09
Aunque no está directamente relacionado con el tema:

En este documento (http://www.jstage.jst.go.jp/article/jlve/31/2/65/_pdf) explican que cada vez más se tiende a utilizar LEDs para iluminación en entornos domésticos, y que con estos LEDs es posible transmitir información musical sin que se perciba el parpadeo (adiós a los cables, adiós a las interferencias, ...)
Título: Re: Matriz de LED como sensor táctil
Publicado por: stk500 en 16 de Mayo de 2008, 07:17:45
Juanfe con 2 ZigBee eso es se puede hacer , asi se ahorra una Empaguetadas de Cables.
 :lol:
lo bellos que seria una Pista o Ecenario con estos Led Sensores !

Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 16 de Mayo de 2008, 11:01:53
Más información mientras acaban de llegarme los LEDs (estoy ya que me como las uñas; tengo ganas de probar el resultado de estas investigaciones):

Estos chicos (http://ltc.cit.cornell.edu/courses/ee476/FinalProjects/s2006/bcr6/final_report/index.html) aplicaron directamente las instrucciones de Mitsubishi para establecer comunicación entre leds utilizando el protocolo wiegang (me suena que hay un artículo sobre este protocolo de RedPIC en algún número de la revista ucontrol).

Este señor cuenta en su vídeo cómo logro comunicar 0 y 1´s a través de LEDs mediante Arduino:

Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 16 de Mayo de 2008, 16:11:19
Aunque no está directamente relacionado con el tema:

En este documento (http://www.jstage.jst.go.jp/article/jlve/31/2/65/_pdf) explican que cada vez más se tiende a utilizar LEDs para iluminación en entornos domésticos, y que con estos LEDs es posible transmitir información musical sin que se perciba el parpadeo (adiós a los cables, adiós a las interferencias, ...)
Hace unos meses estuve en unas charlas en el Esade de Barcelona y los auriculares de traducción simultánea recibían la información mediante leds infrarrojos. Había unos focos en el techo llenos de estos leds, de hecho sólo se veían iluminados con la cámara del móvil, y cuando ponías la mano entre los auriculares y los focos dejabas de oir el audio.
Pero estaba muy bien hecho, porque había varios distribuidos de manera que prácticamente desde cualquier posición había visibilidad hacia uno de ellos.
Muy chulo el sistema, sí.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 18 de Mayo de 2008, 16:55:01
Sigo con los ensayos y hoy he obtenido un resultado inesperado:

Resulta que he colocado un cristal sobre la matriz y automáticamente lo ha detectado como si tuviera el dedo encima. Estará sucio, he pensado, y reflejará parte de la luz. He limpiado el cristal a conciencia y nuevamente el mismo resultado. A simple vista toda la luz emitida por los LEDs atraviesa el cristal, pero no debe ser así, pues el LED sensor detecta una fuerte reflexión.

¿No será que algunas longitudes de onda no atraviesan el cristal y se reflejan en él? ¿no será que son precisamente esas longitudes de onda (y no la luz roja visible) la que más afectan al LED como sensor?

¿Cómo narices puedo saber qué longitudes de onda no atraviesan el cristal?

Título: Re: Matriz de LED como sensor táctil
Publicado por: aitopes en 19 de Mayo de 2008, 20:03:43
Hola!

Citar
¿Cómo narices puedo saber qué longitudes de onda no atraviesan el cristal?

Asi, rapidamente, se me ocurre usar un prisma. El prisma descompone la luz en los colores visibles, como el arco iris. Pero a ambos extremos, aunque no lo veamos, estan las frecuencias infrarrojas y ultravioletas (cercanas al espectro visible, claro, pero son las que nos interesan).

Acercando el led "sensor" a cada zona de la luz descompuesta por el prisma, podrias deducir algo.

Por supuesto, mecanicamente no va a ser facil...por lo pronto, yo no sabria ni por donde empezar a buscar un prisma! :)

Es solo una idea loca, por que no se si hay instrumentos capaz de medir frecuencias tan altas... ;)
Título: Re: Matriz de LED como sensor táctil
Publicado por: cerebro en 20 de Mayo de 2008, 13:44:54
hola amigo fjmateos no son monocromaticos los leds que estas utilizando?...
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 20 de Mayo de 2008, 15:24:12
Sí son led rojos, que tienen una frecuencia pico en el rango del rojo, pero imagino que también emiten en otras frecuencias, y que precisamente pueden ser éstas, las que al reflejarse en el cristal, más afectan al LED cuando actúa como sensor.

De todas formas, todo esto son conjeturas.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Marttyn en 20 de Mayo de 2008, 15:49:24
tal vez lo que diga sea una tonteria...
pero hace un tiempo desmonte (y rompi  :() unos cuantos lasers verdes. estos tienen un diodo laser que emite luz infraroja, esa luz infraroja pasa atraves de un cristal que la polariza (es lo que convierte la luz en verde) y luego a travez de unas lentes para enfocar el haz. si el laser es de una minima calidad, tambien tiene un filtro infrarojo.
con esto quiero decir:
-¿tal vez un cristal transparente consiga polarizar parte de la luz roja y convertirla a otra longitud de onda?
-el filtro infrarojo es porque, aunque la luz salga verde, hay fugas de luz infraroja. que es perjudicial para la vista en tales cantidades. un led probablemente tambien emita luz infraroja, pero en tan bajas cantidades que no sea necesario un filtro. con lo cual, es posible que tu led emita otras frecuencias y esas sean las que detecta.

PS: ahora que recuerdo, para medir la potencia de un laser VERDE se podia poner un ¿amperimetro/voltimetro? en los terminales de un led VERDE (no los transparentes, sino los de toda la vida) y segun la lectura podias calcular su potencia. de esto deduzco que un led probablemente sea mas sensible a la luz del color que es ese led.
PS2: acabo de soltar UN MONTON de tonterias... NUNCA estudie nada de esto, por lo que seguramente haya MUCHOS errores. sepan disculpar, pero tal vez de entre todo esto que digo haya algo interesante.

salu2
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 20 de Mayo de 2008, 15:54:02
Marttyn, yo tampoco he estudiado óptica, pero estoy dispuesto a escuchar todas las opiniones. Muchas veces es más bonito descubrir las cosas por uno mismo que aprenderlas en un libro.

Juego a aplicar el método científico de Newton.
Título: Re: Matriz de LED como sensor táctil
Publicado por: cerebro en 21 de Mayo de 2008, 22:52:30
hola.......  no se como es la emision de los leds pero confio en que ya la has super investigado...... Otra teoria que no se si contartela la encontre cuando hice un practico de efecto tunel en la facu... bien el practico consistia basicamente en hacer insidir una luz  (laser) monocromatico en un prisma, el laser atravezaba el prisma y habia una distancia de aire hasta otro prisma ubicado cerca, dependiendo de la distancia entre estos prismas se podia observar el efecto tunel y atravezar los fotones la barrera de mayor potencial (esa era la teoria que planteaba el profesor). Era simple si veiamos luz ocurria el efecto. No muy convencido de esto me puse a investigar y encontre una teoria de ondas evanecentes (si no recuerdo mal.... establecia una relacion de una luz incidente y de los efectos que se producian en la superficie.....aunque del libro que lei no estaba muy comprobado)..... no se puede que te ayude de algo esta teoria....o puede retrazar tu investigacion cosa que seria terrible...... espero ayudar saludos :-/
Título: Re: Matriz de LED como sensor táctil
Publicado por: stk500 en 22 de Mayo de 2008, 04:12:41
Juanfe quizas te ayude este link http://projects.dimension-x.net/technology-and-projects/ledsensors
espero te sirva de ayudas.
Saludo
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 30 de Agosto de 2008, 07:33:14
Como últimamente he recibido varios mensajes interesándose sobre este asunto, voy a desvelar aquí cuáles son mis intenciones, pues aunque me gusta reservar las sorpresas para el final, no estoy seguro de cuánto puede tardar en llegar ese final, ni siquiera de si llegará...

He conseguido crear una matriz de leds 3x3 que actúa con bastante precisión como sensor táctil. En principio, parece que con un pic podría controlarse sin problemas una matriz de 10x10.

Mi proyecto/sueño sería crear varias matrices de 10x10 independientes, como en el tiletoy (publiqué información en http://www.todopic.com.ar/foros/index.php?topic=21690.0) que sirvieran, por ejemplo, para plantear juegos aritméticos a niños. Por ejemplo, con 5 matrices podría implementarse un juego en el que se propusiesen operaciones (como 2+5=) y el chaval tuviera que escribir el resultado en la última matriz con su dedo. Entra aquí en juego el reconocimiento óptico de caracteres...

(http://img296.imageshack.us/img296/1525/tiletoyrv2.th.jpg) (http://img296.imageshack.us/my.php?image=tiletoyrv2.jpg)

Lo que no tengo muy claro es cómo realizar la comunicación entre las distintas matrices... en el tiletoy usan radio frecuencia y requiere un PC, pero yo preferiría implementar la comunicación también mediante LEDs.

La comunicación por radio-frecuencia tiene la ventaja de que las matrices pueden comunicarse desde cualquier posición, independientemente de que estén en contacto o no. Los autores del tiletoy usaron sensores magnéticos reed para saber si las matrices estaban en contacto.

Yo sólo quiero que se comuniquen las matrices que estén en contacto, pero no quiero complicar la cosa con sensores reed y la comunicación por luz podría dar falsos positivos. Por eso estoy ideando un sistema basado en dos leds con cierta inclinación, que sólo permita la comunicación si las matrices están realmente en contacto...

En fin, todo esto son proyectos muy muy futuros, pero prefiero que nadie se haga falsas espectativas...

Saludos y seguiré informando (cuando pueda, si puedo)...
Título: Re: Matriz de LED como sensor táctil
Publicado por: RALF2 en 02 de Septiembre de 2008, 22:24:18
Que tal amigos!
Hasta ahora es que leo algo de este tema tan interesante he ingenioso, como es utilizar un simple led como sensor  :mrgreen:
Bueno quiero darle agradecimientos al amigo manolo, por su respuesta #7, al comienzo de todo esto, el enlace que puso me ilumino el camino  :mrgreen:

Tome el esquema que el amigo coloca, luego modifique el programa haciendo lo siguiente:
polarizo el led en inverso, luego el pin que alimenta el led lo pongo como entrada y por ultimo leo el valor del voltaje almacenado en el led con el adc del pic  :mrgreen:
Lo probe con un led rojo vulgar y silvestre  :D  y me funciono de maravilla!

Al amigo jfmateos le agradezco por ese tremendo video que grabo en youtube, ya que, gracias a el me levanto la curiosidad de nuevo y todos los demas por sus comentarios que me sirvieron de mucho.

Saludos
Título: Re: Matriz de LED como sensor táctil
Publicado por: gera en 02 de Septiembre de 2008, 23:26:56
Mi proyecto/sueño sería crear varias matrices de 10x10 independientes, como en el tiletoy (publiqué información en http://www.todopic.com.ar/foros/index.php?topic=21690.0) que sirvieran, por ejemplo, para plantear juegos aritméticos a niños. Por ejemplo, con 5 matrices podría implementarse un juego en el que se propusiesen operaciones (como 2+5=) y el chaval tuviera que escribir el resultado en la última matriz con su dedo. Entra aquí en juego el reconocimiento óptico de caracteres...

esta un poco dificil el tema de poder escribir con el dedo en la matriz, ya q tienen q estar todos los leds encendidos para q cense. Salvo q lo q se haga sea ir apagandolos, y quedaria el numero en negativo.
saludos!
Título: Re: Matriz de LED como sensor táctil
Publicado por: RALF2 en 02 de Septiembre de 2008, 23:40:49
Que tal gera!
Con respecto a mi post anterior estaba en un error  :shock:
Cuando monte el circuito se me olvido conectar el cablecito de la salida del pin del pic al catodo del led, quedando de esta manera solo el catodo del led conectada a la entrada del adc y el anodo a tierra, sin ninguna polarizacion  :shock: pero lo sorprendente de esto es que asi funciona fino  :mrgreen:
No entiendo el porque pero asi es!!!
Impresionante.

A se me olvidaba gera si los led estan siempre apagados y se prenden cuando le acercas la mano  :D :D

Que alguien mas lo pruebe para constatar mis resultados  :shock:
Título: Re: Matriz de LED como sensor táctil
Publicado por: RALF2 en 02 de Septiembre de 2008, 23:53:13
Y la locura continua si se conecta la entrada del adc al anodo del led y el catodo a tierra funciona tambien pero el voltaje en vez de subir, baja.

La respuesta puede estar en el propio led como tal, ya que como es un elemento construido para emitir luz cuando a este se le aplica luz emite almacena carga la cual es liberada cuando se le tapa.

Bueno esa es la mejor explicacion que puedo tener hasta los momentos.

Si alguien se sabe otra y no las cuenta, seria mucho mejor  :mrgreen:
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 03 de Septiembre de 2008, 10:35:37
Hola Gera, efectivamente mi intención es tener encendidos todos los leds de la matriz en la que el niño escribiría el resultado con el dedo, y una vez reconocida la cifra, la mostraría en esa misma matriz.

Hola RALF, los resultados que has obtenido hasta ahora son todos lógicos, pero responden a 2 fenómenos distintos del LED:

1. Un led actúa, hasta cierto punto, como un fotodiodo, de modo que si incide luz sobre él generará una tensión incluso de varios voltios. Compruébalo simplemente conectando las dos patillas de un led al polímetro (en modo voltímetro) y acercándolo a una bombilla. Por este motivo baja la tensión en tu último experimento.

2. Un led actúa, hasta cierto punto, como un condensador cuando se polariza inversamente, es decir, con el cátodo a positivo y el ánodo a tierra, siendo capaz de almacenar una carga. Esta carga es tan pequeña que su variación no puede medirse con un osciloscopio (al menos con el mío no).

La utilización del led como sensor requiere aprovechar simultáneamente estos dos factores. Primero cargamos el led (polarizándolo inversamente) y, depués, medimos la caída de tensión en el cátodo cuando incide luz sobre el led. Sin embargo, la caída de tensión puede estar provocada por 2 factores:

1. La luz ambiente. Generalmente esta luz provocará una caída de tensión "lenta". Este factor a mí no me interesa, pues la iluminación ambiente es cambiante y dificultaría el uso de la matriz como sensor, pues requeriría una calibración para cada entorno.

2. La reflexión de luz procedente de leds adyacentes. Los leds son mucho más sensibles a su propia longitud de onda que a la luz ambiente y esto provoca una descaga mucho más rápida que la del caso anterior. Éste es el factor que yo estoy usando en mis ensayos, que como se puede ver en los vídeos, está poco influenciado por la luz ambiente (funciona igual a oscuras que con luz).

Como no sé cuándo podré continuar con este asunto y porque he recibido varias peticiones, dejo aquí el programa del PIC y del PC que he utilizado en el ensayo del vídeo, por si alguien puede ir avanzando. El programa del PC no está hecho en Visual Basic, sino en un leguaje llamado Processing (http://processing.org/), que es una pequeña virguería que funciona sobre Java pero que aún se encuentra en fase beta y eso provoca que a veces te desesperen sus fallos.

Programa del PIC: http://www.villatic.org/carpetaJuanfe/LED_Sensor_PIC.rar
Programa del PC: http://www.villatic.org/carpetaJuanfe/LED_Sensor_PC.rar
Título: Re: Matriz de LED como sensor táctil
Publicado por: RALF2 en 03 de Septiembre de 2008, 10:43:30
Muchas gracias jfmateos2!
Eres grande!
Muy bueno lo del programa para la pc, estaba por pedirlo  :D

Muy buena la explicacion, asi se aprende mucho mas!

Seguire con las pruebas.

Saludos
Título: Re: Matriz de LED como sensor táctil
Publicado por: RALF2 en 03 de Septiembre de 2008, 10:51:05
Citar
1. Un led actúa, hasta cierto punto, como un fotodiodo, de modo que si incide luz sobre él generará una tensión incluso de varios voltios. Compruébalo simplemente conectando las dos patillas de un led al polímetro (en modo voltímetro) y acercándolo a una bombilla. Por este motivo baja la tensión en tu último experimento.

Increible depues de trabajar una inmensa cantidad de años con un led ahora es que vengo a saber eso  :8} :8} :8} :8} :D

Acabo de hacer la prueba y efectivamente es asi, pero amigo,  me da tension positiva y negativa cuando intercambio los terminales, increible!  :-/ :-/ :mrgreen:

Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 04 de Septiembre de 2008, 16:10:55
Estos muchachos (http://ppong.wordpress.com/category/led-display/) lo intentaron pero no lo lograron... porque utilizaron matrices estándar.

(http://ppong.files.wordpress.com/2007/10/leddisplay.jpg)

Este otro muchacho parece que lo logró (http://www.bluescreen.net.au/the-light-matrix), pero no contó cómo... aunque se ve claramente que la matriz es hecha a mano.

(http://lightmatrixinterface.com/media/prototype-1-small.jpg)(http://lightmatrixinterface.com/media/prototype-2-small.jpg)

El truco está en conectar los cátodos por filas, como en una matriz estándar, pero no todos los ánodos por columnas, sino por un lado los ánodos de las filas pares y por otro los ánodos de las filas impares. De este modo puedes colocar una fila en modo sensor y las dos adyacentes en modo iluminación.

El último truco que me guardaba en la manga es no polarizar un solo led a la inversa, sino toda la fila, con el objeto de acumular más carga en los cátodos de los leds, pero colocando después todos los ánodos de esa fila en alta impedancia excepto el del led que queramos usar como sensor, que irá conectado a tierra. De este modo disponemos de más carga que sólo podrá escapar a través de ese led, y obtendremos un mayor rango dinámico (podremos discriminar más posiciones).

Estos fueron todos mis avances en este asunto...
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 05 de Septiembre de 2008, 16:34:20
Respondiendo a una duda que me planteó RALF2 y por si a alguien más pudiera servirle...

En esta imagen:

(http://blog.makezine.com/order.jpg)

El procedimiento que intentan ilustrar es poner el led en directo (iluminando) durante 1ms, polarizarlo en inverso durante 1ms e, inmediatamente, colocar el cátodo en modo alta impedancia y empezar a leerlo con el ADC (no hay que esperar 1ms para empezar a medir). El tiempo de descarga del led es relativamente corto (muy corto si le da la luz) y si dejásemos pasar 1ms antes de empezar a leer probablemente no leyésemos ya nada.
Título: Re: Matriz de LED como sensor táctil
Publicado por: gera en 05 de Septiembre de 2008, 19:22:22
No podriamos usar otro puerto para mantener los LEDs encendidos, y leerlos multiplexando el ADC? Porq si tratamos de leer con el mismo pin que lo encendemos tendriamos ese problema...
saludos!
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 06 de Septiembre de 2008, 05:04:49
Hola gera, no entiendo muy buen tu propuesto. ¿podrías aclararla un poco más?
Título: Re: Matriz de LED como sensor táctil
Publicado por: gera en 06 de Septiembre de 2008, 11:04:46
Como no.
Si no entendi mal, el proceso q explicas arriba en la figura, consiste en encender un led, y rapidamente poner el puerto como entrada y medir la tension en sus patas. Lo q digo yo, es mantener el led encendido todo el tiempo con algun puerto del pic, y aparte, medir la variacion de la tension en los leds con el ADC.
No se si estoy razonando fuera del recipiente, pero es lo q entendi.
Saludos!
Título: Re: Matriz de LED como sensor táctil
Publicado por: cerebro en 06 de Septiembre de 2008, 12:32:15
Gera creo que necesitamos polarizar en inversa el led para utilizar la propiedad de capacitor, por eso me parece que no puede medirse asi directamente(mantener el led encendido todo el tiempo).
a ver si entendi bien el paso numero 1..... este paso se utiliza para descargar totalmente el led para una nueva carga y para la emision de luz?...
 Lo que quedaria muy vistoso que no he visto en ningun lado es cambiar el color del led que estamos utilizando a medida que acercamos el dedo......se complicara mucho? digo por el tema de la reflexion de la luz con el dedo que no es igual para todas las frecuencias. 
 Juanfe que opinas?
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 07 de Septiembre de 2008, 07:58:15
Si no entendi mal, el proceso q explicas arriba en la figura, consiste en encender un led, y rapidamente poner el puerto como entrada y medir la tension en sus patas. Lo q digo yo, es mantener el led encendido todo el tiempo con algun puerto del pic, y aparte, medir la variacion de la tension en los leds con el ADC.

Hola gera, no es exactamente así. En realidad el led no hace falta encenderlo para que funcione como sensor. Basta con polarizarlo a la inversa e, inmediatamente, empezar a leer la variación de tensión en el cátodo. Cuanto más rápido baje la tensión, más luz estará incidiendo sobre el led, es decir, más próximo estará el obstáculo en el que se refleja la luz de los leds adyacentes al que está funcionando como sensor.

Hola Cerebro: el paso 1 realmente sólo se usa para emitir luz. No es necesario descargar del todo el led (la carga es mínima y se pierde muy rápido)

Citar
Lo que quedaria muy vistoso que no he visto en ningun lado es cambiar el color del led que estamos utilizando a medida que acercamos el dedo......se complicara mucho? digo por el tema de la reflexion de la luz con el dedo que no es igual para todas las frecuencias. 
 Juanfe que opinas?

Me gusta la idea, de hecho, tenía pendiente probar con leds RGB y utilizar uno de los tonos como sensor (probablemente el rojo), y los otros dos para mostrar caracteres, imágenes o lo que sea en 3 tonos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 23 de Octubre de 2008, 09:04:05
El forero gomdryyy me ha planteado la siguiente duda en un privado, y he decidido trasladar la contestación aquí por si a alguien más le fuera de utilidad.

Citar
estimado amigo, espero te encuentres bien y bueno la razon de mi mensaje es que tengo problemas con la aplicacion del led sensor, programo en ccs con un pic 12f675, en el cual lo que hago es esto.

#include "D:\program ccs\led sensor 12f.h"
#byte TRISIO = 0x85

void main()
{

   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   SETUP_ADC(ADC_CLOCK_INTERNAL);
   
   while(true)
    {
   
    TRISIO = 0b00010000; //Configuracion del puerto. '0' salida. '1' entrada.     
    output_high(PIN_A1);
    output_low(PIN_A2);
    delay_ms(1);
   
    output_high(PIN_A2);
    output_low(PIN_A1);
    delay_ms(1);

    set_adc_channel(2);                        // selecciono canal 2
    if(input(PIN_A2)<= 10){ //este valor de 10 es arbitrario solo para ajustar 

    output_high(PIN_A0);   
    delay_ms(100);// retardo para ver que esta detectando     

    }
     setup_adc( ADC_OFF );
     output_low(PIN_A0);

    TRISIO=0b00010000; //Configuracion del puerto. '0' salida. '1' entrada.
   
    }//fin de while infinito 

}//fin de programa

lo unico que deseo es que cuando el led detecte me mande un led de encendido, claro despues hare mas aplicaciones, pero por ahora no detecto nada, espero me puedas ayudar gracias por tu atencion y hasta pronto

Yo creo que es problema lo tienes en que, como la función INPUT() devuelve 0 ó 1 (no un valor entre 0-255) en función del estado del pin, la comparación de la línea if(input(PIN_A2)<= 10){  será siempre cierta y el LED de A0 estará aparentemente siempre encendido ¿es así?

Para que tu ejemplo fucnionase tendrías que crear una demora antes del input y luego encender o no el LED de A0 en función de que el INPUT haya devuelto 0 ó 1. Si devuelve 1 querrá decir que ha incidido poca luz sobre el sensor. La duración de la demora es el valor que tendrás que determinar experimentalmente, no el valor 10 que actualmente utilizas en la comparación if(input(PIN_A2)<= 10){

Espero haberte ayudado y que pronto te pases por aquí para contarnos que todo te funciona correctamente.
Suerte.
Título: Re: Matriz de LED como sensor táctil
Publicado por: gomdryyy en 23 de Octubre de 2008, 16:45:57

ESTIMADO jfmateos2, TE AGRADESCO POR LA PRONTA RESPUESTA Y BUENO GRACIAS POR TUS OBSERVACIONES QUE FUERON ATINADAS, SOBRE TODO LO DEL TIEMPO Y QUE BUENO ESTABA LEYENDO COMO ANALOGO Y ESTABA EN DIGITAL


Citar
La duración de la demora es el valor que tendrás que determinar experimentalmente, no el valor 10 que actualmente utilizas en la comparación if(input(PIN_A2)<= 10){



Y BUENO BUSCANDO PODER REALIZAR ESTA APLICACION PUES LES CUENTO QUE LO LOGRE BUENO SOLO QUE SEA SENSOR EL LED ASIQ UE BUENO PARA QUIENES LES INTEREZE EL CODIGO LO COLOCO PARA QUE LO CHEQUEN TAL VES LES SEA UTIL


Código: [Seleccionar]
#byte TRISIO = 0x85
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   while(true)
    {   
    TRISIO = 0b00010000; //Configuracion del puerto. '0' salida. '1' entrada.
   
    output_high(PIN_A1); //polarizando en directa
    output_low(PIN_A2);
    delay_ms(10); //tiempo de carga
   
    output_low(PIN_A1);//polarizando en inverza
    output_high(PIN_A2);
   
    delay_ms(1);   //tiempo de descarga
    TRISIO = 0b000100;   //cambio de estado a entrada
   delay_ms(20);  //tiempo del cambio de estado
   if(!input(PIN_A2)){
   while(input(PIN_A2)){}
   output_high(PIN_A0);
    }
   else {output_low(PIN_A0);}//accion en respuesta de deteccion
   delay_ms(1);
    }//fin de while infinito 
}

actualmente estoy colocando un video para que vean que si funciona gracias por su atencion

LISTO EL VIDEOOOOOO

Título: Re: Matriz de LED como sensor táctil
Publicado por: gera en 23 de Octubre de 2008, 17:03:59
Excelente trabajo gomdryyy!! espero ansioso el video :D
pero tengo una duda... para q configuras el timer si nunca lo usas?
saludos!
Título: [*]Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 23 de Octubre de 2008, 17:24:20
Me alegro gomdryyy, y coincido con Gera... cuando tengas un ratillo a ver si nos pones un videito  :mrgreen:
Título: Re: Matriz de LED como sensor táctil
Publicado por: umalrovi en 23 de Octubre de 2008, 19:42:25
Enhorabuena a todos, me he quedado alucinado con los led's!!! Espero ansioso el video gomdryyy y muy buen trabajo jfmateos2!!!

Saludos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: gomdryyy en 20 de Noviembre de 2008, 15:31:40
Excelente trabajo gomdryyy!! espero ansioso el video :D
pero tengo una duda... para q configuras el timer si nunca lo usas?
saludos!

estimado gera, pues encuanto atu pregunta de por que uso el timer, pues solo estaba probando esta aplicacion y claro que lo uso para una aplicacion final.

les cuento que esta aplicacion se trata de una alarma sonora y visual de fallo de energia electrica, dura 5 minutos la alrma, pero si se quiere quitar esta alarma pues se desactiva con este led, espero haberme explicado, aun asi pongo el programa por si alguien le intereza, ademas utilizo esta ves el adc. gracias por su atencion.


Código: [Seleccionar]
#include <10F202.h>
#FUSES NOWDT                //No Watch Dog Timer
#FUSES MCLR                   //Master Clear pin used for I/O
#FUSES NOPROTECT                //Code not protected from reading
#byte TRISIO = 0x85
#use delay(clock=4000000)

long int ints_t0 = 0;
int suma = 0;

 #int_RTCC                   
void timer_isr(void)
{
   ints_t0 = ints_t0 + 1;
   if(ints_t0 <= 5000)
   {output_high(PIN_B0);}

    else if((ints_t0 > 5000)||(ints_t0 <= 10000))
     {output_low(PIN_B0); }
    if(ints_t0 >= 10001){ints_t0 = 0;suma = suma + 1;}   
         
}//FIN DE TIMER 0

void main()
{
   enable_interrupts(int_RTCC);
   enable_interrupts(GLOBAL);
    while(true)
    {

    TRISIO = 0b000000; //Configuracion del puerto. '0' salida. '1' entrada.
   
    output_high(PIN_B1); //polarizando en directa
    output_low(PIN_B2);
    delay_ms(15); //tiempo de carga
   
    output_low(PIN_B1);//polarizando en inverza
    output_high(PIN_B2);
   
    delay_ms(1);   //tiempo de descarga
    TRISIO = 0b000100;   //cambio de estado a entrada
    delay_ms(30);  //tiempo del cambio de estado
     if(!input(PIN_B2)){
     while(input(PIN_B2)){}
 }
   else {//output_low(PIN_A0);
         suma = 150;}//accion en respuesta de deteccion
   delay_ms(1);
      if (suma >= 130)
      {
     output_low(PIN_B0);
     output_low(PIN_B1);
     output_low(PIN_B2);
       delay_cycles(1);//nop
       sleep();       
       delay_cycles(1);//nop
      }
    }//fin de while       
}//fin de programa

SE ACEPTAN SUGERENCIAS DE ALGUNA MODIFICACION
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 22 de Diciembre de 2008, 04:01:15
Hola gente tengo otra idea....
¿se podrían utilizar los leds bicolores? y dentro del mismo led ¿utilizar un color como emisor y otro como emisor?
esto creo tendría que hacerce con una fuentecita partida o un divisor resistivo...



amigo estoy en acuerdo contigo, yo estoy haciendo pruebas (con un multimetro de los malos y un par de led bicolor rojo-verde de catodo comun), usando un led como emisor y otro como receptor (en ambos usando el color rojo) y he llegado a estas conclusiones:

1. Como mencionanban anteriormente, el color rojo es el mas sensible (creo k por eso el de el videito uso lamatriz roja), haciendo pruebas en mi cuarto (a condiciones de luz de un bombillo normal) he descubierto que el led "receptor" (color rojo) genera 5mV cuando no se refleja sobre el la luz de su mismo color y 44.4mv cuando se refleja la luz del mismo color sobre este.

2. Si si emito luz verde con un led, e intento recivirla con el led rojo (del otro led bicolor) los datos cambian abruptamente a 2.1mv cuando no se refleja y 6.2mv cuando se refleja.

3. En los datos mencionados no ha sido necesario polarizar los led a la inversa y luego medir su tiempo, solo estoy leyendo directamente los datos con el multimetro

y pues bueno, que por que usar led bicolor?? pues pk se me ocurre hacer que el dispositivo reaccione al tacto cambiando de color en la zona en que fue tocado (estoy seguro ke va a ser un completo  nido de multiplexores analogos y normales pero ps me encantaria ver marchando mi idea)

y pues no es mas muchachos si alguien nota que estoy haciendo algo mal por favor me avisan
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 22 de Diciembre de 2008, 05:06:04
Suerte ekud... yo llegúe a la conclusión de que para medir cambios significativos era necesario que sobre el led incidiese luz de su misma longitud de onda, de modo que cuando uses un led como sensor, deberás tener otro igual en los alrededores iluminado.

Si quieres hacer una matriz en la que cada led pueda actuar como sensor, lo anterior significa que tendrás que poder polarizarlos en directa para que se iluminen y, además, de algún modo, poder leer la tensión entre sus terminales. Me interes saber cómo vas a hacer esto último (leer tensión entre terminales).
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 24 de Diciembre de 2008, 02:17:51
Suerte ekud... yo llegúe a la conclusión de que para medir cambios significativos era necesario que sobre el led incidiese luz de su misma longitud de onda, de modo que cuando uses un led como sensor, deberás tener otro igual en los alrededores iluminado.

Si quieres hacer una matriz en la que cada led pueda actuar como sensor, lo anterior significa que tendrás que poder polarizarlos en directa para que se iluminen y, además, de algún modo, poder leer la tensión entre sus terminales. Me interes saber cómo vas a hacer esto último (leer tensión entre terminales).


Tal y como tu dices jfmateos2 yo llegue a la misma conslusion con mis experimentos (de que para medir cambios significativos era necesario que sobre el led incidiese luz de su misma longitud de onda ) es por ello ke voy a usar los led bicolor...

que cual es mi idea?? ke una matriz pueda detectar el tacto y al detectarlo cambie de color por la zona en la ke fue tocada...

que como voy a hacerlo??? bueno eso es un completo enrredo pero esta es mi idea:

supongamos k tenemos una fila de led bicolor,que el pin rojo de cada led bicolor esta conectado a un pin del conversor AD del micro y que cada pin verde de cada led bicolor estaria conectado no se... al puerto B o C del micro y ps el catodo de cada led bicolor lo tiramos a tierra... como ya sabemos los led bicolor tienen tres pines (uno para un color, otro para otro color y otro ke es el catodo o el anodo comun que suele ser el pin del medio ... yo uso led bicolor rojo-verde de catodo comun)... ahora bien... voy a emitir con el color rojo y esa es la longuitud de onda ke kiero detectar (por ser la mas sensible, aunke personalmente ese color no me gusta  :? )

si tuviera una fila de por ejemplo 5 led bicolor... prendo el primer led bicolor con el color rojo, y mientras este este emitiendo mido el voltaje sobre el pin del led rojo del led bicolor de enseguida (osea el segundo)y aki pueden pasar dos cosas:
 

y asi sucesivamente... hasta llegar al ultimo led... para detectar en los extremos podriamos usar los mismos led contiguos, la verdad he pensado mucho en el asunto y me parece que esta podria ser la forma... sinemargo hay varias limitantes...

1. la cantidad de pines necesarios pues un grupo de pines son exclusivamente para idicar la deteccion y otros son para emitir y detectar (aunke no lo hacen al mismo tiempo y esta es una ventaja)

2. (este es un problema de programacion ps me complika un poco mi algoritmo)... supongamos que un led esta en verde... (osea que con el se hizo una deteccion)...ahora resulta que haciendo el barrido por la fila yo necesito que ese led (que esta con el color verde) emita el color rojo para que el que esta al lado pueda detectar algo.... la cuestion es la siguiente... con este tipo de led es posible emitir los dos colores al mismo tiempo (rojo y verde) pero eso me mostraria una combinacion entre los dos colores algo asi como un naranja o ke se yo.. y asi las cosas no se ke tanto me afecte la sensiblidad ps ya estaria emitiendo otra longuitud de onda... otra cosa que podria hacer es que si esta en verde... apagaria este color un instante para prender el rojo y poder emitir... y en cuanto el led de enseguida detecte algo, (o en su defecto si no detecta algo pasado un tiempo)  volver a dejar el led (emisor) en su estado original osea en color verde... y eso mis keridos colegas creo k seria una exelente solucion aunke conlleva un severo programota jejej a mi me encanta la programacion y estaria muy dispuesto a asumir este reto...

en fin no se si me explike bien... en cualkier caso siempre esta el sagrado beneficio de la duda jejeje

me perdonan no mostrar el eskematiko pero en proteus no hay ese tipo de led..  :(

y pues nada muchachos espero podamos sakar esto adelante ya saben k me tienen en completa dispocion para este proyecto
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 24 de Diciembre de 2008, 02:26:48
por cierto...si estoy mal en el algun concepto me disculpan... y ke pena lo largo del mensaje jeje
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 24 de Diciembre de 2008, 07:58:31
Hola Ekud, si te he entendido bien, quieres controlar cada led bicolor de forma independiente, sin unir los cátodos/ánodos de todos los que conforman una misma fila/columna ¿es así?
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 24 de Diciembre de 2008, 11:34:42
Hola Ekud, si te he entendido bien, quieres controlar cada led bicolor de forma independiente, sin unir los cátodos/ánodos de todos los que conforman una misma fila/columna ¿es así?

mmmm bueno como los led bicolor ke tengo a mano son de catodo comun mi idea es poner todos estos catodos a un mismo punto osea a tierra... los ke van de forma independiente son los pines de los anodos de cada color
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 24 de Diciembre de 2008, 12:23:21
Pero entonces... para una matriz de, por ejemplo, 20 leds necesitarás 20 entradas analógicas y no sé si hay algún PIC con esas capacidades.
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 25 de Diciembre de 2008, 21:11:25
Pero entonces... para una matriz de, por ejemplo, 20 leds necesitarás 20 entradas analógicas y no sé si hay algún PIC con esas capacidades.

mmmmmmmmm exacto.... dudo de que exista un pic con esa cantidad de conversores ad, aunke si supe de alguno que todos sus pines eran conversion analoga digital, sinembargo me parece k  seria un desperdicio  conseguir un pic de tantos pines para solo una matriz de led, la idea seria usar un multiplexor analogo por ejemplo un 74hc4051, o mejor aun un 74hc4067 pues con ests integrados podriamos seleccionar el led que queremos medir lo que me preocupa es k los niveles de voltaje no sean lo suficiente mente altos como para que no se vean afectados por este integrado
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 26 de Diciembre de 2008, 06:57:29
Hola ekud, yo también tengo la misma duda que tú sobre si los multiplerores analógicos dejarían sobrevivir algo de tensión... habría que probarlo. No encuentro nada al respecto en la hoja de datos, pero me temo que una decena de milivoltios no sobrevivirían

Por este motivo creo que se polarizan en contra los LEDS, pues así seguro que tienes al menos 5V si no incide luz sobre el LED.

Me parece muy interesante este aspecto de los multiplexores que son bi-direccionales:

Citar
These analog multiplexers/demultiplexers control analog
voltages that may vary across the voltage supply range (i.e.
VCC to VEE). They are bidirectional switches thus allowing
any analog input to be used as an output and visa-versa.
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 27 de Diciembre de 2008, 02:52:09
jeje si son exelentes estos multiplexores pero segun parece son muy poco usados ps al menos mis colegas de por aki como k no sabian de laexistencia d estos aparatos...

por otra parte les cuento k ya pude reparar mi kemador de pic (el anticuado pero famoso JDM) y ps aki ya tengo todo lo necesario para comenzar el experimento en forma... tengo el pic16f876, un cd4051, led's de todos los colores y sabores y por supuesto mi tan apreciado mikrobasic jeje  :-/

esta misma noche comienzo y ya les estare publicando resultados  8)
Título: Re: Matriz de LED como sensor táctil
Publicado por: jacrmr en 27 de Diciembre de 2008, 02:57:08
El problema en todos estos multiplexores y switches analógicos (4016, 4051, etc.) es su tecnología de fabricación la cual sigue siendo como si fuera digital. Las resistencias de estos switches son tal altas que rara vez sirven para aplicaciones de mediano alcance. Existen verdaderos switches analógicos y multiplexores con resistencias tan bajas como 0.4 ohms (casi verdaderamente un switch mecánico para muchas aplicaciones), pero claro su costo aumenta. Analog Devices tiene una amplia gama.
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 27 de Diciembre de 2008, 03:10:36
mmmmmmmmmm k mal... eso me deja desarmado  :?

pero tienes alguna referencia de estos multiplexores analogos "especiales" ?
Título: Re: Matriz de LED como sensor táctil
Publicado por: jacrmr en 27 de Diciembre de 2008, 06:08:10
Pues yo utilizo mucho el ADG774BR para hacer OSD con señales de video (0.7 Vpp) y no pierde calidad la señal, aún a muy bajos niveles de voltaje. Ese es sólo un modelo entre muchos otros. Tienes que seleccionar el que más prestaciones tenga a tu aplicación según el número de entradas, salidas, y la función de multiplexeo que necesites. De hecho lo que te convendría tal vez sería usar un chip de matriz de video (también Analog Devices es líder en ése ramo). Son digamos 64 ó más conexiones en forma de matriz que entran/salen del chip y que mediante código elijes cualquier combinación (analógica por supuesto) y tiene muy buena fidelidad en los voltajes ya que fueron diseñados precisamente para manejar video.
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 27 de Diciembre de 2008, 21:58:52
bueno ayer me dispuse a hacer experimentos y ps consegui algo... segui mi idea de leer no el catodo sino el anodo del led y en vez de usar la reflexion de la luz propia (osea la d el mismo led que estoy midiendo) use la luz de un led que esta al lado del led al cual le estoy midiendo...

trabajar de esta manera me permitio tener un codigo mas simple  8) (creo yo) pero la limitante es el led que emite la luz

use dos led bicolor (usando en la "emision" y la "recepcion" el color rojo) y pues aki les dejo el programa que hize para ello en mikro basic y me vali de un lcd 2x16 para ver los datos que se iban obteniendo de la conversion analoga digital en tiempo "real" ps guardar en la eeprom es muy lento


Código: [Seleccionar]
program LED_SENSOR

'Simbolos para los anodos del led receptor
Symbol ANODO_ROJO = PORTA.0
Symbol ANODO_VERDE = PORTA.1

'Variables necesarias
Dim t as word
Dim texto as char [5]

main:

'Configuro el puerto A
trisa  = %00000001
'Configuro la conversion AD
adcon1 = %10001110

'le indico al micro como esta conectado el lcd
Lcd_Init(PORTB)
'limpio el lcd
Lcd_cmd(lcd_clear)
PRINCIPAL:

    'Obtengo el valor de la conversion AD
    t = adc_read(0)
    'hago la conversion a string para poder mostrar en el display
    WordToStrWithZeros(t, texto)
    'muestro el dato por el display
    Lcd_out(1,1,texto)
    'retardo de 1 segundo para poder ver bien el dato
    'delay_ms(1000)
   
    'Obtengo el valor de la conversion AD
    t = adc_read(0)
    'Mientras que la lectura del anodo rojo (pin 0 del AD) sea mayor que 286
    while t>=260
   
         'Enciendo el color verde del led bicolor
         ANODO_VERDE = 1
         'hago la conversion a string para poder mostrar en el display
         WordToStrWithZeros(t, texto)
         'muestro el dato por el display
         Lcd_out(2,1,texto)
         'lo dejo encendido un tiempo
         DELAY_MS(1000)
         'salgo del ciclo ps tener el led en este estado me puede generar
         'falsos positivos
         GOTO SALIDA
    wend
   
SALIDA:
    'Apago el color de indicacion de deteccion
    ANODO_VERDE = 0

GOTO PRINCIPAL

end.


El valor de 260 es experimental y depende de las condiciones de luz exteriores  :? , cosa por la cual seria bueno hacer que el pic detecte las condiciones d luz externeas y el mismo pic decida cual seria el nivel adecuado para este valor, de este modo el circuito podria configurarse el mismo en cualkier ambiente. De todas formas kabe decir que la deteccion minima en la conversion AD (a oscuras o a la luz de un bombillo normal de 100w) es de 260 y la maxima (que seria tocando a ambos led con el dedo) es de 290 con estos limites se podria hacer algo para detectar la distancia del elemento reflectante o cualkier cosa que se nos ocurra.

y un problema que tube al usar led bicolor es que al detectar algo debia tener encendido un color del led (en este caso el color verde) y esto me afectaba las mediciones sobre el led rojo cosa que me generaba falsos positivos con el led de deteccion que es el color rojo, pues al hacer por ejemplo la primera deteccion se prendia el color verde y este me generaba "ruido" sobre el color rojo y asi las cosas el sistema siempre detectaba y se me kedaba "blokeado" en la deteccion ps siempre detectaba, sinembargo eso se pudo corregir por soft  :-).

y pues no es mas les prometo que ahora subo un video mostrando el funcionamiento (no lo subo ya pk ke no se k changos le pasa al moviemaker que se blokea al grabar)

y pues no siendo mas espero haber contribuido en algo y ya saben ke si me ekivoke en algo o alguna duda me avisan :mrgreen:
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 28 de Diciembre de 2008, 06:38:58
aki esta el video ke les prometi...  :mrgreen:


me perdonan lo de el lcd... fue un lapsus brutus jejej  :2]

por cierto aki esta el esquematico del circuito que monte y que ven en el video

(http://photos3.hi5.com/0066/659/098/lNKbDq659098-02.jpg)
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 28 de Diciembre de 2008, 06:44:29
La distancia de detección es extraordinaria, no me imaginaba que se alcanzase tanto.
¿Cómo se gestiona que las condiciones de luminosidad cambien?, ¿qué pasa si alguien enciende o apaga la luz de la habitación?

Por cierto, buenísimo lo del giro de cámara  :D
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 28 de Diciembre de 2008, 07:03:35
hola nocturno, pues las pruebas que yo hize para poder detectar lo de el valor experimental (ese 260) lo hize a prueba y error y me funciona tanto para la oscuridad completa como para la condicion de luz con el bombillo por tanto para mis pruebas da igual si se tiene el bombillo encendido o apagado...

y pues se me courre que para gestionar este valor de forma automatica podriamos hacer que el micro detecte varias veces el voltaje sobre el led cuando este no este detectando y sacar el promedio de los datos obtenidos... y a este promedio sumarle una constante para evitar posibles falsos positivos...

seria el mismo programa que tngo ahi... solo k al principio el micro haria este proceso que te cuento del promedio... pero como te digo es solo una idea

jeje y bueno lo de la cam... psss se vale o no? jeje es ke no me fije y le solde los pines al lcd hacia el lado contrario jejej

 :D
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 28 de Diciembre de 2008, 08:47:58
Enhorabuena ekud... imagino que podría mejorar la sensibilidad del conversor ADC utilizando una referencia de voltaje para él.
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 28 de Diciembre de 2008, 14:16:56
si podriamos hacerle un voltaje de referencia a 1 o 2 voltios.... pero lo que no me gusta de eso es perder esos dos pines pero si si podriamos hacer eso para mejorar la conversion...

por cierto al fin pudiste seguir con lo de los multiplexores analgos?? pk estaba pensando en que podriamos usar puertos de expansion de esos de microchip que se comunican con i2c pero como nunca he trabajado con ellos no se si en ellos se puede hacer conversion AD y etc...
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 28 de Diciembre de 2008, 15:02:19
Hola ekud, buscaré información más detallada sobre los multiplexores que propuso jacrm, pues no creo que un multiplexor "normal" permita el paso de las señales que tenemos ahora (decenas de milivoltios).

Respecto a los expansores I2C, creo que sólo sirven como entradas/salidas digitales.
Título: Re: Matriz de LED como sensor táctil
Publicado por: gera en 28 de Diciembre de 2008, 22:39:48
Buenas amigos!!! Disculpen q me retrotraiga tanto, es q recien tengo tiempo a ponerme a armar esto y me pasaron un par de cosas algo
extrañas. Arme el ejemplo q dio gomdryyy una pagina antes.
La primera cosa rara q paso es q el ejemplo no anduvo usando el puerto B del pic16f84a, pero cuando use el puerto A si anduvo. Lo segundo es q la sensibilidad del "sensor" aumenta notablemente cuando el circuito esta conectado al programador. Y por ultimo... sin querer quite el led q hace de sensor, y el circuito seguia funcionando!!! Cuando le acerco el dedo a la resistencia q va en serie con el led, en circuito sensa. Debe ser q hay un ruido barbaro, y entre capacidades y todo eso...
En fin, es muy raro, aunq no es el comportamiento q me gustaria q tenga. Sugerencias?
Gracias!!!
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 28 de Diciembre de 2008, 23:48:03
Buenas amigos!!! Disculpen q me retrotraiga tanto, es q recien tengo tiempo a ponerme a armar esto y me pasaron un par de cosas algo
extrañas. Arme el ejemplo q dio gomdryyy una pagina antes.
La primera cosa rara q paso es q el ejemplo no anduvo usando el puerto B del pic16f84a, pero cuando use el puerto A si anduvo. Lo segundo es q la sensibilidad del "sensor" aumenta notablemente cuando el circuito esta conectado al programador. Y por ultimo... sin querer quite el led q hace de sensor, y el circuito seguia funcionando!!! Cuando le acerco el dedo a la resistencia q va en serie con el led, en circuito sensa. Debe ser q hay un ruido barbaro, y entre capacidades y todo eso...
En fin, es muy raro, aunq no es el comportamiento q me gustaria q tenga. Sugerencias?
Gracias!!!

no entiendo bien lo que dices de que lo conectas al programador.. pero me imagino que debes tener conectado el circuito a un voltaje que te da tu programador... ya probaste usar un regulador de voltaje que te sake 5V exactos?? podrias usar el 7805... tal vez se deba a esto tu ruido

por otra parte les cuento que estoy adelantando trabajo para hacer que el micro detecte mediante promedios la cantidad de luz externa para que asi se pueda "configurar" el circuito sin asistencia y tambien para que mediante promedios se pueda decidir si se hizo una deteccion o no... ahora les adelanto del codigo  :)
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 29 de Diciembre de 2008, 00:35:04
aki esta el codigo que llevo... hasta ahora se ha comportado muy bien para las condiciones de luz de mi cuarto y a oscruas

Código: [Seleccionar]

program LED_SENSOR

'Simbolos para los anodos del led receptor
Symbol ANODO_ROJO = PORTA.0
Symbol ANODO_VERDE = PORTA.1

Dim t as word
Dim j as byte
Dim promedio as word
Dim i as byte
Dim texto as char [5]

main:

'Configuro el puerto A
trisa  = %00000001
'Configuro la conversion AD
adcon1 = %10001110

'le indico al micro como esta conectado el lcd
Lcd_Init(PORTB)
'limpio el lcd
Lcd_cmd(lcd_clear)
'retardo de un segundo para estabilizar
delay_ms(1000)

'muestro un mensaje ke avisa que esta promediando la luz ambiente
Lcd_Out(1,1,"Estabilizando...")

'hago un retardo para estabilizar el circuito
delay_ms(100)

'me aseguro de tener apagado el led
PORTA = 0

'Inicializo la variable de preomdio
promedio = 0

'Itero para obtener los datos del promedio

for j = 1 to 100

    for i = 1 to 200

        promedio = promedio + Adc_read(0)

    next i

    promedio = promedio / 200

next j

'muestro el dato en el lcd
Lcd_cmd(lcd_clear)
Lcd_out(1,1,"Prome:")

'hago la conversion a string para poder mostrar en el display
WordToStrWithZeros(promedio, texto)

'muestro el dato por el display
Lcd_out(1,7,texto)
Lcd_out(2,1,"Detec:")

PRINCIPAL:

    'reinicio la variable de deteccion
    t = 0

    'recojo datos de deteccion para hacer promedio
    for i = 1 to 200
   
        'Obtengo el valor de la conversion AD
        t = adc_read(0) + t

    next i

    'hago el promedio
    t = t / 200
   
    'Mientras que la lectura del anodo rojo (pin 0 del AD) sea mayor que
    'el valor del promedio... (ese numero 10 es como para superar un nivel
    'de ruido y hace que el sistema sea mas confiable, se obtiene experimentalmente
    'y entre mas grande sea mas luz tiene que incidir sobre el led receptor para
    'disparar una deteccion y asi mismo entre mas grande sea este numero el
    'sistema sera menos sensible al ruido lo k significa poder usarlo en cualkier condicion
    'de luz
   

    while t >= (promedio + 10)
   
         'Enciendo el color verde del led bicolor
         ANODO_VERDE = 1
         
         'hago la conversion a string para poder mostrar en el display
         WordToStrWithZeros(t, texto)
         
         'muestro el dato por el display
         Lcd_out(2,7,texto)
         
         'lo dejo encendido un tiempo
         Delay_ms(200)
         
         'salgo del ciclo ps tener el led en este estado me puede generar
         'falsos positivos
         goto SALIDA
         
    wend
   
SALIDA:

    'Apago el color de indicacion de deteccion
    ANODO_VERDE = 0

goto PRINCIPAL

end.

Citar
La distancia de detección es extraordinaria, no me imaginaba que se alcanzase tanto.
¿Cómo se gestiona que las condiciones de luminosidad cambien?, ¿qué pasa si alguien enciende o apaga la luz de la habitación?

Por cierto, buenísimo lo del giro de cámara   :D

con este codigo podemos hacer lo que sugeria nocturno ps el mismo micro puede detectar la cantidad de luz exterior en cualkier ambiente y poder determinar asi si el led hizo una deteccion o no, inclusive de esta forma podemos jugar con la alineacion de los led separarlos, unirlos mas, ponerlos en diagonal etc... puede k tal vez sea la solucion para hacer una fila



Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 29 de Diciembre de 2008, 06:49:01
Hola ekud, ¿podrías decirme qué niveles de tensión lees en el ánodo cuando no se ha detectado la presencia de tu dedo y cuando sí se ha detectado?

Imagino que la diferencia serán sólo unos pocos milivoltios, y creo que por eso es mejor aprovechar la función capacitiva (polarizar en inversa) de los LEDs para estos menesteres, pues así las diferencias de tensión medibles son de varios órdenes de magnitud superiores al que tú estás utilizando (del orden de los voltios). Esto ayuda a eliminar falsos positivos y también nos ofrece mayor resolución para detectar diferentes distancias.
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 29 de Diciembre de 2008, 12:33:23
no tengo mi multimetro a mano.. pero si mal no recuerdo los datos eran de 5mv cuando no le ponia el dedo y de 60 mv cuando le ponia el dedo justo encima al led hasta tocarlo.

y lo que tu dices del catodo es verdad?? se puede detectar por el orden de voltios??? es ke como he estado trabajando tanto con el anodo la verdad no tengo muy claro como hacerlo con el catodo... de todas maneras hoy  si puedo hago la prueba con un mux analogo y si por algun milagroo estos niveles de voltaje sobreviven comienzo con la matriz completa.... pero si no sobreviven estos niveles sin dudarlo me paso a trabajar con el catodo (para que me instruyas bien en esa part del catodo pk de esa si no se es naaada jejej  :D )

esperemos haber como me va en las pruebas con el mux y uds ya saben que les informare de los resultados  :mrgreen:

por cierto... acabo de sacar el circuito (el de el segundo video) al patio de mi casa donde llega la luz del sol.... y el circuito fue inmune a esta luz  :-/  claro que no esta haciendo un sol muy fuerte... pero = es muy bueno k sea asi de estable
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 29 de Diciembre de 2008, 21:31:51
Pues señores y señoras y señoritas especial jejej ... es para mi un completo placer decirles ke sucedio el milagro...  :-/  :mrgreen:  :-)  8)  :lol:  :P

mejor dicho... que los pequeños voltajes que se emiten por el anodo del led fueron capazes de llegar sanos y salvos al microcontrolador despues de atravesar un tortuoso viaje atraves de un 74hc4051

la verdad no le tenia nada fe a este multiplexor analogo para esta aplicacion.. pero ya ven que se comporto mejor de lo que esperaba y la verdad fue una completa sopresa ver como funcionaba...

siendo mas objetivos....usando este multiplexor la señal si se daña pero muyyyyyyyyyyy pokito con esto me refiero que cuando hacia que el micro obtuviera el promedio de la luz de mi cuarto, me arrojaba un valor de 260, ahora... usando el multiplexor analogo obtengo un valor de 257... sinembargo... pensando detenidamente aki... esa distorcion en la señal no es un problema pues ocurre siempre (cuando detecta y cuando no detecta) cosa por la cual creo que no hay necesidad de corregirla....

hablando del circuito y del programa les cuento que el soft es el mismo que publike en el segundo video y en el circuito lo unico que cambia es que el led de deteccion no lo conecto directamente al micro sino que el led lo conecto al multiplexor analogo y este al microcontrolador...

 :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)

una vez dicho esto... ya tenemos las bases para comenzar a armar por lo menos una matriz pequeñita o no???

de una vez.. yo me le apunto al proyecto ps ya tenemos mucho por donde atacarlo

por cierto aki esta el eskematiko

(http://photos4.hi5.com/0069/896/535/VrDWBt896535-02.jpg)
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 31 de Diciembre de 2008, 04:03:19
Hola colegas!

En base a los resultados que he obtenido con los circuitos anteriormente mostrados quise pasar ya a diseñar la matriz completa ( una 8x8 ) para comenzar y pues hize este diseño:

(http://photos2.hi5.com/0069/582/445/quBmxh582445-02.jpg)

aki dejo un link para que bajen la imagen por si no se ve bien el circuito

http://rapidshare.com/files/178613500/led_sensor_total.JPG.html (http://rapidshare.com/files/178613500/led_sensor_total.JPG.html)

y otro link con el archivo para abrir con el proteus:

http://rapidshare.com/files/178613033/led_sensor.DSN.html (http://rapidshare.com/files/178613033/led_sensor.DSN.html)

y pues me preguntaba que piensan de el circuito si creen que va a funcionar o no???

la idea es la misma con la que yo vengo trabajando desde hace rato... encender un led... y medir el voltaje sobre el led que esta justo enseguida... y si detecta encender el anodo verde del led en el que se midio y asi...

solo que como es una matriz tambien hay que seleccionar la columna en la que se quiere emitir y medir... y como son tantos led por eso crei conveniente poner el uln2803 pero no se que tan necesario sea y mas aun.. no se si esto me afecte en alguna medida la señal a medir...

espero sus opiniones  ;-)

y feliz 2009! :x) :x)
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 31 de Diciembre de 2008, 07:26:06
Hola ekud, no veo nada claro en el datasheet del 74151 que pueda ponerse en modo de alta impedancia, y esto te resultará imprescindible cuando quieras leer un led con el ADC.

En lugar del 74151 podrías usar expansores I2C, que sólo consumen 3 pines y sí son tri-estado (+V, GND y alta impedancia).

Lo del ULN2803 me parece buena idea. Yo lo he usado en otras matrices y va bien.
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 31 de Diciembre de 2008, 14:37:49
les pido disculpas cometi un error tremendo en el eskematiko para controlar la matriz 8x8 confundi decoders con muxultiplexores... otro lapsus brutus   :D

pero ya lo solucione y volvi a subir los archivos y las imagenes corregidas...
Título: Re: Matriz de LED como sensor táctil
Publicado por: arcachofo en 02 de Enero de 2009, 00:13:31
Hola a todos... muy interesante este tema, me alegro de que todavía esté vivo.
precisamente había estado experimentando con leds como sensores de luz y de color.

Pensando en esto de una matriz como sensor, hay un par de cosas que no veo claras, por ejemplo esto:

Citar
Exacto: cada pin deberia manejar 8 leds, por lo que la corriente suministrada por el pic es insuficiente. Por eso me referia a un driver externo, tipo el ULN2803 pero que tenga la posibilidad de ser puesto en un tercer estado (DISABLED) para que no "moleste" a la hora de leer los LEDs.

Se supone que en este caso solo hay un led encendido a la vez... no?, quiero decir... tal y como yo lo veo, en cada columna se enciende 1 led, se sensa el o los leds de las colunmnas contiguas,... se desplaza el led encendido a la siguiente fila,... se vuelve a sensar...; cuando se acabe la colunma se pasa a la siguiente....

De esta manera la lectura nos dá un valor de luz reflejada, una coordenada X y otra Y... no?

Si el pic puede encender un solo led y leer las columnas contiguas, la cosa se simplifica bastante, incluso se podrían polarizar los led a leer en inversa justo antes de sensar....

Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 10 de Abril de 2009, 13:43:36
Un italiano jugando a algo parecido:
feature=channel_page

Lo más interesante es que utiliza una referencia de tensión para el ADC, de modo que mejora la resolución.
Título: Re: Matriz de LED como sensor táctil
Publicado por: gera en 10 de Abril de 2009, 14:07:02
Le quedo excelente! Y a todo esto, me queda una duda jeje. Dijimos q el led polarizado en inverso, se descarga mas rapido cuando hay luz incidente. Pero en este punto, el led esta apagado, y dada la velocidad de la luz, dudo q haya un as remanente por ahi.. como se explica?
saludos!
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 10 de Abril de 2009, 16:55:40
Hola Gera, pueden darse dos situaciones, que incida sobre él la luz procedente de otro led adyacente, como en el caso del italiano, o que incida la luz ambiente...
Título: Re: Matriz de LED como sensor táctil
Publicado por: gera en 10 de Abril de 2009, 18:25:09
Osea q en el video del italiano hay un led prendido constantemente? Eso tiene mas sentido para mi jeje. Yo pense q usaba la luz del mismo led q usa de capacitor luego, pero me surgia esa duda.
gracias!
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 10 de Abril de 2009, 18:34:20
En realidad creo que el italiano tiene los 2 led alternando, primero uno ilumina al otro y luego el otro ilumina al uno.
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 11 de Abril de 2009, 14:24:31
Pero cual seria la ventaja alternando entre los dos led??
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 11 de Abril de 2009, 14:32:38
Ninguna, podría tener uno siempre encendido y el otro en un bucle infinito de polarización inversa seguido de lectura del ADC. De hecho, en la prueba que yo hice tenía varios LEDs siempre encendido y, en medio de ellos, uno que era el que leía.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 28 de Abril de 2009, 15:01:26
Aquí utilizan una técnica distinta denominada "electrostática inversa" (http://web.media.mit.edu/~jrs/efs.html) pero el efecto es igual de espectacular.

No se pierdan este vídeo: http://web.media.mit.edu/~jrs/fishface.mpg

Ni este otro: http://web.media.mit.edu/~jrs/twohands.mpg

Y aquí la tesis de este señor Joshua Reynolds Smith (John Smith), en la que explica todo el asunto, que curiosamente está resuelto con un PIC (del año 1995) y que está basado en un Theremin: http://web.media.mit.edu/~jrs/phd.pdf
Título: Re: Matriz de LED como sensor táctil
Publicado por: gera en 28 de Abril de 2009, 15:33:53
simplemente IMPRESIONANTE!!! Me desperto muchisima curiosidad jeje. Q bueno q esta re  bien documentado :D en cuanto pueda me voy a poner a leer.
Muchas gracias por compartirlo jfmateos!!  :-/
Título: Re: Matriz de LED como sensor táctil
Publicado por: Leon Pic en 28 de Abril de 2009, 17:16:08
Me encantó el Arcanoid, exelente  :-/ :-/
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 29 de Abril de 2009, 02:17:21
Por lo que se ve, este método es mucho más eficaz que el anterior, aunque he mirado el documento por encima y no me entero ni papa.
Además, no necesita que el led de al lado esté iluminado para detectar la presencia de la mano.

¿Son leds normales?
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 29 de Abril de 2009, 02:19:43
Sí es una matriz de LEDs normal y corriente, pues la detección no la hacen los LEDs, sino cuatro sensores de proximidad que hay debajo.
El problema de este sistema es, por un lado la complejidad, y por otro el espacio/volumen.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Papalote en 29 de Abril de 2009, 03:37:33
Mmm has probado usar solo un led comun y una rutina algo aso..

Prender el led por ej 100ms
Poner pin como entrada y medir la tension
y bueno mandar el dato al lcd a ver si funciona si llego a medir, para que esto funcione el pic y el conversor adc del pic deberian ir mas rapido que lo que tarda la lu en llegar al objeto (mano) y volver, por lo cual no creo que funcione pero kien sabe ejej


OTRA OPCION
Que pasa si como emisor de luz usamos u nled infrarrojo... asi no habria que tener nada prendido (a simple vista)
Título: Re: Matriz de LED como sensor táctil
Publicado por: gomdryyy en 12 de Mayo de 2009, 21:05:52
Buenas amigos!!! Disculpen q me retrotraiga tanto, es q recien tengo tiempo a ponerme a armar esto y me pasaron un par de cosas algo
extrañas. Arme el ejemplo q dio gomdryyy una pagina antes.
La primera cosa rara q paso es q el ejemplo no anduvo usando el puerto B del pic16f84a, pero cuando use el puerto A si anduvo. Lo segundo es q la sensibilidad del "sensor" aumenta notablemente cuando el circuito esta conectado al programador. Y por ultimo... sin querer quite el led q hace de sensor, y el circuito seguia funcionando!!! Cuando le acerco el dedo a la resistencia q va en serie con el led, en circuito sensa. Debe ser q hay un ruido barbaro, y entre capacidades y todo eso...
En fin, es muy raro, aunq no es el comportamiento q me gustaria q tenga. Sugerencias?
Gracias!!!
[/glow]


Estimado gera disculpa por el retrazo, pues como ya dije programo solo de vez en cuando, bueno en base a lo que mencionas es cierto despues de probar el circuito, conclui que recibe un ruido extraordinario, pues como tu mencionas al quitar el led-sensor sigue funcionando, e incluso en la oscuridad, sensa hasta un metro a la redonda sea que si por error acercar la mano la detecta. asi que deseche esta forma de programacion, pues cambie el tiempo de encendido y nada aun sigue con mucho ruido, te agradesco por tomar en cuenta este aporte.





por otra parte estaba revisando el post y me di cuenta que al igual que ami a muchos de nosotros dejamos o quitamos los componentes y precisamente los colocamos al revez  enfin, asi que tambien me di cuenta de que  la luz que incidia en el led sin polarizarlo genera un milivoltaje  y dije hoooo, creo que esto se puede utilizar.

despues de ver lo que proponia ekud, pues me puse a trabajar y bueno efectivamente es mas estable en cuanto a las variaciones ya no las tengo, y funciona de maravilla.

solo que me paso otro proble, ya saben que en la noche es mas inestable, pues para que viera el comportamiento abilite la cominucacion rs232, para verlo en la compu, me preguntaran por que , simplemente por que no tenia una lcd,  bueno en fin sucede que en la noche en lugar de incrementar decrementa la deteccion como lo leen decrementaaa, asi que bueno lo unico que hice fue poner esa variacion tambien y asunto arreglado ya funciona en el dia y en la oscuridad total, 100% comprobado.

 gracias a todos los que aportan pues uno se da mas ideaaaaaaaa, luego cuelgo el codigo, por que ahora estoy en eltrabajo, 
saludos y hasta la proximaaaaaa
Título: Re: Matriz de LED como sensor táctil
Publicado por: gera en 12 de Mayo de 2009, 22:04:26
Grande gomdryyy!! :-/
Q buena noticia, porq me habia resignado con este tema jaja. Espero ansioso el codigo a ver q tal.
saludos y gracias por el aporte!!
Título: Re: Matriz de LED como sensor táctil
Publicado por: gomdryyy en 13 de Mayo de 2009, 12:19:37

ok camaradas, pues lo prometido es deuda el codigo que realize en base al codigo que proporciono ekud, pues como les comentaba encontre que en la noche la deteccion decrementa en vez de incrementar, bueno lo pongo a su consideracion y sugerencias, cabe mencionar que este programa es para una alarma de fallo de energia, la cual se puede apagar con la deteccion de nuestro dedo.

Código: [Seleccionar]
#include <12F675.h>
#device adc=8
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES INTRC_IO                        //Resistor/Capacitor Osc with CLKOUT
#FUSES NOCPD                    //No EE protection
#FUSES NOPROTECT                //Code not protected from reading
#FUSES MCLR                     //Master Clear pin enabled
#FUSES NOPUT                    //No Power Up Timer
#FUSES BROWNOUT                 //Reset when brownout detected

#use delay(clock=4000000,RESTART_WDT)
#use rs232(baud=9600,xmit=pin_A4)
#byte TRISIO = 0x85
#bit sali = 05.5
int i,j,t,promedio;
int contador = 0;
byte flag=0,var1=3;         //variables para menu configurar
///LLAMADA FUNCION INTERRUPCION
#INT_TIMER1
void interrupcion()
{
   if(flag>var1){      //¿ya es 130ms aprox?
      var1--;         //SI -> decremento var...       
      if(var1==0)
         var1=2;      //...ajuste fino de 130ms aprox
      flag=0;         //reset flag para contar 130ms aprox             
      sali=!sali;
      contador = contador +1;
   }       
   set_timer1(0);      //reset TMR0
   flag++;            //incremento variable flag
}
void main()

   setup_port_a(AN1_ANALOG);
   SETUP_ADC(ADC_CLOCK_DIV_16);
   set_adc_channel(1);
   enable_interrupts(INT_TIMER1);            //interrupcion TIMER0 activada
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
   set_timer1(0);                        //carga TMR0
   enable_interrupts(GLOBAL);               //activadas interrupciones   

   // TODO: USER CODE!!
output_low(PIN_A5);
output_high(PIN_A2);
printf("\fEstabilizando...");
delay_ms(1000);
promedio = j = 0;
    for (i=1;i<=10;++i){
        promedio = promedio+read_adc();
        Delay_ms(20);
        }
    promedio = promedio / 10;
Delay_ms(50);
   while(true)
    {
    t = i = 0;
    for (i=1;i<=10;++i){
        t = t+read_adc();
        Delay_ms(20);
        }
    t = t/10;   
    Delay_ms(10);   
    printf("\fPROMEDIO= %d   Detectado= %d",promedio,t); 
    if (t >= (promedio + 7)){ ///Respues a deteccion en el dia   
          output_high(PIN_A0);
          output_low(PIN_A1);
          output_low(PIN_A2);
          output_low(PIN_A4);
          output_low(PIN_A5);
       delay_cycles(1);//nop
       sleep();       
       delay_cycles(1);//nop
         }
   else if (t <= (promedio - 7)){ ///Respuesta a deteccion en oscuridad     
          output_high(PIN_A0);
          output_low(PIN_A1);
          output_low(PIN_A2);
          output_low(PIN_A4);
          output_low(PIN_A5);
       delay_cycles(1);//nop
       sleep();       
       delay_cycles(1);//nop 
         }
    else  {output_low(PIN_A0);}
       if (contador == 150){// Fin de la alarmaaaaaaaaaaaa
       output_high(PIN_A0);
       output_low(PIN_A1);
       output_low(PIN_A2);
       output_low(PIN_A4);
       output_low(PIN_A5);
       delay_cycles(1);//nop
       sleep();       
       delay_cycles(1);//nop   
       }
       t =0;
       Delay_ms(5);
}//fin infinito
}//fin de main
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 05 de Junio de 2009, 01:49:49
En este otro proyecto (http://www.xelapond.com/blog/?p=323) utilizan fotodiodos, pero lo más curioso es que los acompañan de LEDs IR, de modo que en cada fotodiodo se toman dos medidas, una con el LED IR encendido y otra con él apagado, se restan ambas para eliminar la contribución IR y parece que esto logra que el sistema sea inmune al estado de iluminación ambiental.


También tiene muy buena pinta el libro gratuito que ofrece el Nui group sobre sistemas multi-táctiles: http://nuicode.com/projects/wiki-book/files

Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 25 de Septiembre de 2009, 14:08:40
Ando peleando con un par de leds buscando hacer un sensor con led, pero no consigo ningún resultado.

Básicamente estoy probando con el método que se ha descrito más abajo:
- polarizo ánodo=1 y cátodo=0
- espero
- polarizo ánodo=0 y cátodo=1
- espero
- pongo el cátodo como entrada
- y mientras sea 1 incremento un contador

Pero no consigo ningún resultado porque el cátodo se mantiene a 1 durante todo el tiempo y no se descarga.

¿Sabéis dónde estoy fallando?, ¿hay que poner resistencias limitadoras o el led va directo a los pines?
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 25 de Septiembre de 2009, 15:33:59
¡Qué raro!
Yo sí uso una resistencia limitadora en el ánodo, y el cátodo lo leo directamente con el conversor ADC del PIC.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 26 de Septiembre de 2009, 03:29:45
Pues ahora lo he intentado con el ADC y tampoco consigo que funcione bien. Las lecturas del ADC son aleatorias, unas veces muy altas y otras veces muy bajas. :(
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 26 de Septiembre de 2009, 04:41:17
A mí me funcionaba tanto con el ADC como poniendo el pin del cátodo en entrada y midiendo cuánto tiempo permanecía en alto.

¿Qué tipo de LED estás usando? En mis pruebas obtuve los mejores resultados con LEDs rojos de alta luminosidad.

Revisando mi código (que utiliza el ADC pero en el que también está comentada/deshabilitada al final del código la sección que usaba el pin como entrada) he visto que hice pruebas tomando 15 medidas consecutivas del ADC y calculando la media o simplemente quedándome con el valor mínimo de todas ellas (creo recordar que hice esto porque había fluctuaciones en la lectura del ADC), y finalmente me quedé con el valor mínimo.

Código: [Seleccionar]
//// ledSensor.c                                                     ////
////                                                                 ////
//// Autor: jfmateos2                                                ////
//// Contacto: jfmateos@lycos.es                                     ////
//// Madrid, febrero 2008                                            ////
////                                                                 ////
/////////////////////////////////////////////////////////////////////////
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN, CCP2C1
#device ADC=10
#use delay(clock=48000000)
#include ".\include\usb_cdc.h"



#define catodo0 PIN_A0
#define catodo1 PIN_A1
#define catodo2 PIN_A2
#define catodo3 PIN_A3
#define catodo4 PIN_A4
#define anodo0 PIN_B4
#define anodo1 PIN_B3
#define anodo2 PIN_B2
#define anodo3 PIN_B1
#define anodo4 PIN_B0

int1 conversorOcupado=0;

#INT_AD
void ad_handler(){
   conversorOcupado=0;
}
//ADC
void main(){
   int  i,maximo,intervalo,umbral,cuantizado;
   int32 lecturas, minimo, media;
   int32 valor, lectura[20];   
   usb_cdc_init();
   usb_init();
   while(!usb_cdc_connected()) {}

   setup_adc(ADC_CLOCK_DIV_64 );   
   set_adc_channel(0);   
   setup_adc_ports(AN0); 
   enable_interrupts(INT_AD);   
   clear_interrupt(INT_AD);   
   output_bit(catodo0,1);   
   output_bit(anodo0,0);
   output_bit(anodo1,0);
   output_bit(anodo2,0);
   output_bit(anodo3,0);
   output_bit(anodo4,0);
   umbral=120;
   intervalo=19;
   do{
      set_tris_b(27);
      set_tris_a(1);
           
      minimo=1024;
      media=0;
      //maximo=0;     
      for(i=0;i<15;i++){
         conversorOcupado=1;
         read_adc(ADC_START_ONLY);   
         while(conversorOcupado){
         }         
         valor = read_adc(ADC_READ_ONLY);
         if(valor<minimo){
            minimo=valor;
         }           
      }
      cuantizado=0;
      for(i=1;i<=18;i++){
         if(minimo>((int32)((int32)intervalo*(int32)i))){
            cuantizado=i;           
         }
      }
      output_bit(catodo0,0);     
      output_bit(anodo0,1);
      output_bit(anodo1,1);
      output_bit(anodo2,1);
      output_bit(anodo3,1);
      output_bit(anodo4,1);   
     
      usb_task();
      if (usb_enumerated()) {                 
            //printf(usb_cdc_putc, "%u %Lu", cuantizado, minimo);       
            printf(usb_cdc_putc, " %c",cuantizado);       
            //printf(usb_cdc_putc, "\n\r");       
         
      }
      delay_ms(20);
      output_bit(catodo0,1);     
      output_bit(anodo0,0);
      output_bit(anodo1,0);
      output_bit(anodo2,0);
      output_bit(anodo3,0);
      output_bit(anodo4,0);
   }while(true);
}
/*
//Contabilizar estado alto
void main(){
   int32 lecturas;
   usb_cdc_init();
   usb_init();
   while(!usb_cdc_connected()) {}
      output_bit(catodo0,1);
      output_bit(catodo1,1);
      output_bit(catodo2,1);
      output_bit(catodo3,1);
      output_bit(catodo4,1);
      output_bit(anodo0,0);
      output_bit(anodo1,0);
      output_bit(anodo2,0);
      output_bit(anodo3,0);
      output_bit(anodo4,0);
   do{
      lecturas=0;
      set_tris_b(27);
      set_tris_a(31);
      while (input(catodo2)){
         lecturas++;
      }
      usb_task();
      if (usb_enumerated()) {                 
               printf(usb_cdc_putc, "Lecturas= %Lu ", lecturas);       
               printf(usb_cdc_putc, "\n\r");         
      }   
      output_bit(catodo0,1);
      output_bit(catodo1,1);
      output_bit(catodo2,1);
      output_bit(catodo3,1);
      output_bit(catodo4,1);
      output_bit(anodo0,0);
      output_bit(anodo1,0);
      output_bit(anodo2,0);
      output_bit(anodo3,0);
      output_bit(anodo4,0);
      delay_ms(100);
   } while(true);
}*/

Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 26 de Septiembre de 2009, 08:32:21
Al final resultó que el PIC tenía jodido el ADC, caguen la puta.

He cambiado de micro y ya veo cómo el led va respondiendo a la luz. Lo que pasa es que no consigo un resultado muy satisfactorio: poniéndole al lado un led blanco de alta luminosidad de esos que te deja ciego, la diferencia entre la lectura con el dedo y la lectura si en el dedo es de 2, teniendo el ADC configurado a 8 bits.

He probado a cambiar los delays, a leer el mínimo o la media, y hasta distintos tipos de leds, pero no consigo el resultado que he visto en vuestros vídeos.

Dejo el código por si veis algo raro; he fusilado el tuyo Juanfe.

Código: C
  1.    while (TRUE) {
  2.       output_high(anodo);   output_low(catodo);
  3.       delay_us(1000);
  4.       output_high(catodo);   output_low(anodo);
  5.       delay_us(1000);
  6.       output_float(catodo);
  7.  
  8.       contador=255;
  9.       for (i=0;i<16;i++) {
  10.          conversorOcupado=1;
  11.          read_adc(ADC_START_ONLY);
  12.          while(conversorOcupado);
  13.          
  14.          valor= read_adc(ADC_READ_ONLY);
  15.          if (valor<contador) contador=valor;
  16.          
  17.       }
  18.       usb_task();  
  19.       if (usb_enumerated())
  20.          printf(usb_cdc_putc, " %Lu",contador);
  21.       delay_ms(100);
  22.      
  23.    }

Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 26 de Septiembre de 2009, 09:37:57
Algunas consideraciones:

1. El LED que ilumina y el que "siente" deben ser idénticos. Este fenómeno es más sensible a la misma longitud de onda. Si usas LEDs distintos apenas verás diferencias, que es lo que te ocurre a ti, pero en este caso la lectura con el dedo debería ser menor que la lectura con el dedo.

2. Si pones el dedo muy cerca del LED (o pegado a él) es posible que no se reciba luz del LED iluminador y que la diferencia entre poner el dedo y no hacerlo sea muy baja, como te está ocurriendo a ti, pero si éste fuera tu caso la lectura con el dedo puesto debería ser mayor que la lectura sin el dedo. En tu mensaje no indicas si te sale mayor o menor.

3. Es posible que tus LEDs sean muy sensibles... prueba a tomar 8 medidas consecutivas del ADC en lugar de 16.

¿La lectura con el dedo puesto te sale mayor o menor que sin él puesto?


Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 26 de Septiembre de 2009, 09:52:16
Con el dedo puesto es menor que sin dedo. Probaré con dos leds iguales, a ver qué tal.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 26 de Septiembre de 2009, 11:56:34
Si es menor es que sí está respondiendo a la luz reflejada en lugar de a la luz ambiente... si utilizas 2 leds iguales verás que te va mucho mejor.

Si el valor que obtienes es muy bajo ya sabes que estás esperando demasiado (recorta el número de mediciones del ADC), y si es muy alto estás esperando poco (aprovecha para realizar más mediciones con el ADC).
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 26 de Septiembre de 2009, 12:35:05
Pues nada, no consigo mejorar la recepción, sólo consigo diferenciar la presencia del dedo en 2 unidades del ADC, lo que me parece totalmente insuficiente para tener ciertas garantías.
He probado leds rojos y verdes normales, y leds blancos y azules de alta luminosidad. Supongo que tendré que probar con rojos de alta, pero me sorprende que en vuestros vídeos se ven leds rojos normales y va de lujo.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 26 de Septiembre de 2009, 12:52:38
Los LEDs normales (los que tienen coloreado el recubrimiento de plástico) van muy mal....

Los mejores, con mucho, los rojos de alta luminosidad (con el recubrimiento transparente)...

¿Qué valores te está arrojando el ADC?
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 26 de Septiembre de 2009, 13:14:46
Pues he probado distintos retardos y lógicamente veo distintos valores: 9 (7 con el dedo), 53 (51 con el dedo) y 145 (143 con el dedo).
Título: Re: Matriz de LED como sensor táctil
Publicado por: ekud en 28 de Septiembre de 2009, 01:23:55
nocturno y que tal si pones el voltaje de referencia del adc a unos 0.5 voltios, tal vez asi aumente la resolucion de tu adc  y puedas obtener lecturas mas satisfactorias...

por mi parte les cuento que este tema de los sensores de led si que funciona, no hace mucho participe en un torneo de robotica que se realizo en mi ciudad, participe en la modalidad de sumo 3kg y tengo que decirles que me arriesge a usar estos sensores como sensores de color y pude distinguir claramente el color negro del blanco y a una distancia aproximada de 3 cm del suelo, en verdad esta aplicacion de los led es toda una maravilla para mi tiene nmil aplicaciones, solamente en este robot que desarrolle me ahorre el precio de los tan conocidos CNY70 y pude con un precio muchisimo menor reemplazarlos por un par de led que funcionaron a la maravilla.

 
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 28 de Septiembre de 2009, 15:47:49
Con los rojos de alta luminosidad he conseguido algo, ya si veo diferencias de 10 puntos en la entrada del ADC. Me da la impresión de que sigue siendo poco comparándolo con los resultados que aparecen en vuestros vídeos, pero al menos sí puedo distinguir dedo puesto de dedo quitado.

Gracias por la ayuda.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 28 de Septiembre de 2009, 17:13:21
Con el conversor ADC de 10 bits que usé yo distinguía unos 380 niveles de diferencia entre LED al descubierto y LED descargado a máxima velocidad, que traducidos al de 8 bits que estás usando tú deberían ser unos 80 niveles.

Efectivamente 10 parece poco... Si quieres te mando algunos de los LEDs que usé yo para que descartemos si es un asunto de los LEDs o si hay que buscar por otro sitio.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 28 de Septiembre de 2009, 17:43:31
Es que no sé dónde puede estar el error, el esquema y el código son tan simples que ya no sé por donde mirar.
Y por otra parte, viendo tanta gente que lo ha conseguido, incluso con matrices de leds comerciales, me resulta difícil pensar que los leds tengan que ser tan especiales.
En fin, agradeceré ese envío si no es molestia. Me irá bien con un par.
Gracias
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 29 de Septiembre de 2009, 02:28:33
OK
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 29 de Septiembre de 2009, 04:39:20
Entretanto, hay otros 2 factores que pueden estar influyendo:

1. Si utilizases más de un LED para iluminar (yo usaba los 4 o hasta 6 vecinos de la matriz) el margen sería mayor.

2. A partir de cierto punto de proximidad del dedo al LED (en mi caso aproximadamente 2 centímetros), parte de la luz iluminadora se refleja fuera del LED sensor (esto se veía bien en el vídeo de mi 4º ensayo), reduciéndose el margen y, lo que es aún peor, produciéndose una descarga más lenta cuando en realidad el dedo se está acercando, es decir, el sistema asume que el dedo está lejos porque la descarga es lenta cuando en realidad está cerca. En otras palabras, colocando el dedo en contacto físico con el LED sensor podemos obtener la misma lectura que manteniéndolo aproximadamente a 4 centímetros de él. Precisamente en esta situación es cuando empieza a tener importancia también la iluminación ambiental, pues al apoyar el dedo sobre el LED no sólo se refleja sobre él menos luz del otro LED, sino que también estamos impidiendo que le llegue la luz ambiental, con lo que la descarga es aún más lenta...
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 07 de Octubre de 2009, 16:11:37
Con los leds que me has enviado consigo mejorar bastante la eficacia del sistema, ya soy capaz de distinguir presencia y ausencia de dedo con una diferencia de 20 puntos sobre 255. Ya me doy por satisfecho, aunque no entiendo porqué no veo esos 80 niveles que tú indicas.

En cualquier caso, tengo que decirte MUCHAS GRACIAS, Juanfe, tan servicial como siempre. Y por cierto, ya me contarás algún día qué entiendes tú por "un par de leds"
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 08 de Octubre de 2009, 01:28:49
Yo creo que la diferencia debe estar en que yo utilizaba más de un LED para eliminar (en mis pruebas utilicé 4 y 6), y por eso no te envié sólo un PAR de Leds  ;-)

También podrías mejorar el rango colocando una referencia de tensión para el ADC.

Salud
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 11 de Octubre de 2009, 05:54:51
GUAUUUUUUU!!!!

El señor Thomas Potoschnig, de 29 añitos, ha avanzado su matriz de LEDs infrarrojos que ya presentamos en este hilo

(http://www.pcb-dev.com/content/touch/touch.jpg)

convirtiéndola en motivo de su tesis y consiguiendo colocarla tras un monitor LCD convirtiéndolo en un panel multi-touch.


El panel está compuesto por 1536 LEDs, cubre un monitor de 17", consume 3W y ha sido capaz de refrescarlo a 10Hz con módulos esclavos controlados por una FPGA Spartan-II y centralizados en un ARM7.

En la documentación de la tesis (en alemán) http://www.pcb-dev.com/index2.php?option=com_docman&task=doc_view&gid=24&Itemid=38 podemos comprobar (en la página 34) que los cátodos de los LEDs de las filas pares y los de las impares están unidos por separado, de modo que no conforman una matriz estándar, como ya predijimos... esto lo hace para poder utilizar los LEDs vecinos para iluminar al que está actuando como sensor en cada momento.

También me ha parecido interesante que utiliza un multiplexor analógico HCF4067

Y como sensor analógico ha recurrido a un LTC1864 de 16bits y 250ksps, apoyado por una referencia de tensión LT1021

Queda por ver si podría conseguirse algo similar utilizando matrices de LEDs estándar.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 11 de Octubre de 2009, 06:14:32
¡Buenísimo, macho!
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 20 de Noviembre de 2009, 05:08:35
Creo que os debía este vídeo:
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 20 de Noviembre de 2009, 05:39:13
¿Tienes un LED iluminando y el otro como sensor? ¿o hay más de 2 LEDS,,, perdón pero tengo la vista hecha un asco?
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 20 de Noviembre de 2009, 06:08:43
El verde ilumina y el rojo lo detecta. Sólo hay dos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 20 de Noviembre de 2009, 10:57:26
Iluminas con un color y detectas con otro diferente y funciona bien... tomo nota  :mrgreen:
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 20 de Noviembre de 2009, 13:27:48
Sí, al final lo conseguí. Se consigue mayor diferencia si los dos leds son rojos, pero para la utilidad que voy a darle me venía mejor tener los dos colores y como también funcionaba así lo he dejado.

Lo que no consigo es que sea inmune a la luz directa. Va perfecto con iluminación ambiental, pero si le meto la luz del flexo directamente lo detecta como si pusiera el dedo.
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 20 de Noviembre de 2009, 15:40:14
Sí eso tiene mala solución, porque el LED sensor simplemente recibe luz y no sabe si le viene rebotada de un dedo o es que le has metido el flexo o es que alguien con un laser le está metiendo luz desde decenas de metros...

Imagino que quizás por eso hay gente que utiliza LEDs infrarrojos como detectores...
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 15 de Abril de 2010, 05:01:34
Curioso juego que utiliza una matriz de leds como sensores y un láser para disparar:
(http://blog.makezine.com/lasercommand.jpg) (http://blog.makezine.com/archive/2010/04/arduino-based_game_controlled_by_la.html)
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 15 de Abril de 2010, 05:29:49
Muy interesante la explicación de cómo combina la técnica de descarga por iluminación y carga por iluminación para discriminar, respectivamente, qué fila y qué columna está iluminada, pues utiliza una matriz led estándar.

La técnica de carga directa requiere una iluminación muy fuerte y por eso utiliza el láser, no le vale con medir la reflexión sobre un objeto de la propia luz emitida por la matriz.

El juego parece super-difícil.
Título: Re: Matriz de LED como sensor táctil
Publicado por: rivale en 28 de Junio de 2011, 23:17:40
hola a todos, aunque este post ya esta algo viejo escribo aca para no abrir otro post, espero alguien me responda, verna, he estado haciendo pruebas con los leds como sensores, y me han funcionado bien, siempre y cuando tenga dos leds juntos, uno como emisor y el otro como sensor, he podido sensar hasta como 5 cm.

pero lo que quisiera hacer es usar el mismo led como emisro y receptor, pero no lo consigo, hago lo que he visto en este post.

polarizo en directa, espero un tiempo
polarizo en inversa
cambio a entrada el pin
mido con el adc o mido el tiempo que esta en alto

pero siempre se queda en alto, no se porque
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 29 de Junio de 2011, 01:29:28
Hola rivale,

No se puede usar el mismo led como emisor y receptor, pues cuando está en modo receptor no recibe la lúz que emitió anteriormente en modo emisor (pensemos en la velocidad de la luz).

Lo que si puedes hacer es poner el led en modo receptor permanentemente y utilizar la técnica de medir la descarga que se produce en él por la luz ambiente. Si pones el dedo sobre él le llegara menos luz y se descargará más lento... si no lo pones se descargara más rápido. El problema de este método respecto al de luz producida por otro led es que es muy dependiente de la luz ambiente y, consecuentemente, requiere un calibrado cada vez que cambien las condiciones de iluminación.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 29 de Junio de 2011, 02:23:14
Podrías poner un led bicolor.
Título: Re: Matriz de LED como sensor táctil
Publicado por: rivale en 29 de Junio de 2011, 11:44:59
muchas gracias por las respuestas Nocturno y jfmateos

fue lo que supuse, no daria tiempo de que detectara su propia luz, usandolo como sensor unicamente y con la luz ambiental tuve una muy buena respuesta, variandome el ADC unos 200 bits pudiendo detectar como 20 cm aproximadamente. pero al oscurecer el ambiente pierdo casi toda la resolucion.

ahora estoy probando con una barra de leds, pienso hacer un corrimiento en el que solo un led este en modo de sensor y todos los demas como emisores para usar su luz como exitacion para el sensor, en cuanto tenga pruebas las subo.

me gustaria saber si alguien si hizo la matriz por la que se empezo el foro, o si lograron multiplexar los leds para no usar muchos pines en el micro
Título: Re: Matriz de LED como sensor táctil
Publicado por: rivale en 01 de Julio de 2011, 14:40:57
una prueba con una linea de leds usandolos como sensores tactiles, me falta optimizar el programa para que solo detecte uno, pero ya empezo a funcionar


Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 01 de Julio de 2011, 14:58:54
¡Bravo!
Título: Re: Matriz de LED como sensor táctil
Publicado por: aripod en 18 de Julio de 2011, 20:27:49
Es fantastico lo que vienen haciendo estos años con este tema!
Una cosa no me queda muy en clara....estoy viendo como hacer mi aplicacion, la cual va a contar con 5 o 6 botones,,,los cuales no habria problema en usar unos simples switches pero la idea es ver de usar otro tipo de "switch". Encontre la tecnologia mTouch de microchip y ahora me encuentro con esto.....Seria posible usar un led por cada "boton"? El panel seria para controlar un menu de un lcd; fundamentalmente para manejarlo al aire libre.
Título: Re: Matriz de LED como sensor táctil
Publicado por: rivale en 18 de Julio de 2011, 22:27:47
Es fantastico lo que vienen haciendo estos años con este tema!
Una cosa no me queda muy en clara....estoy viendo como hacer mi aplicacion, la cual va a contar con 5 o 6 botones,,,los cuales no habria problema en usar unos simples switches pero la idea es ver de usar otro tipo de "switch". Encontre la tecnologia mTouch de microchip y ahora me encuentro con esto.....Seria posible usar un led por cada "boton"? El panel seria para controlar un menu de un lcd; fundamentalmente para manejarlo al aire libre.

puedes usar los sensores capacitivos de mtouch, mira este ejemplo:
http://www.todopic.com.ar/foros/index.php?topic=28727.0 (http://www.todopic.com.ar/foros/index.php?topic=28727.0)

o podrias usar los leds como botones,  como en este post.

en ambos casos los puedes usar como "switches" usandolos al aire libre, siempre y cuando los calibres bien.
Título: Re: Matriz de LED como sensor táctil
Publicado por: aripod en 18 de Julio de 2011, 23:27:25
Es fantastico lo que vienen haciendo estos años con este tema!
Una cosa no me queda muy en clara....estoy viendo como hacer mi aplicacion, la cual va a contar con 5 o 6 botones,,,los cuales no habria problema en usar unos simples switches pero la idea es ver de usar otro tipo de "switch". Encontre la tecnologia mTouch de microchip y ahora me encuentro con esto.....Seria posible usar un led por cada "boton"? El panel seria para controlar un menu de un lcd; fundamentalmente para manejarlo al aire libre.

puedes usar los sensores capacitivos de mtouch, mira este ejemplo:
http://www.todopic.com.ar/foros/index.php?topic=28727.0 (http://www.todopic.com.ar/foros/index.php?topic=28727.0)

o podrias usar los leds como botones,  como en este post.

en ambos casos los puedes usar como "switches" usandolos al aire libre, siempre y cuando los calibres bien.

Si vi el post de los sensores capacitivos de mtouch,,,y esa iba a ser la primera opcion hasta que vi este post...pero por lo que estuve leyendo y en base a las experiencias, se obtuvieron los mejores resultados en ambientes sin tanta luz, como el aire libre..por eso fue la principal duda
Título: Re: Matriz de LED como sensor táctil
Publicado por: rivale en 18 de Julio de 2011, 23:50:16
si puedes usar los leds como sensores en cualquier ambiente. si los quieres usar como sensores tactiles es mas facil, ya que necesitas acercar tu dedo al led. entonces es mas dificil que tengas interferencia de la luz ambiente.

si vez en los ejemplos de este post, usando un emisor y un receptor funciona muy bien, ya que sensas las luz que se refleja del emisor en el dedo, asi no dependes de la luz ambiental
Título: Re: Matriz de LED como sensor táctil
Publicado por: aripod en 18 de Julio de 2011, 23:52:54
Creo que por eso empece a preguntar,,,todos los ejemplos y videos que vi la deteccion la hacen a una distancia relativamente alta, lo que me gustaria a mi es lograr que haya que "tocarlo" al led, ya que estarian cercanos uno del otro....y quisiera evitar lecturas erroneas,,,al ser el "teclado" para un menu.......no se si soy claro con la duda que tengo...
Título: Re: Matriz de LED como sensor táctil
Publicado por: rivale en 18 de Julio de 2011, 23:59:06
tu señal se daria solo cuando toques el led?.

usarias un led como emisor y otro como receptor?
Título: Re: Matriz de LED como sensor táctil
Publicado por: rivale en 19 de Julio de 2011, 00:30:46
creo que ya te entendi, en efecto, se pueden usar como sensores para distanca, pero si lo que quieres es solo detectar que se presiono, es mas simple. tu polarizas tu led en inversa y le das un tiempo para que se descargue, despues lees el estado en el que se encuentra, si el led sigue en "1", es que no se presiono, si esta en "0" es que se presiono.

el tiempo de descarga que le des dependera de que tan cerca quieres que detecte el dedo, si le das un tiempo muy corto necesitaras acercar mas el dedo.

espero te sirva la explicacion. si necesitas ayuda para implementarlo me dices y te ayudo
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 19 de Julio de 2011, 01:35:08
Cuidado aripod con las distancias cortas... en el post que hice con el vídeo explico que a medida que te vas acercando con el dedo al LED hay un momento en que él lo detecta como si te estuvieras alejando porque el ángulo de los leds emisores es estrecho y al reflejarse en tu dedo no llega a incidir sobre el LED receptor.

Si necesitas trabajar con distancias cortas plantéate usar LEDs con un ángulo de emisión muy amplio y colocar los LEDs emisores muy compactados con el LED receptor.

Si quieres que el interruptor se active sólo cuando se toque físicamente el LED te va a costar bastante, porque comprobarás que es un valor de descarga muy crítico y ligeramente dependiente de la luz ambiente... este tipo de interruptor funciona mejor para detectar distancia.
Título: Re: Matriz de LED como sensor táctil
Publicado por: Nocturno en 19 de Julio de 2011, 02:06:01
Si la duda es elegir entre leds o mtouch, yo me quedaría con lo segundo. Es más preciso, te permite encapsular el circuito y protegerlo de inclemencias externas y encima es más barato.
Título: Re: Matriz de LED como sensor táctil
Publicado por: rivale en 19 de Julio de 2011, 02:15:09
Si la duda es elegir entre leds o mtouch, yo me quedaría con lo segundo. Es más preciso, te permite encapsular el circuito y protegerlo de inclemencias externas y encima es más barato.

estoy totalmente de acuerdo, mtouch es mas confiable y barato.

dependeria de para que seria tu aplicacion, puedes experimentar con ambos metodos y ver cual te resulta mas atractivo
Título: Re: Matriz de LED como sensor táctil
Publicado por: fabianjsm en 19 de Julio de 2011, 09:59:34
Esta roto el enlace a youtube al inicio de este hilo, existe alguno actualizado?
El inicio del tema supera mi antigüedad en el foro, es como si me hubiera perdido la mitad de la película :(
Título: Re: Matriz de LED como sensor táctil
Publicado por: jfmateos2 en 19 de Julio de 2011, 11:30:28
Hola fabian, dame un mail y te mando el vídeo. No puedo adjuntarlo aquí porque ocupa más de 1 MB.

El vídeo original es de Jeff Han
Título: Re: Matriz de LED como sensor táctil
Publicado por: fabianjsm en 19 de Julio de 2011, 12:55:02
Enviado por privado. Gracias Mateos.
Título: Re: Matriz de LED como sensor táctil
Publicado por: aripod en 19 de Julio de 2011, 13:35:57
Les agradezco mucho el interes a todos, pero como dice jfmateos2, voy a tener problema con la "corta" distancia, ya que mi intencion es hacer un teclado sustituyendo los switches mecanicos...asi que creo que la mejor opcion es el mtouch. Seguire el thread ya que es muy interesante lo que estan haciendo!