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: https://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:


Creare funzioni con Arduino … per un Display a 7 Segmenti


Teoriala 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:

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)

IDE con l’utilizzo della libreria SevenSegment.h