Sommario:

Tutorial display a 7 segmenti Arduino MAX7219: 5 passaggi
Tutorial display a 7 segmenti Arduino MAX7219: 5 passaggi

Video: Tutorial display a 7 segmenti Arduino MAX7219: 5 passaggi

Video: Tutorial display a 7 segmenti Arduino MAX7219: 5 passaggi
Video: Contatore con display a sette segmenti MAX7219 e Arduino - Video 471 2024, Luglio
Anonim
Tutorial display a 7 segmenti Arduino MAX7219
Tutorial display a 7 segmenti Arduino MAX7219

MAX7219 è un IC utilizzato per pilotare LED a 7 segmenti (fino a 8 cifre), display a blocchi (display a barre) e 64 LED singoli che sono catodi comuni. Per comunicare con un microcontrollore, MAX7219 utilizza il sistema di comunicazione SPI. Quindi per pilotare 64 LED servono solo 3 porte del microcontrollore.

In questo articolo ti mostrerò come utilizzare un modulo a 7 segmenti che utilizza IC MAX7219 come driver.

Componenti richiesti:

  • Modulo a 7 segmenti MAX7219
  • Arduino Nano
  • ponticello a filo
  • USB mini

Libreria richiesta:

LedControl

In questo tutorial utilizzo la scheda Arduino Nano. Se non l'hai mai usato. Suggerisco di leggere il mio precedente articolo su "Come usare Arduino Nano".

Passaggio 1: assemblare tutti i componenti

Assemblare tutti i componenti
Assemblare tutti i componenti

Collega la scheda Arduino al modulo a 7 segmenti. Guarda l'immagine o le istruzioni che ho scritto di seguito:

Arduino a 7 segmenti

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/CARICA

Passaggio 2: aggiungi libreria

Aggiungi libreria
Aggiungi libreria

Dopo che il circuito è completo. Aggiungi la libreria "LedControl" all'IDE di Arduino.

Per aggiungere una libreria ad Arduino, puoi leggerla nell'articolo "Come aggiungere una libreria esterna ad Arduino" che ho creato in precedenza".

Passaggio 3: funzioni aggiuntive

Funzioni aggiuntive
Funzioni aggiuntive

Dopo aver aggiunto la libreria LedControl. È possibile utilizzare funzioni aggiuntive per controllare il modulo a 7 segmenti.

Discussione

addr - indirizzo del display

digit - la posizione della cifra sul display (0..7)\ value - il valore da visualizzare. (0x00..0x0F)

dp imposta il punto decimale.

Funzione

setChar(addr, digit, value.dp); //per visualizzare il valore del tipo di carattere per la codifica ASCII a 7 bit

setDigit(addr, digit, value, bolean dp); //per visualizzare cifre e caratteri in una funzione setRow(addr, digit, value, boolean dp); //per visualizzare l'oggetto nella cifra desiderata

Per maggiori dettagli, leggi qui.

Passaggio 4: carica lo schizzo

Carica schizzo
Carica schizzo

Ho abbozzato per la prova di questo modulo a 7 segmenti. Puoi copiare il codice qui sotto, quindi incollarlo nel tuo schizzo.

//Dobbiamo sempre includere la libreria

#include "LedControl.h"

/*

Ora abbiamo bisogno di un LedControl con cui lavorare. ***** Questi numeri di pin probabilmente non funzioneranno con il tuo hardware *****

il pin 12 è collegato al DataIn

il pin 11 è collegato al CLK

il pin 10 è collegato a LOAD

Abbiamo un solo MAX72XX.

*/

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

/* aspettiamo sempre un po' tra gli aggiornamenti del display */

unsigned long delaytime=500;

void setup() {

/* Il MAX72XX è in modalità di risparmio energetico all'avvio, dobbiamo fare una sveglia */

lc.shutdown(0, falso);

/* Imposta la luminosità a valori medi */

lc.setIntensity(0, 8);

/* e cancella il display */

lc.clearDisplay(0);}

void ciao(){

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);

ritardo (ritardo+1000);

lc.clearDisplay(0);

ritardo (ritardo);

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

ritardo (ritardo);

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

ritardo (ritardo);

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

ritardo (ritardo);

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

ritardo (ritardo);

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

ritardo (ritardo);

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

ritardo (ritardo);

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

ritardo (ritardo);

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

ritardo (1500);

lc.clearDisplay(0);

ritardo (ritardo);

}

void loop() { ciao();

}

Oppure scarica il file qui sotto:

Passaggio 5: risultato

Goditi il risultato.

Se ci sono domande, scrivile nella colonna dei commenti.

Ci vediamo al prossimo articolo.

Consigliato: