¿Cómo funcionan los teclados matriciales y matrices de LEDs?

Es una maravilla tener letreros que funcionan con LED y que pueden mostrar un sinfín de avisos y señalizaciones y textos que parecen que se desplazan, mientras que por otro lado, los teclados matriciales nos permiten pulsar una gran cantidad de combinaciones y emplearlos en proyectos que requieran códigos numéricos.

En esta entrega se explicará escuetamente cómo funciona tanto el teclado matricial como la matriz de LED y las consideraciones para que funcionen adecuadamente. No es el propósito dar una explicación detallada acerca de las conexiones y de la programación.

Matriz de LED

Una matriz de LED es un conjunto de LED cuyos agrupados en filas (o renglones) y columnas, las cuales pueden ser tan grandes como un quiera o requiera. En la siguiente ilustración se muestra el esquema de conexión de una matriz de 8 x 8 de un solo color.

En la ilustración izquierda se muestra que en las filas todos los ánodos comparten un solo nodo mientras que la imagen de la derecha las filas de LED los cátodos están conectados a un solo nodo, de ahí que las matrices tengan la configuración de ánodo común o de cátodo común. Por consiguiente, en el caso de la matriz de ánodo común, los cátodos de los LED de cada columna están conectados a un sólo nodo y, en la matriz de cátodo común, los ánodos de los LED de cada columna están conectados a un nodo.

Para que funcione, además de la matriz de LED, es muy importante que se encuentren perfectamente acoplados las partes que hacen que el sistema funcione como una sola entidad: el hardware y las líneas de código del programa.

Hardware. En esta parte se tienen dos opciones que pueden ser usadas dependiendo del tamaño de la matriz y del modo que se quiera tratar el problema, pero ambas son buenas opciones. La primera es emplear un microcontrolador y la otra es emplear circuitos integrados como multiplexores, dispositivos lógico-programables, compuertas lógicas y chips conocidos como registros de corrimiento. Se debe tomar en cuenta que es que se debe tener cuidado en realizar las conexiones de la matriz al microcontrolador, así como revisar con detalle el programa ya que es la parte en la cual se determina los LEDs que van a prenderse. Por otro lado, si se emplea el uso de multiplexores, es necesario saber cómo elaborar las tablas de verdad. La tercera opción es usar tanto el microcontrolador como los otros chips o un driver para matrices.

En el siguiente video se explica el funcionamiento de un multiplexor y un demultiplexor

Software. El software consiste principalmente en las líneas de código que se escriben para programar el microcontrolador y este enviará las señales eléctricas a los LED para que se enciendan. Dependiendo lo que se quiera hacer, la programación es muy particular. A continuación se muestra un video en el que se muestra el funcionamiento de una matriz con Arduino.

 Como hay muchas formas en las que se puede operar una matriz de LED, en el siguiente video puede verse cómo controlar una matriz de LED sólo con Arduino y sin usar multiplexores.

Teclado Matricial

Es un conjunto de botones agrupados, al igual que las matrices de LED, en arreglos de filas y columnas. Pese a que además de números puede contener otros caracteres como letras y otros símbolos, al fin y al cabo lo único que generan son señales eléctricas al presionar cualquier botón. En la siguiente ilustración se muestra el diagrama de un teclado de 8 x 8.

El teclado es mucho más fácil de conectar que la matriz de LEDs porque desde que se prende el sistema se alimenta a la matriz y al oprimir algún botón se cierra una circuito correspondiente a una fila y a una columna –como si fuera una coordenada- Por otra parte, dependiendo de las conexiones y del tipo de resistencia a emplear –ya sea pull-up o pull-down– pueden tenerse estados lógicos BAJOS al usar el pull-up o estados lógicos ALTOS al emplear el pull-down. En el video siguiente se muestra el funcionamiento básico de un teclado.

Sin embargo esto no sirve para identificar cuál botón se ha presionado ya que al presionarse se sabe que algún botón de cierta columna (o fila) ha cerrado el circuito, pero no se sabe a cuál fila (o columna) pertenece. Lo que debe hacerse es un barrido de filas (o columnas), esto es, que una fila quede activada mientras las otras se mantienen desactivadas por cierto lapso y después la siguiente fila queda activada y el resto se desactivan; este proceso se hace consecutivamente hasta la última fila para iniciar nuevamente con la primera fila.

Sobre cómo emplear un teclado con Arduino, este video puede ser útil:

En este otro puedes ver cómo hacer un tablero de seguridad con un display LCD:

Los siguientes enlaces son recomendados para consultar más información al respecto:

https://appelsiini.net/2011/how-does-led-matrix-work/

http://produccioneros.blogspot.mx/2009/06/teoria-de-funcionamiento-de-una-matriz.html

https://www.geekfactory.mx/tutoriales/tutoriales-pic/teclado-matricial-con-pic/