Utilizzo di un display TM1637 a 4 cifre e 7 segmenti con Arduino
In questo tutorial impareremo come utilizzare il display TM1637 a 4 cifre e 7 segmenti con un Arduino. Questo display può essere usato per mostrare numeri, contatori o qualsiasi altro dato numerico. Al termine del progetto avrai un display funzionante che può contare da 0 a 500 e dimostrare varie funzionalità come la regolazione della luminosità.

Per questo progetto collegheremo il display TM1637 all'Arduino usando solo pochi fili. Il display ha quattro pin: VCC, GND, DIO e CLK. VCC si connette all'alimentazione a 5V, mentre GND si connette alla massa. Il pin DIO sarà collegato al pin digitale 3 dell'Arduino e il pin CLK sarà collegato al pin digitale 2. Questa configurazione permette all'Arduino di comunicare facilmente con il display.
Per vedere l'implementazione pratica, assicurati di seguire il video (nel video a 00:00) per una guida visiva.
Hardware spiegato
Il TM1637 è un versatile driver per display a 7 segmenti che consente il controllo semplice di display a 4 cifre. È controllato tramite un'interfaccia a due fili, composta da un pin dati (DIO) e un pin clock (CLK). Ciò rende semplice collegarlo a microcontrollori come Arduino senza la necessità di componenti aggiuntivi.
Il display può visualizzare numeri decimali e supporta il controllo della luminosità, rendendolo adatto a una varietà di applicazioni come contatori, orologi e timer. Il suo design compatto e la facilità d'uso lo rendono una scelta popolare tra hobbisti e professionisti.
Dettagli della scheda tecnica
| Produttore | Titan Microelettronica |
|---|---|
| Numero di parte | TM1637 |
| Tensione logica/I/O | 5 V |
| Tensione di alimentazione | 3,3 V - 5,5 V |
| Corrente di uscita (per segmento) | 20 mA |
| Linee guida sulla frequenza PWM | Non applicabile |
| Soglie logiche di ingresso | 0.3 VCC (basso), 0.7 VCC (alto) |
| Caduta di tensione / RDS(on)/ saturazione | 2.5 V (tip.) |
| Limiti termici | 125 °C |
| Pacchetto | DIP a 16 pin |
- Assicurarsi che VCC sia collegato a una sorgente stabile da 5V per evitare malfunzionamenti del display.
- Usare resistori limitatori di corrente, se necessario, per evitare danni ai segmenti.
- Mantieni i cablaggi corti per ridurre al minimo il rumore e le interferenze.
- Ricontrollare sempre le connessioni dei pin per evitare l'inversione di polarità.
- Regola i livelli di luminosità usando il
setBrightnessfunzione per una visibilità ottimale.
Istruzioni di cablaggio


Per collegare il display TM1637, prima collega il pin VCC all'uscita 5V dell'Arduino. Successivamente, collega il pin GND a uno dei pin di massa (GND) dell'Arduino. Per la comunicazione dati, collega il pin DIO del display al pin digitale 3 dell'Arduino e il pin CLK al pin digitale 2. Questa semplice configurazione permette all'Arduino di comunicare efficacemente con il display.
Assicurati di avere connessioni sicure per evitare problemi dovuti a cablaggi allentati. Nel video vengono mostrate configurazioni di cablaggio alternative, ma le connessioni fornite sono le più semplici per un funzionamento di base (nel video a 01:30).
Esempi di codice e guida passo-passo
Il codice fornito inizializza il display e imposta le configurazioni necessarie. Gli identificatori chiave nel codice includonoCLKeDIO, che sono definiti rispettivamente come i pin digitali 2 e 3. La luminosità del display viene impostata usando ilsetBrightnessfunzione.
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
void setup() {
display.setBrightness(0x0f); // Set maximum brightness
}
Questo estratto di codice mostra l'inizializzazione del display e l'impostazione della luminosità massima. Successivamente, illoopLa funzione dimostra come visualizzare diversi numeri.

void loop() {
uint8_t data[] = { 0x0, 0x0, 0x0, 0x0 };
display.setSegments(data); // Clear the display
display.showNumberDec(23, false, 2, 1); // Show number 23
delay(TEST_DELAY);
}
Qui il display viene cancellato e viene visualizzato il numero 23. La funzioneshowNumberDecAccetta parametri per controllare il numero visualizzato e la sua formattazione. Il ciclo continua a visualizzare numeri fino a 500.
for(int i=0; i<=500; i++) {
display.showNumberDec(i); // Show numbers from 0 to 500
}
Questo frammento di codice illustra un semplice contatore che visualizza numeri da 0 a 500 sul display TM1637. Il display si aggiornerà continuamente fino a raggiungere 500, quindi tornerà a 0. Il codice completo è disponibile sotto l'articolo per riferimento.
Dimostrazione / Cosa aspettarsi
Una volta che tutto è collegato e il codice è caricato, il display dovrebbe mostrare i numeri in sequenza da 0 a 500. Mostrerà anche varie impostazioni di luminosità e cancellerà lo schermo adeguatamente tra un aggiornamento e l'altro. Fai attenzione alla polarità invertita, poiché questa può danneggiare il display. Puoi confermare il funzionamento osservando il display durante il video (nel video a 04:00).
Marcatori temporali del video
- 00:00- Introduzione al display TM1637
- 01:30- Istruzioni di cablaggio
- 02:45- Revisione del codice
- 04:00- Dimostrazione del Display
Risorse e riferimenti
Nessuna risorsa ancora.
File📁
Librerie Arduino (zip)
-
TM1637 Arduino Library
TM1637_library.zip1.36 MB
Scheda tecnica (pdf)
-
Datasheet TM1637
/download/datasheet/robojax_TM1637_datasheet.pdf0.67 MB
Manuale dell'utente
-
Manuale del Display TM1637
robojax-TM1637_display_manual.pdf0.31 MB