Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Teclado de 16 teclas
Veremos como construir un teclado de 16 teclas para utilizar como un módulo más de nuestro PIC TRAINER (para micros de 18 pines o 40 pines), a los que
se unirá mediante dos cables planos de 10 vías.
Este proyecto puede resultar interesante para estudiantes y hobbystas, o cualquiera que este iniciándose en el mundo de los microcontroladores PIC.
Tabla de contenidos
[esconder]
1 Introducción
2 El proyecto
3 PCB
4 Montaje
5 Modo de
uso
6 Autor
[editar] El proyecto
Generalmente, cuando necesitamos un teclado para nuestros proyectos recurrimos a una de dos alternativas: o utilizamos un pin del microcontrolador por
tecla, o bien creamos una matriz de teclas de "n" x "m", utilizando para ello "n" x "m" pines. En el caso de un teclado de 16 teclas se necesitan cuatro pines
para las filas y cuatro para las columnas. Es decir, un teclado de 4x4 teclas se puede leer con solo 8 pines.
[editar] PCB
Como siempre, comenzaremos realizando el circuito impreso (aprende Como construir tus propios PCB), para luego realizar las perforaciones necesarias.
Puede darse el caso de que los pines de los pulsadores sean algo mas gruesos que los de los demás componentes, así que deberemos utilizar una broca
adecuada, generalmente de 1.2 mm de diámetro.
Nuestro programa debe poner en alto una de las filas por vez, y leer los cuatro bits correspondientes a las columnas. Si alguno de ellos esta en "1", la tecla
correspondiente a la fila y columna seleccionadas se encuentra presionada. Si no hay teclas presionadas, la lectura devuelve "0", ya que las lineas estan
puestas a GND mediante los resistores de 10K.
Veremos como construir un teclado de 15 teclas, con su propio microcontrolador. Además de las posibilidades que presenta como,
por ejemplo, periférico de entrada de datos en un ordenador, puede ser utilizado en conjunto con alguno de los "trainers" (para micros
de 18 pines o 40 pines), a los que se unirá mediante un cable plano de 10 vías.
Este proyecto puede resultar interesante para estudiantes y hobbystas, o cualquiera que este iniciándose en el mundo de los
microcontroladores PIC. Se ha incluido el código fuente completo en PIC BASIC (de PIC SIMULATOR IDE) de manera que pueda
comenzar a utilizarse sin necesidad de programar nada.
Tabla de contenidos
[esconder]
1 Introducción
2 El proyecto
3 Hardware
4 PCB
5 Montaje
6 Cable y
conector
7 Software
8 Autor
El compañero ideal para este modulo es del display LCD, ya que con una placa central, un módulo LCD y este teclado se pueden
realizar proyectos que requieran interacción con el usuario, tales como alarmas, temporizadores, cronómetros, y cualquier otro que
necesita de algún menú en pantalla o de ingreso de datos.
[editar] El proyecto
Generalmente, cuando necesitamos un teclado para nuestros proyectos recurrimos a una de dos alternativas: o utilizamos un pin del
microcontrolador por tecla, o bien creamos una matriz de teclas de "n" x "m", utilizando para ello "n" x "m" pines. Si necesitáramos un
teclado de 15 teclas, en el mejor de los casos se necesitan 8 pines (n = 4 y m = 4). No siempre tenemos tantos pines disponibles.
La primera alternativa tiene la clara desventaja de requerir un muy elevado número de pines I/O, que generalmente es un recurso
escaso. El segundo caso, el de la matriz, es más eficiente en el uso de pines, sirva como ejemplo el caso de un teclado de 4x4 teclas
que se puede leer con solo 8 pines.
Pero existe una alternativa más, y consiste en crear un teclado “inteligente”, con su propia lógica de control, y que nos entregue
directamente un código correspondiente a la tecla pulsada. Esto, además de resultar económico en el uso de los recursos I/O del
microcontrolador principal, simplifica su programación, ya que el teclado entrega un código correspondiente a la tecla pulsada, sin
tener que preocuparnos de estar censando continuamente la matriz para determinar que tecla se pulso
Este código puede ser del tipo serial (vía RS-232, por ejemplo) o bien paralelo, donde se utilizan mas cantidad de conductores.
En este proyecto veremos como construir un teclado de 15 teclas, con un PIC16F628A (o su hermano menor PIC16F627A) como
elemento central, un zumbador para oír un pitido cada vez que pulsamos una tecla, y un LED que indicara que el teclado se encuentra
alimentado. La salida de este teclado será un código de 4 bits que representa la tecla presionada, o bien “0000” si no se ha presionado
ninguna.
[editar] Hardware
Como se puede ver en el esquema, el hardware es extremadamente simple:
Solo utilizamos 15 pulsadores, unos pocos resistores, un transistor para manejar el buzzer y un microcontrolador como "cerebro" del
módulo.
Debido a que el control de los tiempos con una muy alta precisión no es necesario en este proyecto, hemos ahorrado el cristal y sus
condensadores accesorios, y empleado el oscilador interno del microcontrolador, funcionando a 4 MHz.
[editar] PCB
Como siempre, comenzaremos realizando el circuito impreso (aprende Como construir tus propios PCB), para luego realizar las
perforaciones necesarias. Puede darse el caso de que los pines de los pulsadores sean algo mas gruesos que los de los demás
componentes, así que deberemos utilizar una broca adecuada, generalmente de 1.2 mm de diámetro.
Vista del lado soldaduras.
[editar] Montaje
Montaremos primero los puentes, seguiremos por los resistores y zócalo para el microcontrolador, y por ultimo las teclas, buzzer y
LED. No esta de más repasar las soldaduras por si se ha producido algún cortocircuito en el montaje.
Este conector, como dijimos compatible con el modulo central del articulo anterior, dispones de cuatro pines de datos, que llamaremos
“A”, “B”, “C”, y “D”.
[editar] Software
Realizado en en PIC BASIC (del PIC SIMULATOR IDE), el programa que debemos cargar en el microcontrolador se encarga de leer la
matriz de teclas, generar el pitido y colocar el código de 4 bits en el conector de salida.
Al presionar una tecla, el software genera un código de acuerdo a la tabla de la pagina siguiente, y pone en “0” o en “1” estos pines,
indicando que tecla se presiono. La combinación “0000” se utiliza para indicar que no se ha presionado ninguna tecla, por lo que dicho
pulsador puede no incluirse en el proyecto, o bien utilizarla como on-off del buzzer o alguna función similar. Por defecto, el buzzer toca
una nota diferente por tecla, lo que puede resultar útil como “realimentación auditiva” de que efectivamente se produjo el contacto de
la tecla.
La rutina TONOKEY del programa que veremos a continuación es la encargada de hacer sonar el buzzer con la frecuencia
correspondiente a cada tecla, que se carga en la variable FREQ en cada una de las rutinas cuyo nombre es de la forma
OUTDATAxxx, en las que además de elegir la frecuencia en cuestión, se carga cada una de las variables A, B, C y D con los valores
adecuados para que el microcontrolador los publique en los pines del puerto de expansión. Esto se realiza con los códigos de la
siguiente tabla:
ABC
Tecla
D
0001 0
0010 1
0011 2
0100 3
0101 4
0110 5
0111 6
1000 7
1001 8
1010 9
1011 *
1100 #
1101 A
1110 B
1111 C