Cuprins:

Tutorial Arduino MAX7219 cu afișare pe 7 segmente: 5 pași
Tutorial Arduino MAX7219 cu afișare pe 7 segmente: 5 pași

Video: Tutorial Arduino MAX7219 cu afișare pe 7 segmente: 5 pași

Video: Tutorial Arduino MAX7219 cu afișare pe 7 segmente: 5 pași
Video: Using MAX7219 8 Digits Seven Segment Display - Robojax 2024, Noiembrie
Anonim
Tutorial Arduino MAX7219 pentru afișare pe 7 segmente
Tutorial Arduino MAX7219 pentru afișare pe 7 segmente

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

Asamblați toate componentele
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ă

Adăugați bibliotecă
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

Funcții suplimentare
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

Încărcați schița
Î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.

Recomandat: