TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: pocher en 10 de Marzo de 2004, 05:54:00

Título: Control de teclado con un solo pin
Publicado por: pocher en 10 de Marzo de 2004, 05:54:00
Alguién tiene hecho el programa para controlar un teclado empleando un solo pin del PIC ... sí, sí un solo pin.

Un saludo
Título: RE: Control de teclado con un solo pin
Publicado por: MGLSOFT en 10 de Marzo de 2004, 07:06:00
Dale...dale , Pocher, no te hagas el misterioso !!
Título: RE: Control de teclado con un solo pin
Publicado por: Ankarius en 10 de Marzo de 2004, 13:20:00
Bueno, yo no lo he conseguido con un solo pin ...  sino con 1/2 pin Ya lo se ... es que por aqui somos mu brutos

Salu2, Ank.
Título: RE: Control de teclado con un solo pin
Publicado por: MGLSOFT en 10 de Marzo de 2004, 13:52:00
Se trata de un teclado con interfase serial??

Ponlo aqui que luego desarrollamos luego el LCD con backpak, o sea un display serial!!
Título: RE: Control de teclado con un solo pin
Publicado por: Nocturno en 11 de Marzo de 2004, 02:31:00
Se me ocurre que podría realizarse poniendo resistencias de distintos valores en cada columna y en cada fila (en las columnas de kiloohmios y en las filas de centenas de ohmios) y puenteamos todas las columnas por un lado y todas las filas por otro.
Posteriormente se metería tensión por un lado y la otra parte del teclado podría ir a un pin del pic configurado en modo analógico.
De esta manera, leeríamos la suma de las resistencias del teclado por lo que podríamos deducir la fila y la columna activadas y, por consiguiente, la tecla pulsada.
No lo he probado, pero creo que debería funcionar, ¿no?
Título: RE: Control de teclado con un solo pin
Publicado por: MGLSOFT en 11 de Marzo de 2004, 05:22:00
Y que pasa cuando una tecla queda pulsada o en corto y ademas presionas otra??
Título: RE: Control de teclado con un solo pin
Publicado por: MGLSOFT en 11 de Marzo de 2004, 05:23:00
En la pagina de Norberto hay un teclado con interfase serial.
Te referis a eso??
Título: RE: Control de teclado con un solo pin
Publicado por: pocher en 11 de Marzo de 2004, 06:35:00
Es como comenta nocturno66, resistencias diferentes en filas y colúmnas, dependiendo de que tecla haya sido pulsada habrá una tensión diferente de entrada en el pin del PIC, la cual será convertida a digital para averiguar de qué tecla se trata.
Título: RE: Control de teclado con un solo pin
Publicado por: MGLSOFT en 11 de Marzo de 2004, 06:47:00
Puedes subir el esquematico??
Título: RE: Control de teclado con un solo pin
Publicado por: pocher en 11 de Marzo de 2004, 06:56:00
El esquema lo teneis en el TIP#7 (8*8 Keyboard with 1 input) correspondiente a PICkit 1 de Microchip.

Es una aplicación para micros con pocos pines como los 12F6XX.

Título: RE: Control de teclado con un solo pin
Publicado por: MGLSOFT en 11 de Marzo de 2004, 08:06:00
De donde lo podemos bajar??
Me refiero a que direccion...
Título: RE: Control de teclado con un solo pin
Publicado por: Nocturno en 11 de Marzo de 2004, 12:10:00
Si se pulsa más de una tecla sería un pollo, porque resistencias en paralelo restan en lugar de sumar, y sería complicado calcularlo. No obstante creo que podría hacerse según como se hayan elegido los valores de las resistencias.

De todas formas pienso que lo mejor sería ignorar cualquier valor que estuviese fuera del rango esperado.
Título: RE: Control de teclado con un solo pin
Publicado por: pocher en 12 de Marzo de 2004, 00:16:00
Está aquí: http://www.microchip.com/1010/pline/tools/picmicro/demo/pickit/
Título: Re: Control de teclado con un solo pin
Publicado por: Marttyn en 08 de Abril de 2009, 12:32:00
Hace 5 años que no se toca este tema! Lo encontre buscando, pero el link para los "Tips & tricks" de microchip donde explican como conectar muchos pulsadores a una entrada analogica, y otras cosas interesantes ya no funciona
Dejo el nuevo link, la verdad me parecio MUY interesante todo lo que cuentan ahi!
ww1.microchip.com/downloads/en/devicedoc/40040b.pdf
Título: Re: Control de teclado con un solo pin
Publicado por: Cryn en 09 de Abril de 2009, 21:44:45
el buen nocturno y redpic ya han metido las manos en esto también, puedes buscar más info en sus respectivas webs o también acá en el foro porque lo postearon aquella vez

un saludo
Título: Re: Control de teclado con un solo pin
Publicado por: RedPic en 10 de Abril de 2009, 05:25:34
Si, Marttyn, como bien dice el amigo Cryn, ya estuvimos dándole a este tema en el hilo Lectura de un Teclado Matricial 4x4 con un solo pin del PIC (http://www.todopic.com.ar/foros/index.php?topic=18911.0).

Edito: Aprovechando la cita he repasado todo el hilo para que todos sus enlaces sean válidos, se vean las imágenes, se acceda a los recursos publicados, etc.  :mrgreen:

Título: Re: Control de teclado con un solo pin
Publicado por: Marttyn en 10 de Abril de 2009, 12:27:29
Gracias por el dato! Ya estoy empapandome de sabiduria y experiencias  :mrgreen:
Cuando tenga esto listo les cuento como me fue
Salu2
Título: Re: Control de teclado con un solo pin
Publicado por: setshomaru en 10 de Abril de 2009, 19:08:07
excelente nota cuanto aprende uno de es monstruos de la programacion, gracias
Título: Re: Control de teclado con un solo pin
Publicado por: xootraoox en 13 de Abril de 2009, 03:30:14
Bueno, comento mis experiencias al respecto. 

yo al verme limitado por los pines, trate de implementar un teclado por conversión análoga a digital, osea con resistencias de varios valores.

- primero que nada las resistencias que uses tienen que ser con tolerancias al 1%.

- segundo, tienes que fijarte que el ambiente que lo vas a usar sea muy estable en humedad, ya que una vez que tienes todo muy bien ajustado y hay cambios en la misma, veras que todo tu trabajo no sirvió de mucho y que todo es un poco inestable.

- y como tercero, debes tener paciencia ajustando tu programa a tu teclado, si es que son varios a armar, ya que entre una resistencia y otra del mismo valor siempre tienen diferencias en su valor expresado por sus bandas de color.

una vez superado todo esto el teclado quedara muy bien implementado.


mi caso fue muy extremo, ya que lo aplique en un circuito el cual esta en una montaña, si y con nieve durante la temporada de inverno, todo estaba en mi contra, tuve problemas con la humedad, temperaturas y rabias...

después de muchos intentos fallidos, pude implementar un teclado de 32 pulsadores de forma exitosa. pero esta fue la metodología...

los pulsadores primero que nada tuve que hacerles una caja especial para aislarlos de toda la intemperie, así como también la electrónica, luego tuve que incluir un sistema de calefacción a todo ya que las temperaturas bajaban a -40 aprox, pero a los -10, todo empezaba a funcionar un poco raro, y lo mas desgraciado de esto es que las temperaturas llegaban a los +15 cuando las condiciones eran muy buenas, osea tenia oscilaciones entre 15 y -40 en la temperatura de trabajo, por lo que al chasis tuve que poner un sensor de temperatura el cual era el encargado de alimentar una resistencia muy grande por medio de un PWM y una etapa de potencia formada por mosfets para poder ajustar la temperatura interna del chasis en donde estaba alojada la electrónica, apsss y como dato, traten de evitar los leds verdes y blancos entre esa variación de temperaturas, ya que también obtendrán calentones de cabeza....

tratare de buscar en donde tengo ese programa para poder colocarlo aquí y ver si sirve de algo, de momento este es mi comentario obtenido de mis experiencias  con uno de estos teclados
Título: Re: Control de teclado con un solo pin
Publicado por: RedPic en 13 de Abril de 2009, 11:25:07
Si, xootraoox, si a todo.

Tan si a todo que yo este montaje no lo aconsejo mas allá de hacer un bonito experimento y con fines puramente didácticos para aprender a jugar con el ADC y los divisores de tensión.

Pero de ahí a querer utilizarlo para algo donde se necesite seguridad de uso no lo veo conveniente, como bien dices es demasiado inestable y habría que estar constantemente ajustándolo para que devuelva valores correctos ... o poner algunos divisores de test y comparar los unos con los otros para hacer ajustes automáticos ....  no, demasiado complejo para tan poca cosa.  :D :D :D

Título: Re: Control de teclado con un solo pin
Publicado por: xootraoox en 13 de Abril de 2009, 12:58:08
Bueno, dentro de todo es una buena solucion pero conlleva muchos factores a dominar en conjunto con esto que parece tan simple, lo que lo termina haciendo mas complejo y costoso que otros metodos...

Yo secamente, recomiendo usar metodos mas conocidos y manejables antes que este... para yo pensar nuevamente en un teclado analogo tendria que ser muy extremo el caso.
Título: Re: Control de teclado con un solo pin
Publicado por: RedPic en 13 de Abril de 2009, 17:01:24
Yo secamente, recomiendo usar metodos mas conocidos y manejables antes que este... para yo pensar nuevamente en un teclado analogo tendria que ser muy extremo el caso.

Si, yo igual. Cuando necesite por cox..nes un teclado y tenga un soplo pin (con AD) libre. ja, ja, ja  :D :D :D
Título: Re: Control de teclado con un solo pin
Publicado por: Marttyn en 13 de Abril de 2009, 19:00:25
En vez de implementar un teclado analogico al estilo keypad de 4x4 voy a hacerlo en "escalera", que cada pulsador este separado (en voltage/resistencia) lo mismo uno del otro.
(http://i299.photobucket.com/albums/mm317/Marttyn/Electronica/th_Tecladoanalogico.jpg) (http://i299.photobucket.com/albums/mm317/Marttyn/Electronica/Tecladoanalogico.jpg)
Tiene la desventaja de usar el doble de resistencias, pero la ventaja de que la separacion de voltaje es siempre la misma. En cambio si son 4 filas y 4 columnas, la separacion de voltajes puede ser muy diferente unos de otros.

Es interesante lo que comentas Diego! Se podria implementar un "recalibrado" del soft: se pulsan todos los pulsadores secuencialmente para que el pic mire que voltage le corresponde y lo guarde en la eeprom... Y haciendo esto una vez cada tanto nos aseguramos que si varia algun voltaje por la calidad de los pulsadores, las resistencias o lo que sea el pic siempre tenga el valor adecuado.  :mrgreen:
Título: Re: Control de teclado con un solo pin
Publicado por: zagoaristides en 16 de Abril de 2009, 14:08:01
En vez de implementar un teclado analogico al estilo keypad de 4x4 voy a hacerlo en "escalera", que cada pulsador este separado (en voltage/resistencia) lo mismo uno del otro.
(http://i299.photobucket.com/albums/mm317/Marttyn/Electronica/th_Tecladoanalogico.jpg) (http://i299.photobucket.com/albums/mm317/Marttyn/Electronica/Tecladoanalogico.jpg)
Tiene la desventaja de usar el doble de resistencias, pero la ventaja de que la separacion de voltaje es siempre la misma. En cambio si son 4 filas y 4 columnas, la separacion de voltajes puede ser muy diferente unos de otros.

Es interesante lo que comentas Diego! Se podria implementar un "recalibrado" del soft: se pulsan todos los pulsadores secuencialmente para que el pic mire que voltage le corresponde y lo guarde en la eeprom... Y haciendo esto una vez cada tanto nos aseguramos que si varia algun voltaje por la calidad de los pulsadores, las resistencias o lo que sea el pic siempre tenga el valor adecuado.  :mrgreen:

Es muy buena esta solución yo la usé, pero algo cambiada. En realidad usé diodos polarizados directamentee (creo que 1N4148) en lugar de resistencias ( [5V/(Caida de tensión en cada uno)] para la cantidad de teclas máximo para 5 V).

Ventaja: Podés ocupar menos corriente (muuuucha menos), que con resistencias ya que si es porque estás usando un micro como los 12F puede ser importante en una aplicación con baterías. Y en caso de poner R grandes, se mete mucho ruido de modo común por el simple acercamiento de la mano si tenés mucha estática (cuando estamos en el orden de MOhms). Dependiendo la cantidad de diodos y la corriente que estemos dispuestos a gastar se puede necesitar una R en serie con el circuito.

Lo que no me acuerdo es si puse pequeños capacitores de montaje superficial con cada diodo (ánodo-masa), por el tema de la corriente de entrada al A/D o filtro contra ruido, se que lo probé, pero pruebo tantas cosas para encontrar fallas que por ahí no era eso y no me acuerdo ahora, pero es cuestión de, valga la redundancia, probar!!!

Adio!!!
Título: Re: Control de teclado con un solo pin
Publicado por: Marttyn en 18 de Abril de 2009, 11:11:29
Zago, la verdad que parece mejor solucion lo de los diodos, pero en mi caso no podre usarlo, ya que estos tienen una caida de 0,6v y trabajando a 5v no podria poner 16 pulsadores.
Lo que dices de las resistencias y su consumo, en el teclado que propuse antes no habria demasiado consumo y creoque tampoco demasiado ruido. El consumo de apretar una tecla es de 0.63mA la tecla que menos consume, hasta 1.06mA la tecla que mas consume. Probado en simulacion, claro  :mrgreen:
Crees que es suficiente corriente para estar medianamente inmune al ruido y la estatica?
Título: Re: Control de teclado con un solo pin
Publicado por: zagoaristides en 26 de Abril de 2009, 23:50:40
Zago, la verdad que parece mejor solucion lo de los diodos, pero en mi caso no podre usarlo, ya que estos tienen una caida de 0,6v y trabajando a 5v no podria poner 16 pulsadores.
Lo que dices de las resistencias y su consumo, en el teclado que propuse antes no habria demasiado consumo y creoque tampoco demasiado ruido. El consumo de apretar una tecla es de 0.63mA la tecla que menos consume, hasta 1.06mA la tecla que mas consume. Probado en simulacion, claro  :mrgreen:
Crees que es suficiente corriente para estar medianamente inmune al ruido y la estatica?

Si, sin dudas. Para que haya ruido tenés que estar en los MOhms, no tengo ganas de calcular pero tiene que ser un pasa bajos a la frecuencia del cuerpo que es el que hace de antena (regularmente 50Hz de la red).
No hace falta poner todos los diodos del rango de 5 V mientras la corriente que pasa por cada uno no lo lleve arriba de su potencia.
Contame como te fue.

Ci vediamo.
Título: Re: Control de teclado con un solo pin
Publicado por: Marttyn en 27 de Abril de 2009, 10:21:42
Estoy terminando con el receptor primero, y luego me pondre con el mando. Mientras estaba recopilando info para no perder tiempo  :mrgreen:
Creo que va a funcionar, a pesar incluso de las interferencias, ya que no seran demasiadas (creo), y los problemas de temperatura tampoco creo que me afecten.
Espero terminarlo en unas semanas!  :-/
Salu2
Título: Re: Control de teclado con un solo pin
Publicado por: micro_pepe en 18 de Diciembre de 2011, 19:52:48
Estoy terminando con el receptor primero, y luego me pondre con el mando. Mientras estaba recopilando info para no perder tiempo  :mrgreen:
Creo que va a funcionar, a pesar incluso de las interferencias, ya que no seran demasiadas (creo), y los problemas de temperatura tampoco creo que me afecten.
Espero terminarlo en unas semanas!  :-/
Salu2

Hola Marttyn, ¿implementaste ese teclado? ¿es estable y le afecta poco el envejecimiento de los pulsadores? Estaria bien saber su comportamiento antes de implementarlo.

Saludos.
Título: Re: Control de teclado con un solo pin
Publicado por: Marttyn en 27 de Diciembre de 2011, 09:26:41
Hola Amigo!
La verdad emprendo muchos proyectos, y unos cuantos luego quedan en el olvido debido al escaso tiempo del que dispongo.
Este ha sido uno de ellos :(