Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
MAX7219 este un IC care este utilizat pentru a conduce LED-uri cu 7 segmente (până la 8 cifre), afișaje bloc (afișaje de bare) și 64 de LED-uri individuale care sunt catoduri comon. Pentru a comunica cu un microcontroler, MAX7219 utilizează sistemul de comunicație SPI. Deci, pentru a conduce 64 de LED-uri, au nevoie doar de 3 porturi ale microcontrolerului.
În acest articol vă voi arăta cum să utilizați un modul cu 7 segmente care utilizează IC MAX7219 ca driver.
Componente necesare:
- MAX7219 Modul cu 7 segmente
- Arduino Nano
- jumper de sârmă
- USB mini
Bibliotecă obligatorie:
LedControl
În acest tutorial folosesc placa Arduino Nano. Dacă nu l-ați folosit niciodată. Vă sugerez să citiți articolul meu anterior despre „Cum se folosește Arduino Nano”.
Pasul 1: Asamblați toate componentele
Conectați placa Arduino la modulul cu 7 segmente. Vedeți imaginea sau instrucțiunile pe care le-am scris mai jos:
Arduino la 7 segmente
+ 5V => VCC
GND => GND
D12 => DIN
D11 => CLK
D10 => CS / LOAD
Pasul 2: Adăugați bibliotecă
După finalizarea circuitului. Adăugați biblioteca "LedControl" la IDE-ul Arduino.
Pentru a adăuga o bibliotecă la Arduino, o puteți citi în articolul „Cum să adăugați o bibliotecă externă la Arduino„ pe care l-am făcut mai devreme”.
Pasul 3: Funcții suplimentare
După adăugarea bibliotecii LedControl. Puteți utiliza funcții suplimentare pentru a controla modulul cu 7 segmente.
Argument
addr - adresa afișajului
cifră - poziția cifrei pe afișaj (0..7) valoare - valoarea care trebuie afișată. (0x00..0x0F)
dp setează punctul zecimal.
Funcţie
setChar (addr, cifră, valoare.dp); // pentru a afișa valoarea tipului de caracter pentru codificarea ASCII pe 7 biți
setDigit (addr, digit, value, bolean dp); // pentru a afișa cifre și caractere într-o singură funcție setRow (addr, cifră, valoare, dp boolean); // pentru a afișa obiectul în cifra dorită
Pentru mai multe detalii, vă rugăm să citiți aici.
Pasul 4: Încărcați schița
Am schițat pentru încercarea acestui modul cu 7 segmente. Puteți copia codul de mai jos, apoi îl puteți lipi în schița dvs.
// Întotdeauna trebuie să includem biblioteca
#include „LedControl.h”
/*
Acum avem nevoie de un LedControl pentru a lucra. ***** Aceste numere PIN nu vor funcționa probabil cu hardware-ul dvs. *****
pinul 12 este conectat la DataIn
pinul 11 este conectat la CLK
pinul 10 este conectat la LOAD
Avem doar un singur MAX72XX.
*/
LedControl lc = LedControl (12, 11, 10, 1);
/ * așteptăm întotdeauna puțin între actualizările afișajului * /
timp de întârziere nesemnat = 500;
configurare nulă () {
/ * MAX72XX este în modul de economisire a energiei la pornire, trebuie să facem un apel de trezire * /
lc.shutdown (0, false);
/ * Setați luminozitatea la valori medii * /
lc.setIntensity (0, 8);
/ * și ștergeți afișajul * /
lc.clearDisplay (0);}
void salut () {
lc.setChar (0, 7, „H”, fals);
lc.setChar (0, 6, „E”, fals);
lc.setChar (0, 5, „L”, fals);
lc.setChar (0, 4, „L”, fals);
lc.setChar (0, 3, '0', fals);
lc.setChar (0, 2, '.', fals);
lc.setChar (0, 1, '.', fals);
lc.setChar (0, 0, '.', fals);
întârziere (întârziere + 1000);
lc.clearDisplay (0);
întârziere (întârziere);
lc.setDigit (0, 7, 1, false);
întârziere (întârziere);
lc.setDigit (0, 6, 2, false);
întârziere (întârziere);
lc.setDigit (0, 5, 3, false);
întârziere (întârziere);
lc.setDigit (0, 4, 4, false);
întârziere (întârziere);
lc.setDigit (0, 3, 5, false);
întârziere (întârziere);
lc.setDigit (0, 2, 6, false);
întârziere (întârziere);
lc.setDigit (0, 1, 7, false);
întârziere (întârziere);
lc.setDigit (0, 0, 8, fals);
întârziere (1500);
lc.clearDisplay (0);
întârziere (întârziere);
}
void loop () {hello ();
}
Sau descărcați fișierul de mai jos:
Pasul 5: Rezultat
Bucură-te de rezultat.
Dacă există întrebări, scrieți-le în coloana de comentarii.
Ne vedem în articolul următor.