Teclado de punto común y teclado matricial.
El uso del teclado es muy importante en la electrónica, ya que a través de estos se puede introducir datos numéricos o hacer que los circuitos hagan algo de acuerdo al número que se presione en el teclado. Se verán dos tipos de teclados, uno es el que se conoce como el teclado de punto común y el otro es el que que se conoce como el teclado matricial, estos serán utilizados posteriormente en aplicaciones que se realicen con microcontroladores, por lo cual es necesario aprender a realizar la programación adecuada para poder trabajar con el teclado. Lo que se comente comente aquí será para el caso de aquellos que tengan 12 teclas, que son como el que se puede ver en la imagen superior, ya que en este momento son los que se tienen a mano, pero es fácilmente ampliable si se tiene algún teclado de 16 teclas por ejemplo.
1.-Teclado de punto común. En este tipo de teclado hay un pin que es común para todas las teclas, en e n la imagen es el pin 1, el pin 2 no se conecta a nada, parece ser un pin de relleno, a partir del pin 3 ya le corresponderá a alguna tecla, en la imagen también están indicadas las respectivas correspondencias, por ejemplo al pin 4 le corresponde la tecla 7, al pin 11 le corresponde la tecla #.
Cada tecla en si viene a ser un pulsador, es decir que cada vez que se presione una tecla, lo que esté presente en el pin 1 (COM) llegará al pin correspondiente a la tecla que se ha presionado, por ejemplo si se tiene 5V en el pin 1 y se presionar la tecla 9, entonces a su pin correspondiente que es el pin 12 le llegarán 5V, una vez que se deje de presionar la tecla dejarán de llegar a su pin los 5V presentes en el pin 1, internamente el teclado de punto común se lo puede ver como en la imagen siguiente:
Este tipo de teclado se tendrá que utilizar junto con un codificador como el 74LS147 o también se puede conectar directamente sobre el microcontrolador, con la
diferencia que con la ayuda del 74LS147 se necesitaran solo 4 pines del microcontrolador, mientras que al conectarlo en forma directa se necesitaran un mínimo de 12 pines del microcontrolador, en el siguiente vídeo se puede ver como utilizar el teclado de punto común junto con el codificador 74LS147.
Si se quiere utilizar este tipo de teclado conectándole directamente al microcontrolador, será necesario el uso de un mínimo de 12 pines del microcontrolador, cada uno de los cuales tendrá que programarse como entradas digitales, y así lograr que cada una de las teclas realicen alguna tarea, no es la mas recomendable porque se utilizan muchos pines del microcontrolador, pero es
una forma sencilla de comprender como trabaja el teclado de punto común. En este caso la idea es que por medio de un display de 7 segmentos se pueda visualizar la tecla que se ha presionado, el circuito utilizado es el que se muestra en la siguiente figura, mas adelante se verá su uso junto con el codificador 74LS147. Sobre el uso del display de 7 segmentos puedes ver el siguiente enlace. 12 pines del microcontrolador serán programados como entradas digitales, el punto común del teclado se conecta a 0V, con lo cual al presionar una tecla se enviará un 0V a su pin correspondiente; 4 pines del microcontrolador son programados como salidas digitales a través de los cuales se enviará el número en binario de la tecla presionada al decodificador 74LS48, y de este se enviará la codificación correspondiente al visualizador de 7 segmentos para poder ver el valor numérico de la tecla presionada. Mediante el programa se irá viendo tecla por tecla si alguna de ellas se a presionado, el microcontrolador se dará cuenta de ello porque al pin donde se a conectado la tecla le llegará un cero, y si eso ocurre entonces el microcontrolador enviará a sus salidas en forma binaria el número de la tecla que se a conectado a ese pin. En este primer vídeo se puede ver la forma de programar el AVR para utilizar el teclado de punto común, el código utilizado esta divido en 3 partes. Vídeo.
Código parte 1.
Código parte 2.
Código parte 3.
En el siguiente vídeo se ve como se puede programar el microcontrolador para utilizar el mismo teclado de punto común, pero en este caso se realiza el programa con menos líneas de código. Código parte 1.
Código parte 2.
. .
2.-Teclado Matricial.
Se comentará para el caso de un teclado matricial de 12 teclas, pero lo que se comente es fácilmente aplicable para el caso en que se cuente con un teclado matricial por ejemplo de 16 teclas. En la imagen se puede ver un teclado matricial de 4 filas por 3 columnas con un total de 12 teclas (4×3), consta de 7 pines, 4 pines para las filas y 3 pines para las columnas, este se caracteriza porque a cada tecla le corresponde 2 pines, un pin de una fila y un pin de una columna, para su uso con el microcontrolador solo serán necesarios la utilización de 7 pines de este. Se puede ver el orden de las filas y las columnas para este modelo, siendo necesario siempre verificarlos mediante la hoja de datos del teclado que se tenga, en este caso por ejemplo a la tecla 1 le corresponde el pin 1 por estar en la fila 1 y el pin 5 por estar en la columna 1, a la tecla 8 por ejemplo le corresponde el pin 3 por estar en la fila 3 y el pin 6 por estar en la columna 2, la misma idea es para las demás teclas en cuanto a la correspondencia de pines por tecla.
Internamente el teclado matricial de 4×3 se lo puede ver como en la imagen, en ella se ve por ejemplo para las filas en negro, que a la fila 1 le corresponden las teclas 1, 2, 3, y están conectados al pin 1 del teclado, lo mismo para las otras filas; en cuanto a las columnas en azul, por ejemplo a la columna 2 le corresponden las teclas 2, 4, 8, 0 que están conectadas al pin 6, lo mismo para las otras columnas. Para utilizar el teclado matricial con el microcontrolador, en este caso (puede ser de otra manera, eso depende de lo que se decida) se conectarán los 4 pines de las filas, a 4 pines contiguos de un mismo puerto del microcontrolador los que se programarán como entradas digitales, a la vez que se programarán sus resistencias pull up; y los 3 pines de las columnas a 3 pines contiguos del mismo puerto del microcontrolador los que se programaran como salidas digitales. Todas las entradas que está conectadas a las filas estarán a 1, esto por sus resistencias pull up, en las salidas se irán alternando en forma muy rápida, dependiendo de la velocidad de reloj del microcontrolador, los valores 011, 101, y 110 para las columnas, esto hará que si por ejemplo en la salidas del microcontrolador está el valor 011, esto es al pin 5 que es la columna 1 le llega un 0, al pin 6 que es la columna 2 le llega un 1 y al pin 7 que es la columna 3 le llega un 1, en ese momento si se presiona la tecla 4, al que le llega el pin 5 del teclado que está a 0, a la entrada conectada al pin 2 del teclado le llegará un 0, lo que detectará el microcontrolador por la resistencia pull up, si se presionara la tecla 9 por ejemplo como el pin 7 estará a 1 la entrada conectada al pin 3 no detectará nada ya que esta estará permanentemente a 1 a través de su resistencia pull up. Al presionar una tecla cuando a su columna le esté llegando un cero se enviará ese cero a su fila correspondiente, el microcontrolador detectará el cero por medio
de su pin conectado a la fila, de esta manera se detecta que tecla se ha presionado, todo este proceso ocurre en forma muy rápida. En el siguiente vídeo se ve la forma de programar el microcontrolador para utilizar el teclado matricial, en este caso la idea es que por medio de un display de 7 segmentos se pueda visualizar la tecla que se ha presionado, el circuito utilizado es el que se muestra en la figura.
Para el uso del teclado 4 pines del microcontrolador serán programados como entradas digitales, 3 pines del microcontrolador serán programados como salidas digitales, se programarán otros 4 pines del microcontrolador como salidas digitales a través de los cuales se enviará el número en binario de la tecla presionada al decodificador 74LS48, y de este se enviará la codificación correspondiente al visualizador de 7 segmentos, para poder ver el valor numérico en forma decimal de la tecla presionada. En la programación se enviará primero el 011 a la salida y se irá viendo si algunas de las entradas se ha puesto a cero, lo que ocurrirá si se presiona alguna tecla de la columna 1, luego se enviará a la salida el 101 y se verá si alguna entrada se ha puesto a cero, lo que ocurrirá si se presiona alguna tecla de la columna 2, luego se enviará a la salida el 110 y se verá si alguna entrada se ha puesto a cero, lo que ocurrirá si se presiona alguna tecla da la columna 3. En el siguiente vídeo se comenta las características del teclado matricial. En el vídeo que sigue se muestra el programa utilizado para la programación del AVR ATmega88, para la utilización del teclado matricial, el código es este caso está hecho de la forma extensa. Vídeo: Código parte 1:
Código parte 2:
Código parte 3:
En el vídeo que sigue se muestra el programa utilizado para la programación del AVR ATmega88, para la utilización del teclado matricial, el código es este caso está hecho de la forma reducida. Vídeo: Código: