Tabla de contenido:

Tutorial de pantalla de 7 segmentos Arduino MAX7219: 5 pasos
Tutorial de pantalla de 7 segmentos Arduino MAX7219: 5 pasos

Video: Tutorial de pantalla de 7 segmentos Arduino MAX7219: 5 pasos

Video: Tutorial de pantalla de 7 segmentos Arduino MAX7219: 5 pasos
Video: Arduino desde cero en Español - Capítulo 49 - Display 7 segmentos con MAX7219 (incluye esquemático) 2024, Noviembre
Anonim
Tutorial de pantalla de 7 segmentos Arduino MAX7219
Tutorial de pantalla de 7 segmentos Arduino MAX7219

MAX7219 es un IC que se utiliza para controlar LED de 7 segmentos (hasta 8 dígitos), pantallas de bloque (pantallas de barras) y 64 LED individuales que son cátodos comunes. Para comunicarse con un microcontrolador, MAX7219 usa el sistema de comunicación SPI. Entonces, para conducir 64 LED, solo se necesitan 3 puertos del microcontrolador.

En este artículo, le mostraré cómo usar un módulo de 7 segmentos que usa IC MAX7219 como controlador.

Componentes requeridos:

  • Módulo de 7 segmentos MAX7219
  • Arduino Nano
  • puente de alambre
  • USB mini

Biblioteca requerida:

LedControl

En este tutorial utilizo la placa Arduino Nano. Si nunca lo ha usado. Sugiero leer mi artículo anterior sobre "Cómo utilizar Arduino Nano".

Paso 1: Ensamble todos los componentes

Ensamble todos los componentes
Ensamble todos los componentes

Conecte la placa Arduino al módulo de 7 segmentos. Vea la imagen o instrucción que escribí a continuación:

Arduino a 7 segmentos

+ 5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS / CARGA

Paso 2: agregar biblioteca

Agregar biblioteca
Agregar biblioteca

Después de que se complete el circuito. Agregue la biblioteca "LedControl" al IDE de Arduino.

Para agregar una biblioteca a Arduino, puede leerlo en el artículo "Cómo agregar una biblioteca externa a Arduino" que hice anteriormente ".

Paso 3: funciones adicionales

Funciones adicionales
Funciones adicionales

Después de agregar la biblioteca LedControl. Puede utilizar funciones adicionales para controlar el módulo de 7 segmentos.

Argumento

addr - dirección de la pantalla

dígito - la posición del dígito en la pantalla (0..7) valor - el valor que se mostrará. (0x00..0x0F)

dp establece el punto decimal.

Función

setChar (dirección, dígito, valor.dp); // para mostrar el valor del tipo de caracteres para la codificación ASCII de 7 bits

setDigit (dirección, dígito, valor, dp boleano); // para mostrar dígitos y caracteres en una función setRow (addr, digit, value, boolean dp); // para mostrar el objeto en el dígito deseado

Para obtener más detalles, lea aquí.

Paso 4: Cargue el boceto

Cargar boceto
Cargar boceto

He hecho un boceto para la prueba de este módulo de 7 segmentos. Puede copiar el código a continuación y luego pegarlo en su boceto.

// Siempre tenemos que incluir la biblioteca

#include "LedControl.h"

/*

Ahora necesitamos un LedControl para trabajar. ***** Estos números de pin probablemente no funcionarán con su hardware *****

el pin 12 está conectado al DataIn

el pin 11 está conectado al CLK

el pin 10 está conectado a LOAD

Solo tenemos un MAX72XX.

*/

LedControl lc = LedControl (12, 11, 10, 1);

/ * siempre esperamos un poco entre las actualizaciones de la pantalla * /

tiempo de retardo largo sin firmar = 500;

configuración vacía () {

/ * El MAX72XX está en modo de ahorro de energía al inicio, tenemos que hacer una llamada de atención * /

lc.shutdown (0, falso);

/ * Establece el brillo en valores medios * /

lc.setIntensity (0, 8);

/ * y borrar la pantalla * /

lc.clearDisplay (0);}

void hola () {

lc.setChar (0, 7, 'H', falso);

lc.setChar (0, 6, 'E', falso);

lc.setChar (0, 5, 'L', falso);

lc.setChar (0, 4, 'L', falso);

lc.setChar (0, 3, '0', falso);

lc.setChar (0, 2, '.', falso);

lc.setChar (0, 1, '.', falso);

lc.setChar (0, 0, '.', falso);

retraso (delaytime + 1000);

lc.clearDisplay (0);

delay (delaytime);

lc.setDigit (0, 7, 1, falso);

delay (delaytime);

lc.setDigit (0, 6, 2, falso);

delay (delaytime);

lc.setDigit (0, 5, 3, falso);

delay (delaytime);

lc.setDigit (0, 4, 4, falso);

delay (delaytime);

lc.setDigit (0, 3, 5, falso);

delay (delaytime);

lc.setDigit (0, 2, 6, falso);

delay (delaytime);

lc.setDigit (0, 1, 7, falso);

delay (delaytime);

lc.setDigit (0, 0, 8, falso);

retraso (1500);

lc.clearDisplay (0);

delay (delaytime);

}

bucle vacío () {hola ();

}

O descargue el archivo a continuación:

Paso 5: Resultado

Disfruta el resultado.

Si hay preguntas, escríbalas en la columna de comentarios.

Nos vemos en el próximo artículo.

Recomendado: