Skip to Content

Arduino e Driver per display a 7 segmenti CD4511 – Guida passo passo

Arduino e Driver per display a 7 segmenti CD4511 – Guida passo passo

Hai mai voluto realizzare un progetto che utilizza un display a 7 segmenti a 4 o 8 cifre?

Pilotare un gran numero di 7-segment display con un Arduino UNO può essere complicato, poiché richiede molti pin e funzioni software complesse.

Qui entra in gioco il driver per display a 7 segmenti CD4511.

Il CD4511 è un circuito integrato decodificatore latch BCD-to-7-segment, ampiamente usato in orologi digitali, contatori e sistemi di visualizzazione.

Il CD4511 converte dati in codice decimale binario (BCD) in un pattern per display a 7 segmenti.

Usando il CD4511, puoi collegare il tuo Arduino UNO a un numero maggiore di display a 7 segmenti usando meno pin e meno sforzo software.

In questo articolo fornirò uno schema di collegamento e esempi di codice per aiutarti a usare il CD4511 con il tuo Arduino UNO.

Che tu sia un principiante o un maker esperto, il CD4511 è uno strumento utile e potente per il tuo prossimo progetto con display a 7 segmenti.

Prendi la tua breadboard e iniziamo!

Componenti necessari per realizzare il progetto Arduino e display a 7 segmenti con CD4511

Componenti hardware

Software

Makerguides.com partecipa al Programma di affiliazione Amazon Services LLC Associates, un programma pubblicitario affiliato progettato per fornire ai siti un mezzo per guadagnare commissioni pubblicitarie promuovendo e collegandosi a prodotti su Amazon.com.

Nozioni di base sul decodificatore BCD CD4511

In questa sezione capiremo le basi del circuito integrato decodificatore BCD CD4511. È un decodificatore BCD a 7 segmenti a basso costo con molte funzionalità e un driver di display molto semplice.

Il CD4511 è un IC utile per pilotare display a 7 segmenti. È un dispositivo CMOS progettato per essere a basso consumo e immune al rumore. Questo lo rende ideale per molte applicazioni.

Il CD4511 prende dati in codice decimale binario (BCD) e fornisce in uscita le informazioni corrispondenti a un display a 7 segmenti.

Il CD4511 ha quattro ingressi BCD e sette uscite per il display a 7 segmenti.

I quattro ingressi BCD sono collegati agli ingressi dati, mentre le sette uscite sono collegate ai segmenti del display a 7 segmenti.

L’immagine sottostante mostra il diagramma a blocchi funzionale del circuito integrato CD4511.

diagram of the CD4511 IC

Quando invii un numero BCD al CD4511, questo lo decodifica e accende i segmenti corrispondenti per visualizzare il numero sul display a 7 segmenti.

Una delle grandi qualità del CD4511 è la sua flessibilità. Può essere usato con display a 7 segmenti a catodo comune e ad anodo comune, rendendolo una scelta popolare per una vasta gamma di progetti.

È anche facile da usare – basta collegare ingressi e uscite, e il CD4511 fa il resto.

L’immagine sottostante mostra il dettaglio del pinout del CD4511.

CD4511 pinout details

Un altro vantaggio del CD4511 è il suo basso consumo energetico. Questo lo rende ideale per progetti alimentati a batteria dove è importante risparmiare energia.

Il circuito integrato CD4511 ha una funzione di test lampada (LT), che accende tutti i segmenti del display a 7 segmenti.

Se vuoi spegnere temporaneamente tutti i segmenti, il CD4511 dispone anche di una funzione di blanking attiva bassa.

Questa funzione ti permette di creare effetti lampeggianti, rendendo i tuoi display più dinamici e accattivanti. La tabella sottostante riassume le funzioni.

table summarizes the functions

Che tu stia lavorando a un progetto semplice o più complesso, il CD4511 è un’ottima scelta per pilotare display a 7 segmenti.

Caratteristiche del CD4511

Ecco le caratteristiche del circuito integrato CD4511 compatibile con Arduino:

  • Intervallo di tensione operativa da 4,5 V a 5,5 V
  • Elevata capacità di erogazione corrente (7,5 mA)
  • Alta immunità al rumore
  • Latch di ingresso per la memorizzazione del codice BCD
  • Ritardi di propagazione e tempi di transizione bilanciati
  • Consumo massimo di corrente di 8 µA a temperatura ambiente
  • Funzione di blanking dei segmenti
  • Funzione “all lamp” (per testare e debuggare facilmente i segmenti)

Dettagli dei pin del circuito integrato CD4511

Gli ingressi BCD sono usati per inserire dati in codice decimale binario, che vengono decodificati e poi visualizzati su un display a 7 segmenti.

L’ingresso Lamp Test serve per testare tutti i segmenti del display a 7 segmenti. L’ingresso Blanking serve per spegnere temporaneamente tutti i segmenti.

Le uscite a 7 segmenti pilotano i segmenti corrispondenti nel display a 7 segmenti.

Ho riassunto la descrizione dei pin del chip CD4511 nella tabella sottostante.

Numero pin Nome pin Funzione pin
1 D1 Ingresso dati BCD D1
2 D2 Ingresso dati BCD D2
3 #LT Test lampada (attivo basso)
4 #BL Funzione blanking (attivo basso)
5 #LE Abilitazione latch (ingresso attivo basso)
6 D3 Ingresso dati BCD D3
7 D0 Ingresso dati BCD D0
8 GND Connessione a massa
9-15 a-f Pin di pilotaggio dei segmenti LCD
16 VCC Pin di alimentazione. Questo pin dovrebbe essere disaccoppiato usando un condensatore da 0,1 µF a 1,0 µF.

Possibili applicazioni del circuito integrato CD4511

  1. Display digitali in orologi e calcolatrici
  2. Pannelli di controllo di una stazione meteorologica per visualizzare temperatura, pressione, ecc.
  3. Informazioni numeriche visualizzate su bilance
  4. Strumenti di misura, e
  5. Sistemi di controllo di processi industriali, ecc.

Istruzioni passo-passo per collegare il CD4511 con Arduino UNO e display a 7 segmenti

In questa sezione costruiremo un progetto usando Arduino UNO, display a 7 segmenti e il modulo CD4511.

I collegamenti sono semplici e richiedono molto meno tempo per essere completati.

Iniziamo con i collegamenti hardware!

Come collegare il driver a 7 segmenti CD4511 all’Arduino UNO?

Di seguito la guida passo-passo per completare il collegamento tra Arduino e il modulo CD4511.

Passo 1: Inizia con i collegamenti GND

Start with the GND connections

Collega il pin GND del modulo CD4511 al GND dell’Arduino.

Scegli uno qualsiasi dei pin GND disponibili sull’Arduino per il collegamento.

È una buona pratica iniziare dai collegamenti GND.

Passo 2: Collega le linee BCD al modulo

Connect the BCD Lines to the module

Collega i pin 2-5 dell’Arduino agli ingressi dati BCD del CD4511.

Passo 3: Termina gli ingressi Lamp test e Blank test

Terminate the Lamp test and Blank test inputs

Collega i pin 3 e 4 del circuito integrato CD4511 al pin 5V dell’Arduino. Questi due pin servono per testare il modulo. In questo esempio li collegheremo in modo sicuro.

Passo 4: Collega la linea di alimentazione

Connect the Power line

Collega il pin VCC del circuito integrato CD4511 al pin 5 V dell’Arduino UNO.

Passo 5: Collega il modulo a 7 segmenti

Connect the 7-segment module

Collega il modulo a 7 segmenti al circuito integrato CD4511.

Passo 6: Completa il collegamento

Complete connection

Congratulazioni! Hai completato tutti i collegamenti necessari.

Esempio di codice Arduino per il progetto con modulo CD4511

In questa sezione trovi lo sketch Arduino completo e le informazioni per installare le librerie necessarie.

Il codice completo per il progetto Arduino con CD4511

 /*
Example of how to drive a seven-segment display using HCF4511 or similar

This sketch drives the display in order to show a number from 0 to 9 every time a button connected to A0 is pressed.
Source: https://projecthub.arduino.cc/Arduino_Scuola/36b84c1e-70fc-4f09-87a3-62fb39dc21cb
*/

//Declaration   of Arduino pins used as HCF4511 inputs
const int A = 2;
const int B = 3;
const int C = 4;
const int D = 5;

void setup() {
  pinMode(A0, INPUT);
  pinMode(A, OUTPUT); //LSB
  pinMode(B, OUTPUT);
  pinMode(C, OUTPUT);
  pinMode(D, OUTPUT); //MSB
}

int count = 0; //the variable used to show the number

void   loop() {
  if (digitalRead(A0) == LOW) //if button is pressed
  {
    count++;
    delay(200); //the delay prevent from button bouncing
    if (count ==   10) //we want to count from 0 to 9!
      count = 0;
    to_BCD(); //convert   to binary
  }

  if (count == 10)
    count = 0;
}

void to_BCD()
{
  if (count == 0) //write 0000
  {
    digitalWrite(A, LOW);
    digitalWrite(B, LOW);
    digitalWrite(C, LOW);
    digitalWrite(D, LOW);
  }

  if (count == 1) //write 0001
  {
    digitalWrite(A, HIGH);
    digitalWrite(B, LOW);
    digitalWrite(C, LOW);
    digitalWrite(D, LOW);
  }

  if (count == 2) //write 0010
  {
    digitalWrite(A, LOW);
    digitalWrite(B, HIGH);
    digitalWrite(C, LOW);
    digitalWrite(D, LOW);
  }

  if (count == 3) //write 0011
  {
    digitalWrite(A, HIGH);
    digitalWrite(B, HIGH);
    digitalWrite(C, LOW);
    digitalWrite(D, LOW);
  }

  if (count == 4) //write 0100
  {
    digitalWrite(A, LOW);
    digitalWrite(B, LOW);
    digitalWrite(C, HIGH);
    digitalWrite(D, LOW);
  }

  if (count == 5) //write 0101
  {
    digitalWrite(A, HIGH);
    digitalWrite(B, LOW);
    digitalWrite(C, HIGH);
    digitalWrite(D, LOW);
  }

  if (count == 6) //write 0110
  {
    digitalWrite(A, LOW);
    digitalWrite(B, HIGH);
    digitalWrite(C, HIGH);
    digitalWrite(D, LOW);
  }

  if (count == 7) //write 0111
  {
    digitalWrite(A, HIGH);
    digitalWrite(B, HIGH);
    digitalWrite(C, HIGH);
    digitalWrite(D, LOW);
  }

  if (count == 8) //write 1000
  {
    digitalWrite(A, LOW);
    digitalWrite(B, LOW);
    digitalWrite(C, LOW);
    digitalWrite(D, HIGH);
  }

  if (count == 9) //write 1001
  {
    digitalWrite(A, HIGH);
    digitalWrite(B, LOW);
    digitalWrite(C, LOW);
    digitalWrite(D, HIGH);
  }
}

Il codice è scritto in modo semplice. Se vuoi visualizzare 1 sul display a 7 segmenti, devi inviare 0001 ai pin di ingresso BCD del decodificatore CD4511.

  if (count == 1) //write 0001
  {
    digitalWrite(A, HIGH);
    digitalWrite(B, LOW);
    digitalWrite(C, LOW);
    digitalWrite(D, LOW);
  }

Un altro modo per ridurre la lunghezza del codice è definire una funzione che prende il valore del conteggio come input e lo mappa sugli ingressi BCD.

Domande frequenti su CD4511 e progetti Arduino

Ho incluso una lista delle domande più frequenti sui progetti realizzati con Arduino e il modulo BCD-to-7-segment CD4511.

Se hai altre domande, per favore scrivile nella sezione commenti. Sarò felice di risponderti.

1. Cos’è il circuito integrato CD4511?

Il CD4511 è un circuito integrato comunemente usato per controllare display a 7 segmenti in varie applicazioni, come orologi digitali, calcolatrici e altri progetti con display.

Agisce come decodificatore e driver, convertendo ingressi in codice decimale binario (BCD) in uscite. Le uscite binarie controllano i segmenti del display a 7 segmenti.

Si trova in molti progetti hobbistici e applicazioni commerciali dove si usano display a 7 segmenti.

2. Come funziona il CD4511 con una scheda Arduino?

Il CD4511 funziona insieme a una scheda Arduino ricevendo ingressi binari dalla scheda, decodificandoli e pilotando i segmenti corrispondenti del display a 7 segmenti.

Il CD4511 richiede il collegamento all’alimentazione (5 V), massa e ingressi dati dalla scheda Arduino per funzionare correttamente (ingressi BCD).

3. Quali sono i vantaggi di usare il CD4511 con una scheda Arduino?

Il CD4511 offre diversi vantaggi se usato con una scheda Arduino.

  • È una soluzione compatta ed economica per controllare display a 7 segmenti, combinando le funzioni di decodificatore e driver in un unico circuito integrato.
  • Riduce anche la quantità di cablaggio e il numero di componenti necessari, rendendo il progetto complessivo più semplice e facile da costruire.
  • Semplifica il software e fa risparmiare tempo e complessità di programmazione.

4. Quanti ingressi ha il CD4511?

Il CD4511 ha quattro pin di ingresso. Puoi usarli per ricevere dati in codice decimale binario (BCD) dalla scheda Arduino UNO.

Il circuito integrato CD4511 decodifica i dati e controlla i segmenti del display a 7 segmenti.

Ci sono anche ingressi di test per eseguire un controllo rapido di base. Consulta la sezione nozioni di base sul CD4511 sopra per maggiori dettagli.

5. Qual è la corrente massima che il CD4511 può pilotare?

Il CD4511 è in grado di pilotare una corrente massima di 15 mA per segmento.

Questo gli permette di alimentare i display a 7 segmenti più comuni, inclusi quelli usati in orologi digitali, calcolatrici e altri progetti con display.

6. Il CD4511 può essere usato con altri microcontrollori oltre alla scheda Arduino?

Sì, il CD4511 può essere usato con altri tipi di microcontrollori oltre alla scheda Arduino.

Tuttavia, il cablaggio specifico e il codice richiesto dipenderanno dal microcontrollore usato, così come dal tipo di display a 7 segmenti impiegato.

È importante consultare il datasheet sia del CD4511 che del microcontrollore per assicurare compatibilità e uso corretto.

Conclusione

In questo articolo abbiamo esplorato tutte le caratteristiche e capacità chiave del CD4511.

Ho fornito una guida completa su come usarlo con un Arduino UNO.

Con la guida passo-passo per i collegamenti e gli esempi di codice funzionanti, hai tutte le informazioni necessarie per iniziare il tuo progetto con CD4511 e Arduino.

Spero che questo articolo ti sia stato molto utile per imparare a conoscere il CD4511 e come usarlo con Arduino.

Se hai domande, commenti o suggerimenti, non esitare a contattarmi.

Il mio obiettivo è assicurarmi che tu abbia tutte le informazioni e il supporto necessari per avere successo nei tuoi progetti in un unico posto.

Se hai trovato informazioni mancanti o suggerimenti di miglioramento, fammelo sapere.

Continua a sperimentare. Continua a imparare!