Utilizzare e Creare una Libreria per il Display a 7 Segmenti
Obiettivo: Utilizzare e creare una libreria (file header e cpp) per un Display a Sette Segmenti.
Puoi scaricare i file di libreria cliccando nel seguente link: http://www.arduinofacile.it/wp-content/uploads/2021/03/SevenSegment.zip
I file scaricati devono essere inseriti all’interno della cartella di progetto insieme al file .ino
Componenti elettronici:
- Arduino UNO
- Breadboard
- 1 Display a 7 Segmenti
- 8 Resistenze
Pre-requisiti:
Teoria: la realizzazione di funzioni di libreria permette di facilitare l’operazione di riutilizzo del codice rendendo più veloce e più rapido lo sviluppo. Nel caso specifico la funzione di libreria implementata sarà costituta da un file header (.h) e da un file sorgente (.cpp).
Un file header è un file di testo che contiene i prototipi dei metodi (funzioni) definite nel relativo file sorgente. Nel caso in questione il file header contiene anche la dichiarazione della classe “SevenSegment” utilizzata per modellare il display a sette segmenti.
Tale classe sarà caratterizzata da 10 attributi:
- int pinA: il pin A del display a sette segmenti
- int pinB: il pin B del display a sette segmenti
- int pinC: il pin C del display a sette segmenti
- int pinD: il pin D del display a sette segmenti
- int pinE: il pin E del display a sette segmenti
- int pinF: il pin F del display a sette segmenti
- int pinG: il pin G del display a sette segmenti
- int pinDP: il pin DP del display a sette segmenti
- bool isCommonAnode: indica se il display è di tipo anodo comune oppure no
e da 11 metodi
- void Print0(): metodo utilizzato per stampare il numero 0
- void Print1(): metodo utilizzato per stampare il numero 1
- void Print2(): metodo utilizzato per stampare il numero 2
- void Print3(): metodo utilizzato per stampare il numero 3
- void Print4(): metodo utilizzato per stampare il numero 4
- void Print5(): metodo utilizzato per stampare il numero 5
- void Print6(): metodo utilizzato per stampare il numero 6
- void Print7(): metodo utilizzato per stampare il numero 7
- void Print8(): metodo utilizzato per stampare il numero 8
- void Print9(): metodo utilizzato per stampare il numero 9
- void CountDown(): metodo utilizzato per eseguire il countdown.
Nel file sorgente viene invece riportata l’implementazione dei prototipi delle funzioni dichiarate nel file header.
Collegamento Circuitale:
Codice:
Vengono in seguito riportate le tre porzioni di codice utilizzate per creare la funzione di libreria relativa al display a sette segmenti.
- File Header: contiene la definizione della classe con i propri attributi (i.e., pinA, pinB, etc) ed i prototipi dei relativi metodi.
- File Sorgente: contiene le implementazioni dei metodi riportati nel file header.
- File Arduino: Utilizzato per fornire un esempio di come utilizzare la libreria per la gestione del display a sette segmenti.
Se tutti i file sono correttamente posizionati sullo stesso livello all’interno della cartella di progetto, due nuove tab compariranno nell’ambiente di sviluppo utilizzato per programmare Arduino. Attraverso queste tab sarà possibile visionare e modificare il file sorgente (.cpp) ed il file header (.h)