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:
Figura 1. 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.