Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
You are viewing an older revision! See the latest version
Visualizacion Matriz8x8 por SPI
RESUMEN¶
En este ejemplo se pretende mostrar la visualización dinámica en matrices 8x8 por medio del protocolo SPI. Para esto, la siguiente información de divide en: Matriz de leds, Protocolo SPI, MAX 7219 y Ejemplo Visualización Dinámica.
MATRIZ DE LEDS¶
Una Matriz está compuesta por diodos organizados en forma de matriz, es decir en filas y columnas. Estas según el fabricante pueden estar configuradas con ánodo común o con cátodo común. Si los diodos se unen por el positivo se dice que son de ánodo común; por el contrario si está unidos por el negativo su configuración es con Cátodo común.
Como mostrar una figura o carácter¶
Para encender las columnas de la matriz y realizar alguna figura o caracter se debe usar la técnica de multiplexado por medio de un microcontrolador (por código) ya que es el método que permite encender mayor cantidad de leds con una cantidad de pines razonable, es decir que para una matriz 8x8 se necesitan 16 pines de salida en el microcontrolador, ocho para controlar los datos de las filas y otros ocho para las columnas.
Por ejemplo, en una matriz 8x8 para mostrar un dato en la columna 1 teniendo una matriz de ánodo común, se debe enviar por el pin de salida del microcontrolador al que está conectada dicha columna un 0 y un 1 a las demás columnas, luego se procede a enviar el dato que se quiera mostrar por cada fila, teniendo en cuenta que 0 es apagado y 1 es encendido. Lo anterior describe la visualización de un dato por una sola columna; si se desea visualizar un carácter en toda la matriz el procedimiento es realizar la acción anteriormente descrita con la columna 1, pero después, esta misma columna debe ponerse en 0, colocar un retardo pequeño (se recomienda usar 0.5 ms) y enviar un 1 a la columna 2 -teniendo en cuenta que las demás columnas no utilizadas deben ser 0 también- y enviar el dato por cada fila para esta columna; esta acción se realizara sucesivamente con cada columna hasta llegar a la última, es decir la octava columna, y reiniciar todo el procedimiento anterior desde la columna 1. En este punto, el lector deberá usar sus conocimientos de programación para realizar esta secuencia de manera práctica y eficiente.
PROTOCOLO SPI¶
El Protocolo SPI (Serial Peripherical Interface) o en español Interfaz Periferica Serial es un protocolo síncrono que trabaja de modo full dúplex para recibir y transmitir información, permitiendo que los dos dispositivos pueden comunicarse entre sí al mismo tiempo utilizando canales diferentes o líneas diferentes en el mismo cable. Al ser un protocolo síncrono el sistema cuenta con una línea adicional a la de datos encargada de llevar el proceso de sincronismo.
Dentro de este protocolo se define un maestro que será aquel dispositivo encargado de transmitir información a sus esclavos. Los esclavos serán aquellos dispositivos que se encarguen de recibir y enviar información al maestro. Existen cuatro líneas lógicas encargadas de realizar todo el proceso:
• MOSI (Master Out Slave In):. Línea utilizada para llevar los bits que provienen del maestro hacia el esclavo. • MISO (Master In Slave Out):. Línea utilizada para llevar los bits que provienen del esclavo hacia el maestro. • CLK (Clock):. Línea proviniente del maestro encarga de enviar la señal de reloj para sincronizar los dispositivos. • SS (Slave Select):. Línea encargada de seleccionar y a su vez, habilitar un esclavo.
MAX7219¶
El MAX7219 es un chip capaz de controlar por SPI hasta 64 diodos LED independientes. Este incorpora un decoder BCD code-B, realiza multiplexado y una memoria RAM interna de 8x8 para almacenar el valor de cada dígito. Posee cinco pines, dos de alimentación (VCC y GND) y tres del SPI: MOSI (DIN), CS (Chip Select) y CLK (Clock). Aquí cabe mencionar que en este chip no se encuentra una línea lógica MISO ya que lo único que se necesita en la matriz 8x8 es mostrar datos, es decir que el Maestro envíe los datos al esclavo y no lo contrario.