TECLADO MATRICIAL (KEYPAD 4x4)
utilizados en el desarrollo de proyectos con microcontroladores PIC y
que tienen su aplicación en el ingreso de datos de manera manual por
parte del usuario, en aquellos casos en que el empleo de pulsadores
simples no es lo más apropiado, ya sea por la presentación final del
producto o por la restricción del número de líneas de entrada de los
microcontroladores PIC.
El teclado matricial 4x4 está constituido por una matriz de pulsadores dispuestos en filas (A,B,C,D) y columnas (1,2,3,4), con la intención de reducir el número de pines necesarios para su conexión. Las 16 teclas necesitan sólo 8 pines del microcontrolador, en lugar de los 16 pines que se requerirían para la conexión de 16 teclas independientes.
El teclado matricial 4x4 está constituido por una matriz de pulsadores dispuestos en filas (A,B,C,D) y columnas (1,2,3,4), con la intención de reducir el número de pines necesarios para su conexión. Las 16 teclas necesitan sólo 8 pines del microcontrolador, en lugar de los 16 pines que se requerirían para la conexión de 16 teclas independientes.
LIBRERIA A USAR
El compilador C incluye la librería KBD.c para manejar el teclado 3x4. las funciones que se incorporan son las siguientes:
Kbd.init(); inicializa el sistema debe ser la primera función a ser llamada
Kbd_getc(); devuelve el valor de la tecla pulsada en función a la tabla que se tiene programada.
En el caso que se quiera utilizar un teclado matricial de 4x4, tendremos que modificar la librería KBD.c
Pueden descargar la librería ya modificada para hacer uso con un keypad 4x4.
En los tutoriales se podrá ver como se realiza la programacion para poder usar el teclado, asi como tambien como modificar la libreria KBD.c para usarlo con un keypad 4x4.
Tutorial - Modificacion de Libreria KBD
mi amigo, esa libreria que nos compartiste, es valida para PIC18F4550?
ResponderEliminarlamentablemente no...es mas facil wizard del c compliler sin librerias directo solo selecionas pic 18f4540 y la frecuencia a 4Mhz..y listo
EliminarCcs Compiler (Pic C Compiler) - Teclado Matricial
Eliminar~
Aprendiendoelectrónica >>>>> Download Now
>>>>> Download Full
Ccs Compiler (Pic C Compiler) - Teclado Matricial
~
Aprendiendoelectrónica >>>>> Download LINK
>>>>> Download Now
Ccs Compiler (Pic C Compiler) - Teclado Matricial
~
Aprendiendoelectrónica >>>>> Download Full
>>>>> Download LINK NZ
Asi es, lo probé con ese PIC y me funciona correctamente
ResponderEliminarAmi no me funciona
EliminariNTENTO SIMULAR TU CODIGO DEL TECLADO CON EL PIC18F4550 Y NO APARECE NADA EN LA SIMULACIÓN. PUEDES SUBIR EL CODIGO PARA EL 4550 POR FAVOR
ResponderEliminarYo soy principiante en todo esto de los PICs y cada dia me intereso en aprender todos los detalles posibles. Los tutorials 1 al 4 fueron sin problemas pero el #5 no hay forma que compile y trabaje! Yo estoy seguro que todo esta relacionado con las librerias, y auque yo añadí la Kbd4x4_1 todavia recibo alarmas y no compila bien. Alguna ayuda sería genial. Gracias
ResponderEliminarYo soy principiante en todo esto de los PICs y cada dia me intereso en aprender todos los detalles posibles. Los tutorials 1 al 4 fueron sin problemas pero el #5 no hay forma que compile y trabaje! Yo estoy seguro que todo esta relacionado con las librerias, y auque yo añadí la Kbd4x4_1 todavia recibo alarmas y no compila bien. Alguna ayuda sería genial. Gracias
ResponderEliminarHola amigo, esa libreria funciona en el pic 16f876a?
ResponderEliminarGracias me ahorraste tiempo de desarrollo Funciona perfectamente, solo hay que tener cuidado con habilitar los pullups ya que si sólo se utiliza la libreria hay que añadir el codigo !!
ResponderEliminarque tal, oye una pregunta, como podria hacerle para conectar un teclado de 6x4? Saludos.
ResponderEliminarGracias por tu aporte, funciona de maravilla!
ResponderEliminarPero al igual que todos, ya que lo compilas para el 18f4550, no funciona.
ResponderEliminarno me funciona eso esta como mal jajajajaja
ResponderEliminarpic16f877a con teclado 4x4 y con dos display de 7 segmentos que cuente unidades y decenas, es decir con las teclas poner ya se 23 o 32, que reconosca el numero 23 o el numero 32 utilizando teclas
ResponderEliminarpor que no funciona para el pic 18f4550 ??, también lo intente correr, no me marca ningun error pero al momento de mostrar el valor de k, no me muestra nada :(. Hay otros donde se pone el codigo directamente creo que lo hare de esa forma :/
ResponderEliminarhola, hice todo igual incluyendo la modificacion de la libreria kbd pero con un pic 18f4550, en el compilador no me muestra error pero en proteus no me muestra nada... me podrias ayudar.. gracias
ResponderEliminarayuda he intentado poner el codigo asi tal omo esta y no simula en proteus simplemente se queda sin hacer nada la pantalla, ya cheque otras librerias para el teclado, no se si sea el simulador o que sera??? uso proteus 8 y uso el pic 18f4550 pero no he logrado poder usar el teclado, que podra ser?
ResponderEliminarPara que funcione con el 18f4550 se tiene que conectar un respack 8 en Proteus al teclado, este componente tiene un pin de alimentación y los demás van conectados directo al teclado, no importa el orden y el teclado a su vez al pic.
ResponderEliminarExcelente aporte, muchas gracias utilice el respack-8 con el pick 18f4550 con las resistencias pullup desactivadas, y funciono correctamente!!
ResponderEliminarTengo el teclado conectado con el respack-8 con el PIC18f4550 pero no logre que me funciones y no encuentro el error. Alguien podria ayudarme??
ResponderEliminarpareciera tonto pero estuve todo el día buscando el error con el pic 18f4550, la solución que encontré fue conectar resistencias, de cada fila a una res, de hay al pin del pic, (las columnas van directo al pic) el codigo que utilice fue el siguiente:
ResponderEliminar#include <18F4550.h>
#fuses XT, NOMCLR,NOWDT
#use delay(internal = 4m)
#define use_portb_kbd TRUE
#define LCD_DATA_PORT getenv("SFR:PORTD")
#include
#include
void main()
{
port_b_pullups(true);
lcd_init();
kbd_init();
lcd_putc("keypad");
char k;
while (true)
{
k=kbd_getc();
if(k!=0)
{
printf(lcd_putc,"\n");
printf(lcd_putc,"tecla %c ",k);
}
}
}
Hola, oye, no pusiste la librería del teclado ?
EliminarGracias, buen hombre! David Alejando
ResponderEliminaruna pregunta por utilizaste x=k-48??
ResponderEliminarfavor suministrarme compilador c gracias
ResponderEliminar