Taula de continguts:
- Subministraments
- Pas 1: comproveu el paquet
- Pas 2: una mica sobre aquesta matriu de punts particular
- Pas 3: el controlador MAX7219
- Pas 4: el circuit
- Pas 5: el codi
- Pas 6: la sortida
Vídeo: Muntatge i proves de matriu de punts LED MAX7219: 6 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Una visualització de matriu de punts és un dispositiu de visualització que conté díodes emissors de llum alineats en forma de matriu. Moviment de desplaçament: la pantalla de matriu de punts es fabrica en diverses dimensions, com ara 5x7, 8x8, 16x8, 128x16, 128x32 i 128x64, on els números representen LEDs en files i columnes. Taronja, blanc.
En aquest instructiu, passaré per la interfície d’una matriu de punts de 8x8 que té un controlador MAX7219 a un Arduino Uno. Comencem.
Subministraments
MAX7219
Pas 1: comproveu el paquet
Com podeu veure, tinc una versió SMT de la placa de controladors, és molt important verificar tots els components necessaris, ja que els components SMD són de mida molt petita i els podeu perdre fàcilment. També hi ha versió dip disponible en línia, però he utilitzat la versió smt per la seva mida.
Pas 2: una mica sobre aquesta matriu de punts particular
Un mòdul únic pot conduir un càtode comú de matriu de punts de 8x8.
Voltatge de funcionament: 5 v
Dimensions: longitud 3,2 cm X 3,2 cm d'ample X 1,3 cm d'alçada, forats amb quatre cargols, amb un diàmetre de 3 mm
Mòduls amb interfícies d’entrada i sortida, suport per a múltiples mòduls en cascada.
Els terminals IN i OUT de dades s’especifiquen al mòdul.
Pas 3: el controlador MAX7219
El MAX7219 és un CI dissenyat per controlar una matriu LED de 8x8. L'IC és un controlador de visualització de càtode comú d'entrada sèrie (negatiu comú) que connecta microprocessadors (o microcontroladors) amb pantalles LED numèriques de 7 segments de fins a 8 dígits, pantalles de gràfics de barres o 64 LED individuals.
Funcions i especificacions
Rang de tensió de funcionament: +4,0 a + 5,5V
Voltatge de funcionament recomanat: + 5V
Tensió d'alimentació màxima: 6V
Corrent màxim permès per dibuixar a través de cada pin del segment: 100mA
Corrent màxim permès a través de cada pin de terra DIGIT: 500 mA
Baix consum d'energia
Temps de retard de dades a segments: 2,2 m Seg
Temperatura de funcionament: de 0 ° C a + 70 ° C
Temperatura d’emmagatzematge: -65 ° C a + 150 ° C
Pas 4: el circuit
El circuit és bastant senzill i es pot construir mitjançant cables de pont masculí a femella. Només cal seguir el pinout i construir el circuit. Posteriorment, podeu muntar-lo en un PCB si feu una aplicació permanent per a Matrix.
La configuració del pin és la següent:
- Vcc a 5V Pin d'Arduino.
- Pin de Gnd a Gnd de l'Arduino.
- DIN al pin digital 12 de l'Arduino.
- CS al pin digital 11 de l'Arduino
- CLK al pin digital 10 de l'Arduino.
Pas 5: el codi
Aquí en aquest instructiu us proporcionaré dos codis diferents. Un generarà alguns alfabets anglesos i emoticones a Matrix. L’altre permetrà que els 64 LED s’encenguin un per un. Heu d’utilitzar la biblioteca lledcontrol perquè funcioni.
Aquest és el codi per als alfabets i somriures anglesos
#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 vuit [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; byte s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; punt 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); void setup () {lc.shutdown (0, false); // El MAX72XX està en mode d'estalvi d'energia en iniciar lc.setIntensity (0, 15); // Estableix la brillantor al valor màxim lc.clearDisplay (0); // i esborreu la pantalla} void loop () {byte smile [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; byte neutre [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; byte arrufat el cap [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (somriure); retard (1000); printByte (neutre); retard (1000); printByte (arrufar les celles); retard (1000); printEduc8s (); lc.clearDisplay (0); retard (1000); } void printEduc8s () {printByte (e); retard (1000); printByte (d); retard (1000); printByte (u); retard (1000); printByte (c); retard (1000); printByte (vuit); retard (1000); printByte (s); retard (1000); printByte (punt); retard (1000); printByte (c); retard (1000); printByte (o); retard (1000); printByte (m); retard (1000); } void printByte (caràcter de byte ) {int i = 0; per a (i = 0; i <8; i ++) {lc.setRow (0, i, caràcter ); }}
i el codi per provar els 64 LED
// Sempre hem d'incloure la biblioteca # include "LedControl.h"
/*
Ara necessitem un LedControl per treballar. ***** Aquests números de pin probablement no funcionaran amb el vostre maquinari ***** el pin 12 està connectat a les dades En el pin 10 està connectat al pin CLK 11 està connectat a LOAD Només tenim un únic MAX72XX. * / LedControl lc = LedControl (12, 11, 10, 1);
/ * sempre esperem una mica entre les actualitzacions de la pantalla * /
temps de retard llarg sense signar = 100;
configuració nul·la () {
/ * El MAX72XX està en mode d’estalvi d’energia a l’inici, hem de fer una trucada de despertador * / lc.shutdown (0, false); / * Estableix la brillantor en valors mitjans * / lc.setIntensity (0, 8); / * i esborreu la pantalla * / lc.clearDisplay (0); }
/*
Aquest mètode mostrarà els caràcters de la paraula "Arduino" un darrere l'altre a la matriu. (necessiteu almenys leds 5x7 per veure els caràcters sencers) * / void writeArduinoOnMatrix () {/ * aquí teniu les dades dels caràcters * / 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};
/ * ara mostreu-los un per un amb un petit retard * /
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]); retard (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]); retard (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]); retard (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]); retard (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]); retard (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]); retard (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]); retard (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); retard (delaytime); }
/*
Aquesta funció il·lumina alguns LED seguits. El patró es repetirà a cada fila. El patró parpellejarà junt amb el número de fila. la fila número 4 (índex == 3) parpellejarà 4 vegades, etc. * / void rows () {for (int fila = 0; fila <8; fila ++) {delay (delaytime); lc.setRow (0, fila, B10100000); retard (delaytime); lc.setRow (0, fila, (byte) 0); per a (int i = 0; i
/*
Aquesta funció il·lumina alguns LEDs en una columna. El patró es repetirà a cada columna. El patró parpellejarà junt amb el número de columna. el número de columna 4 (índex == 3) parpellejarà 4 vegades, etc. * / void columnes () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, col, B10100000); retard (delaytime); lc.setColumn (0, col, (byte) 0); per a (int i = 0; i
/*
Aquesta funció il·luminarà tots els leds de la matriu. El led parpellejarà junt amb el número de fila. la fila número 4 (índex == 3) parpellejarà 4 vegades, etc. * / void single () {for (int fila = 0; fila <8; fila ++) {per (int col = 0; col <8; col ++) { retard (delaytime); lc.setLed (0, fila, col, cert); retard (delaytime); per a (int i = 0; i
bucle buit () {
writeArduinoOnMatrix (); files (); columnes (); solter(); }
Pas 6: la sortida
Mireu el vídeo complet aquí: -MAX7219 MUNTATGE I PROVA DE MATRIX LED 8x8 amb ARDUINO
Bé, tot aquest treball dur, segur que paga força bé quan veieu el resultat. Val la pena !!
Subscriu-te al meu canal de youtube: -Creative Stuff
Recomanat:
Tutorial del mòdul de visualització de matriu de punts 4 en 1 MAX7219 mitjançant Arduino UNO: 5 passos
Tutorial del mòdul de visualització de matriu de punts MAX7219 4 en 1 mitjançant Arduino UNO: Descripció: Cerqueu una matriu LED fàcil de controlar? Aquest mòdul de visualització de matriu de punts 4 en 1 us hauria de ser adequat. Tot el mòdul inclou quatre matrius de punts de càtode comuns de 8x8 VERMELL que estan equipats amb IC MAX7219 cadascun. Genial per mostrar text en execució a
Dotter - Impressora enorme de matriu de punts basada en Arduino: 13 passos (amb imatges)
Dotter - Impressora de matriu de punts enorme basada en Arduino: Hola, benvingut en aquest instructiu :) Sóc el fabricant Nikodem Bartnik de 18 anys. Vaig fabricar moltes coses, robots, dispositius durant els meus 4 anys de creació. Però aquest projecte és probablement el més gran pel que fa a la mida. També està molt ben dissenyat, crec
Interfície LED Matriu de punts (8x8) amb NodeMCU: 6 passos (amb imatges)
Interfície LED Dot Matrix (8x8) amb NodeMCU: Hola, fabricants, estic amb un altre senzill i divertit instructable
Monitor SMS -- Pantalla de matriu de punts -- MAX7219 -- SIM800L: 8 passos (amb imatges)
Monitor SMS || Pantalla de matriu de punts || MAX7219 || SIM800L: en aquest vídeo, aprendreu a fer servir un mòdul GSM, la visualització de matriu de punts i com mostrar-hi text de desplaçament. Després, els combinarem junts per mostrar els missatges rebuts mitjançant una targeta SIM GSM a una pantalla de matriu de punts. És bastant fàcil i jo
Pantalla LED de matriu de punts: 8 passos (amb imatges)
Pantalla LED de matriu de punts: es tracta d’un senzill COM FER la vostra pròpia pantalla LED de matriu de punts. Afegiré el programa complet amb una explicació per encendre els LED. També és bastant piratejable, podeu canviar-lo per adaptar-lo a vosaltres mateixos. Vaig decidir fer el meu propi d