Tabla de contenido:
- Suministros
- Paso 1: verifique el paquete
- Paso 2: un poco sobre esta matriz de puntos en particular
- Paso 3: el controlador MAX7219
- Paso 4: el circuito
- Paso 5: el código
- Paso 6: la salida
Video: Prueba y ensamblaje de matriz de puntos LED MAX7219: 6 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Una pantalla de matriz de puntos es un dispositivo de visualización que contiene diodos emisores de luz alineados en forma de matriz. Estas pantallas de matriz de puntos se utilizan en aplicaciones en las que los símbolos, gráficos, caracteres, alfabetos y números deben mostrarse juntos en forma estática y Movimiento de desplazamiento La pantalla de matriz de puntos se fabrica en varias dimensiones como 5x7, 8x8, 16x8, 128x16, 128x32 y 128x64 donde los números representan LED en filas y columnas, también estas pantallas vienen en diferentes colores como rojo, verde, amarillo, azul, Naranja, Blanco.
En este Instructable, pasaré por la interfaz de una matriz de puntos de 8x8 que tiene un controlador MAX7219 a un Arduino Uno.
Suministros
MAX7219
Paso 1: verifique el paquete
Como puede ver, tengo una versión smt de la placa del controlador, es muy importante verificar todos y cada uno de los componentes necesarios, ya que los componentes smd son de tamaño muy pequeño y puede perderlos fácilmente. También hay una versión dip disponible en línea, pero yo usé la versión smt por su tamaño.
Paso 2: un poco sobre esta matriz de puntos en particular
Un solo módulo puede impulsar un cátodo común de matriz de puntos de 8x8.
Voltaje de funcionamiento: 5 v
Dimensiones: largo 3,2 cm X 3,2 cm de ancho X 1,3 cm de alto, agujeros con cuatro tornillos, el diámetro de 3 mm
Módulos con interfaces de entrada y salida, soporte para múltiples módulos en cascada.
Los terminales de entrada y salida de datos se especifican en el módulo.
Paso 3: el controlador MAX7219
El MAX7219 es un IC diseñado para controlar una MATRIZ LED de 8x8. El IC es controladores de pantalla de cátodo común (negativo común) de entrada en serie que conectan microprocesadores (o microcontroladores) a pantallas LED numéricas de 7 segmentos de hasta 8 dígitos, pantallas de gráfico de barras o 64 LED individuales.
Características y especificaciones
Rango de voltaje de funcionamiento: +4,0 a + 5,5 V
Voltaje de funcionamiento recomendado: + 5 V
Voltaje de suministro máximo: 6 V
Corriente máxima permitida para pasar a través de cada pin de segmento: 100 mA
Corriente máxima permitida a través de cada pin de tierra DIGIT: 500mA
Bajo consumo de energía
Tiempo de retardo de datos a segmento: 2,2 mseg.
Temperatura de funcionamiento: 0 ° C a + 70 ° C
Temperatura de almacenamiento: -65 ° C a + 150 ° C
Paso 4: el circuito
El circuito es bastante simple y se puede construir utilizando cables de puente macho a hembra. Simplemente siga el pinout y construya el circuito. Luego puede ensamblarlo en una PCB si está realizando una aplicación permanente para Matrix.
La configuración de los pines es la siguiente:
- Pin Vcc a 5V de Arduino.
- Gnd a Gnd Pin del Arduino.
- DIN al pin digital 12 del Arduino.
- CS al pin digital 11 del Arduino
- CLK al Pin digital 10 del Arduino.
Paso 5: el código
Aquí, en este Instructable, le proporcionaré dos códigos diferentes. Uno generará algunos alfabetos y emoticones en inglés en Matrix. El otro hará que todos los 64 LED se iluminen uno por uno. Debe utilizar la biblioteca lledcontrol para que funcione.
Este es el código para alfabetos y sonrisas en inglés
#include int DIN = 12; int CS = 11; int CLK = 10; byte e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; byte d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; byte u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; byte c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; byte ocho [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; byte s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; punto de byte [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; byte o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; byte m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); configuración vacía () {lc.shutdown (0, falso); // El MAX72XX está en modo de ahorro de energía al iniciarse lc.setIntensity (0, 15); // Establece el brillo al valor máximo lc.clearDisplay (0); // y borra la pantalla} void loop () {byte smile [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; byte neutro [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; byte fruncir el ceño [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (sonrisa); retraso (1000); printByte (neutral); retraso (1000); printByte (fruncir el ceño); retraso (1000); printEduc8s (); lc.clearDisplay (0); retraso (1000); } void printEduc8s () {printByte (e); retraso (1000); printByte (d); retraso (1000); printByte (u); retraso (1000); printByte (c); retraso (1000); printByte (ocho); retraso (1000); printByte (s); retraso (1000); printByte (punto); retraso (1000); printByte (c); retraso (1000); printByte (o); retraso (1000); printByte (m); retraso (1000); } vacío printByte (carácter byte ) {int i = 0; para (i = 0; i <8; i ++) {lc.setRow (0, i, carácter ); }}
y el código para probar los 64 LED
// Siempre tenemos que incluir la librería # 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 10 está conectado al CLK El pin 11 está conectado a LOAD Tenemos sólo 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 = 100;
configuración vacía () {
/ * El MAX72XX está en modo de ahorro de energía al inicio, tenemos que hacer una llamada de activación * / lc.shutdown (0, false); / * Establece el brillo en valores medios * / lc.setIntensity (0, 8); / * y borrar la pantalla * / lc.clearDisplay (0); }
/*
Este método mostrará los caracteres de la palabra "Arduino" uno tras otro en la matriz. (necesita al menos 5x7 leds para ver los caracteres completos) * / void writeArduinoOnMatrix () {/ * aquí están los datos de los caracteres * / byte a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; byte r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; byte d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; byte u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; byte i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; byte n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; byte o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};
/ * ahora mostrarlos uno por uno con un pequeño retraso * /
lc.setRow (0, 0, a [0]); lc.setRow (0, 1, a [1]); lc.setRow (0, 2, a [2]); lc.setRow (0, 3, a [3]); lc.setRow (0, 4, a [4]); delay (delaytime); lc.setRow (0, 0, r [0]); lc.setRow (0, 1, r [1]); lc.setRow (0, 2, r [2]); lc.setRow (0, 3, r [3]); lc.setRow (0, 4, r [4]); delay (delaytime); lc.setRow (0, 0, d [0]); lc.setRow (0, 1, d [1]); lc.setRow (0, 2, d [2]); lc.setRow (0, 3, d [3]); lc.setRow (0, 4, d [4]); delay (delaytime); lc.setRow (0, 0, u [0]); lc.setRow (0, 1, u [1]); lc.setRow (0, 2, u [2]); lc.setRow (0, 3, u [3]); lc.setRow (0, 4, u [4]); delay (delaytime); lc.setRow (0, 0, i [0]); lc.setRow (0, 1, i [1]); lc.setRow (0, 2, i [2]); lc.setRow (0, 3, i [3]); lc.setRow (0, 4, i [4]); delay (delaytime); lc.setRow (0, 0, n [0]); lc.setRow (0, 1, n [1]); lc.setRow (0, 2, n [2]); lc.setRow (0, 3, n [3]); lc.setRow (0, 4, n [4]); delay (delaytime); lc.setRow (0, 0, o [0]); lc.setRow (0, 1, o [1]); lc.setRow (0, 2, o [2]); lc.setRow (0, 3, o [3]); lc.setRow (0, 4, o [4]); delay (delaytime); lc.setRow (0, 0, 0); lc.setRow (0, 1, 0); lc.setRow (0, 2, 0); lc.setRow (0, 3, 0); lc.setRow (0, 4, 0); delay (delaytime); }
/*
Esta función enciende algunos Leds seguidos. El patrón se repetirá en cada fila. El patrón parpadeará junto con el número de fila. la fila número 4 (índice == 3) parpadeará 4 veces, etc. * / void rows () {for (int fila = 0; fila <8; fila ++) {delay (delaytime); lc.setRow (0, fila, B10100000); delay (delaytime); lc.setRow (0, fila, (byte) 0); para (int i = 0; i
/*
Esta función enciende algunos Leds en una columna. El patrón se repetirá en cada columna. El patrón parpadeará junto con el número de columna. la columna número 4 (índice == 3) parpadeará 4 veces, etc. * / void columnas () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); delay (delaytime); lc.setColumn (0, col, (byte) 0); para (int i = 0; i
/*
Esta función iluminará todos los Led de la matriz. El led parpadeará junto con el número de fila. la fila número 4 (índice == 3) parpadeará 4 veces, etc. * / void single () {for (int fila = 0; fila <8; fila ++) {for (int col = 0; col <8; col ++) { delay (delaytime); lc.setLed (0, fila, columna, verdadero); delay (delaytime); para (int i = 0; i
bucle vacío () {
writeArduinoOnMatrix (); filas (); columnas (); soltero(); }
Paso 6: la salida
Vea el video completo aquí: -MAX7219 ENSAMBLE Y PRUEBAS DE MATRIZ LED 8x8 usando ARDUINO
Bueno, todo este arduo trabajo, seguro que se amortiza bastante cuando veas el resultado. Vale la pena !!
Suscríbete a mi canal de youtube: -Creative Stuff
Recomendado:
Matriz de puntos de reloj inteligente IoT Use Wemos ESP8266 - Matriz ESP: 12 pasos (con imágenes)
Matriz de puntos del reloj inteligente de IoT Use Wemos ESP8266 - Matriz de ESP: haga su propio reloj inteligente de IoT que pueda: Mostrar el reloj con un hermoso icono de animación Mostrar Recordatorio-1 a Recordatorio-5 Mostrar Calendario Mostrar tiempos de oración musulmanes Mostrar información meteorológica Mostrar noticias Mostrar consejos Mostrar Pantalla de tasa de Bitcoin
Cómo utilizar la matriz de puntos Max7219 8x8 con "skiiiD": 9 pasos
Cómo usar Max7219 8x8 Dot Matrix con "skiiiD": Esta es una instrucción en video de Max7219 8x8 Dot Matrix a través de " skiiiD " Antes de comenzar, a continuación se muestra un tutorial básico sobre cómo usar skiiiDhttps: //www.instructables.com/id / Primeros pasos-W
Tutorial del módulo de pantalla de matriz de puntos MAX7219 4 en 1 mediante el uso de Arduino UNO: 5 pasos
Tutorial del módulo de pantalla de matriz de puntos MAX7219 4 en 1 utilizando Arduino UNO: Descripción: ¿Busca una matriz de LED fácil de controlar? Este módulo de pantalla de matriz de puntos 4 en 1 debería ser adecuado para usted. El módulo completo viene en cuatro matrices de puntos de cátodo común RED 8x8 que están equipadas con MAX7219 IC cada una. Genial para mostrar texto en ejecución a
Interfaz LED de matriz de puntos (8x8) con NodeMCU: 6 pasos (con imágenes)
Interfaz LED Dot Matrix (8x8) con NodeMCU: Hola Makers, estoy con otro Instructable simple y genial. En este Instructable aprenderemos cómo Interfaz LED Dot Matrix (8x8) con NodeMCU. Entonces, comencemos
Monitor de SMS -- Pantalla de matriz de puntos -- MAX7219 -- SIM800L: 8 pasos (con imágenes)
Monitor de SMS || Pantalla de matriz de puntos || MAX7219 || SIM800L: En este video, aprenderá cómo usar un módulo GSM, una pantalla de matriz de puntos y cómo mostrar texto desplazable en él. Después de eso, los combinaremos para mostrar los mensajes recibidos a través de una SIM GSM en una pantalla de matriz de puntos. Es bastante fácil y yo