Haz que tus Números Brillen: Tutorial de Arduino y el Módulo MAX7219

Haz que tus Números Brillen: Tutorial de Arduino y el Módulo MAX7219 - Tecneu

Introduccíon

En este tutorial, te guiaremos en el uso del módulo MAX7219 con display de 7 segmentos y 8 dígitos en la plataforma Arduino. Adquirirás habilidades esenciales que podrás aplicar en una gran variedad de proyectos. Si necesitas visualizar información en forma de números o símbolos, este módulo será una herramienta de suma utilidad en tu kit de desarrollo de Arduino.

Materiales 

Módulo MAX7219 con display de 7 segmentos

El módulo MAX7219 con display de 7 segmentos y 8 dígitos es una solución popular para proyectos que requieren la visualización de datos numéricos o alfanuméricos. Este módulo facilita la tarea de controlar múltiples LEDs organizados en segmentos y dígitos. Aquí tienes una descripción detallada de sus características y funcionalidades:

  1. Se basa en el integrado MAX7219 de Maxim Integrated, que es un controlador compacto, de entrada/salida serial, diseñado para controlar displays de LED de hasta 7 segmentos y 8 dígitos o una matriz de LEDs de 64 individuales. Es muy usado en aplicaciones de microcontroladores debido a su facilidad de interfaz y características de ahorro de energía.

2. Display de 7 segmentos:
El módulo incorpora un display de 7 segmentos, lo que significa que cada dígito consta de 7 LEDs individuales dispuestos en un patrón de "8". Esto permite la representación de los números del 0 al 9 y algunas letras del alfabeto. Algunos módulos incluyen un octavo LED de "punto decimal".

3. 8 dígitos:
El módulo puede controlar hasta 8 dígitos de 7 segmentos. Esto significa que puedes mostrar números de hasta 8 dígitos de longitud o cadenas de texto cortas.

4. Comunicación SPI:
El módulo usa una interfaz SPI (Serial Peripheral Interface) para comunicarse con el microcontrolador, por lo que solo necesita tres pines para el control de datos (MOSI), el reloj (SCK) y la selección de chip (SS o CS).

5. Alimentación:
El módulo se alimenta a través de una fuente de 5V, lo que lo hace compatible con la mayoría de las placas de desarrollo como Arduino.

6. Multiplexación:
El MAX7219 se encarga de la multiplexación de los dígitos y segmentos, por lo que puedes controlar hasta 64 LEDs individuales con solo tres pines del microcontrolador.


7. Intensidad ajustable:
El brillo de los LEDs es ajustable mediante software, lo que permite adaptarlo a diferentes condiciones de luz ambiental.

En definitiva, el módulo MAX7219 con display de 7 segmentos y 8 dígitos es una opción versátil y de bajo costo para proyectos que requieren una interfaz de usuario simple o la visualización de datos numéricos.

Diagrama

  • Conecta VCC del módulo a VCC del Arduino.
  • GND del módulo a GND del Arduino.
  • DIN del módulo a Pin 11 del Arduino.
  • CS del módulo a Pin 10 del Arduino.
  • CLK del módulo a Pin 13 del Arduino.

 

Preparación del entorno

Para utilizar el módulo MAX7219 en la plataforma Arduino, necesitamos instalar una biblioteca llamada "LedControl". 

  1. Abre el IDE de Arduino.
  2. Ve al menú "Sketch" > "Incluir Biblioteca" > "Gestionar Bibliotecas...".
  3. En el Gestor de Bibliotecas, escribe "LedControl" en el campo de búsqueda.
  4. En los resultados de la búsqueda, localiza la biblioteca "LedControl" y haz clic en el botón "Instalar".

¡Eso es todo! Ahora estás preparado para usar la biblioteca "LedControl" y comenzar a trabajar con tu módulo MAX7219 en Arduino.

 

Generador de bytes - 7 segmentos

Es una herramienta en línea para crear fácilmente tus propios patrones en un display de 7 segmentos, para crear un patrón para este módulo la configuración es de Cátodo común y LSBFIRST.

https://codepen.io/parzibyte/full/GONPLm

Para este tutorial se creo la letra "ñ" y en la programación se añadio el resultado en bytes.

 

Programación 

Con el módulo conectado a tu arduino y la biblioteca instalada en tu IDE, copia el siguiente código a un nuevo sketch, este programa muestra un patrón de encendido de todos los LEDs, luego gradúa la intensidad de los LEDs, y finalmente itera a través de los números y los caracteres en el array 'letras' y los muestra en el display. Después de eso, muestra la letra "ñ" antes de limpiar el display y comenzar el bucle de nuevo.

A continuación, se describen las funciones utilizadas en el código proporcionado:

1. shutdown(int addr, bool b): Esta función toma dos argumentos: una dirección de dispositivo y un valor booleano. Se utiliza para encender o apagar el dispositivo. Si el segundo argumento es `false`, el dispositivo se enciende. Si es `true`, el dispositivo se apaga (modo de bajo consumo).

2. setIntensity(int addr, int intensity): Esta función toma dos argumentos: una dirección de dispositivo y un valor de intensidad (entre 0 y 15). Se utiliza para establecer el brillo de los LEDs en el dispositivo.

3. clearDisplay(int addr): Esta función toma una dirección de dispositivo como argumento y se utiliza para apagar todos los LEDs en el dispositivo.

4. setRow(int addr, int row, byte value): Esta función toma tres argumentos: una dirección de dispositivo, un número de fila y un valor de byte. Se utiliza para establecer los valores (encendido/apagado) de los LEDs en una fila específica del dispositivo.

5. setDigit(int addr, int digit, byte value, bool dp): Esta función toma cuatro argumentos: una dirección de dispositivo, un número de dígito, el valor a mostrar y un valor booleano para el punto decimal. Se utiliza para mostrar un número en un dígito específico del dispositivo.

6. setChar(int addr, int digit, char value, bool dp): Esta función toma cuatro argumentos: una dirección de dispositivo, un número de dígito, un carácter y un valor booleano para el punto decimal. Se utiliza para mostrar un carácter en un dígito específico del dispositivo.

Resultados

 

Este código es altamente personalizable. Puedes ajustarlo para mostrar los números de tu elección, e incluso decidir en qué columnas aparecerán. Si deseas crear un patrón personalizado de LEDs, puedes hacerlo fácilmente utilizando la herramienta en línea. De este modo, se abre un amplio abanico de posibilidades para adaptar este código a tus propios proyectos y necesidades.

Conclusiones

Este tutorial sirve como una base sólida para cualquier proyecto futuro donde necesites mostrar números o realizar algún tipo de visualización numérica. La capacidad de controlar y programar un display de 7 segmentos es una destreza valiosa en el mundo de la electrónica y la programación de microcontroladores.
Los contadores son una de las aplicaciones más comunes de estos módulos de visualización. Los relojes digitales son otra aplicación común de los displays de 7 segmentos. Puedes ajustar el código para mostrar la hora actual, servir como cronómetro o incluso como alarma despertador.
Los medidores también pueden hacer un buen uso de estos displays. Por ejemplo, podrías medir la temperatura, la humedad, la velocidad, la presión, o cualquier otra cantidad que pueda ser representada numéricamente. 

Productos Relacionados

Ver artículo

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *