Teclado Matricial

Teclado Matricial


Objetivos: 
  • Realizar un componente en PSoC que mediante un teclado matricial se obtengan datos lógicas
  • Mediante las salidas del teclado matricial cree un componente que transforme estas salidas a código binario utilizando la herramienta LUT y mediante compuertas lógicas

Materiales:

  • 4 Led's
  • 1 PSoc
  • 1 Cable USB macho-hembra 
  • 1 Protoboard
  • Cable
  • Computador con PSoC creator
  • 4 Resistencias de 1 k ohm
Marco Teórico:
Resultado de imagen para teclado matricial
Figura 1. Teclado Matricial

Resultado de imagen para teclado matricial
Figura 2. Teclado Matricial por dentro

A continuación se anexa un archivo donde se visualiza claramente el proceso de elaboración del codificador de teclado matricial.  Archivo


Figura 3. Codificador de teclado matricial

Se obtiene como resultado después del decodificador la siguiente tabla.
Tabla 1. Resultado Codificador 

Se ha de trabajar en Hexadecimal.
Mediante un LUT, como se visualiza en la figura 4. El LUT consiste en una herramienta de PSoC, que elabora procesos lógicos en base a una tabla de verdad definida por el usuario.

Figura 4. LUT conversor y tabla de verdad

Tabla 2. Conversión a Binario.

Como se visualiza en la Tabla 2, se debe realizar la conversión de teclado matricial.

Para S3, se obtiene la ecuación:
AB'D+ABD'+AC+CD
A(B'D+BD')+CD
A(X-OR(B+D))+CD

Figura 5. Salida 3

Para S2, se obtiene la ecuación:

A'BC'D'+A'BC'D+A'BCD'+AB'C'D'+AB'CD+ABC'D'+ABCD'+ABCD
=A'BC'+AC'D'+BD'+ACD
=A(C'D'+CD)+B(A'C'+D')
=A(X-NOR(C+D))+B(A'C'+D')

Figura 6. Salida 2

Para S1, se obtiene la ecuación:

A'B'C'D+A'B'CD'+A'B'CD+A'BCD'+A'BCD+AB'C'D'+ABC'D'+ABCD'
=A'B'D+A'C+AC'D'+BCD'
=D'(BC+AC')+A'(B'D+C)

Figura 7. Salida 1.

Para S0, se obtiene la ecuación: 
A'B'C'D'+A'B'CD'+A'BC'D+A'BCD+AB'C'D'+AB'CD'+ABC'D'+ABCD
=A'BD+B'D'+AC'D'+BCD
=BD(A'+C)+B'D+AC'D'

Figura 8. Salida 0


Se anexan las 3 salidas en un componente y se anexa al conversor de teclado matricial y se asignan a los pines de salida.
Figura 9. Conversor de teclado matricial a binario.


Montaje físico:


Video 1.


Conclusiones:

La sincronización es fundamental en cualquier tipo de circuito, más aun cuando una acción depende de una respuesta ligada a otro componente del circuito; en otras palabras la sincronización juega un papel importante ya que se encarga del funcionamiento adecuado del circuito, sin esta, percibiríamos una aleatoriedad en la respuesta debido a la falta de sincronización.

Es importante resaltar que el funcionamiento del hardware en un circuito digital, depende fundamentalmente del software que se implemente tras un buen proceso de análisis del funcionamiento del primero y diseño de un sistema que conecte ambos en función de la problemática en cuestión.