Corso base di Arduino: come pilotare i display a 7 segmenti

banner prova1

Qualsiasi tipo di microcontrollore ha la necessità di rendere pubblici i risultati delle sue elaborazioni interne. Ecco, dunque, che occorre collegare una o più unità di output per permettere di far conoscere le elaborazioni interne agli operatori e agli utilizzatori della scheda.

Vediamo, in questo articolo, alcuni metodi che prevedono il collegamento e il pilotaggio di uno o più display a LED a 7 segmenti.

Un display con collegamento diretto

Costituisce, probabilmente, il tipo più semplice di metodo in quanto il display è collegato direttamente ad Arduino, tramite sette resistenze di limitazione. Il vantaggio di tale tipologia di connessione è la sua grande semplicità, sia software che hardware mentre lo svantaggio è l'enorme dispendio di porte di I/O che implica la sua adozione. La figura 1 mostra il collegamento elettrico, che prevede un display a 7 segmenti a catodo comune. Lo sketch, in figura 2, configura in output le porte collegate al display e, tramite una funzione UDF, pilota i segmenti richiesti. Viene effettuato un conteggio infinito in avanti, da 0 a 9.

FIGURA 1 Schema Un display con collegamento diretto
FIGURA 1 Schema Un display con collegamento diretto
FIGURA 2 Listato un display con collegamento diretto
FIGURA 2 Listato un display con collegamento diretto

Un display con circuito integrato 4511

Per risparmiare le preziose porte di I/O si può adottare la soluzione qui sotto presentata, che prevede l'utilizzo dell'integrato 4511 (BCD-to-7-segment latch decoder drivers). Per un solo display utilizza 4 porte di output, anziché 7, come nell'esempio precedente. Lo schema è visibile in figura 3 mentre il relativo sketch è in figura 4, che esegue lo stesso compito del precedente programma.

FIGURA 3 Schema Un display con 4511
FIGURA 3 Schema Un display con 4511
FIGURA 4 Listato un display con 4511
FIGURA 4 Listato un display con 4511

Due display con multiplex in BCD

Quando il numero dei display aumenta, il pericolo di esaurire tutte le porte di I/O comincia a farsi sentire. Questa tecnica consente di tenere acceso ciascun display per un breve intervallo di tempo affinché l'occhio umano percepisca l'accensione contemporanea di tutte le cifre. Ovviamente la tecnica complica un tantino il codice ma, nel contempo, possono essere utilizzati molti display, in cascata, mantenendo semplice lo schema elettrico. La figura 5 mostra il cablaggio e la figura 6 il relativo listato. In questo esempio è eseguito un conteggio infinito in avanti, da 0 a 99, su due cifre. Si noti la parte di codice che serve per estrapolare le decine e l'unità. Per più cifre occorre calcolare, ovviamente, anche le centinaia, le migliaia, ecc.

FIGURA 5 Schema due display con multiplex in BCD
FIGURA 5 Schema due display con multiplex in BCD
FIGURA 6 Listato due display con multiplex in BCD
FIGURA 6 Listato due display con multiplex in BCD

La SevSeg Libreria

Questa libreria trasforma Arduino in un controller per display a 7 segmenti. Il suo scopo principale è quello di semplificare al massimo l'implementazione del software e dell'hardware necessari. Con essa è un gioco da ragazzi pilotare tanti display. La figura 7 mostra il semplicissimo schema elettrico mentre la figura 8 il relativo sketch che permette di mostrare il numero 67. Con tale libreria le righe programma sono ridotte davvero all'osso.

FIGURA 7 Schema due display con libreria SevSeg
FIGURA 7 Schema due display con libreria SevSeg
FIGURA 8 Listato due display con libreria SevSeg
FIGURA 8 Listato due display con libreria SevSeg

Conclusioni

Lo spazio è davvero tiranno e ci sarebbero ancora decine di metodi da illustrare per la visualizzazione dei dati sui display a Led. In ogni caso il principiante può approfondire le tecniche spiegate nell'articolo per poi passare ad altre tecniche più complicate.

Tom's Consiglia

Per chi inizia ora e voglia dotarsi di tutto l'occorrente, Arduino Uno si trova facilmente a un prezzo abbordabile.

Pubblicità

AREE TEMATICHE