2016/05/20

Teclado usando un extensor de puerto.

Despu茅s de aprender el uso b谩sico del extensor PCA9554 en mis simulaciones con ISIS Proteus y de experimentar con el teclado por un puerto anal贸gico, quise hacer lo mismo con el extensor.

PCA9554 Aplicaciones b谩sicas.
Figura-01.


A veces en nuestros proyectos quedamos cortos con los pines del micro, as铆 que implementar un teclado por un extensor I2C y dejar los pines del micro con caracter铆sticas especiales libres para sus usos, por ejemplos los de comunicaci贸n, interrupciones y anal贸gicos, es una opci贸n interesante.

Micro PIC18F452
Figura-02.


Debo reconocer que todav铆a no poseo la experticia de entender totalmente el Driver “kbd.c” que tiene PIC-C CCS, pero realizo una interpretaci贸n en este ejercicio.

Primero tenemos la conexi贸n del teclado con el extensor, como vemos en la figura-03.

Conexi贸n al extensor.
Figura-03.


Configuro los pines de 0 al 2 como salidas y del 3 al 7 como entradas. La idea es colocar un bajo en una fila y detectarlo en una de las entradas (si una tecla es pulsada) como vemos en la figura-04.

Fila 1.
Figura-04.


As铆 sucesivamente lo hacemos con las otras filas, si no se detecta el bajo (pulsaci贸n del teclado) se regresa el valor vaci贸 (“\0” car谩cter 贸 0x00 hexadecimal).

Diagrama de la simulaci贸n.
Figura-05.


Ejercicio [MG] [MF].


Conclusiones:

Igual que el ejemplo del teclado por el puerto anal贸gico, se tiene que el micro ejecuta kbd_getc( ) mas r谩pido que una pulsaci贸n promedio, as铆 que se tiene m煤ltiples valores de la tecla pulsada, en ambos ejemplos se aminora este efecto con retardos, si se quiere implementar se debe ajustar estos retardos. En el Driver de PIC-C utiliza un contador que todav铆a no he descifrado, si lo hago agrego una nueva versi贸n.

Simulaci贸n.
Figura-06.


Como siempre este ejemplo es para poner en pr谩ctica el concepto en la simulaci贸n y se obvian algunas conexiones, as铆 que al final esta los Datasheet de los dispositivos usados.

No se le olviden revisar el “main.h” para ver los FUSES y la configuraci贸n de I2C, cualquier duda, consejo 贸 correcciones la pueden realizar usando los comentarios o lo enlaces del blog, aqu铆 todos estamos aprendiendo.

DataSheet.

PCA9554 [MF] [MG].
PIC18F452 [MF] [MG].


Tambi茅n puede interesarte:


5 22XD: Teclado usando un extensor de puerto. Despu茅s de aprender el uso b谩sico del extensor PCA9554 en mis simulaciones con ISIS Proteus y de experimentar con el teclado por un puerto...
< >