Display a sette segmenti
I display a sette segmenti sono utilizzati da orologi e strumenti elettronici per visualizzare cifre numeriche.
In questo caso si fa riferimento ad un display di segmenti a LED. I LED sono diodi luminosi che possono essere accesi o spenti.
La disposizione dei diodi, di forma rettangolare, permette di visualizzare tutte le 10 cifre decimali da 0 a 9 (ed anche quelle esadecimanli da A ad F); questo è consentito dalla possibilità di accendere e spegnere i singoli led a piacere.
Per visuualizzare numeri con molte cifre si usano più display affiancati.
I singoli LED sono designati con lettere dell'alfabeto dalla "a" alla"g" più un ulteriore led per il punto decimale che è indicato con "DP" (dot point).
Con Scratch si può simulare il funzionamento facendo in modo da avere sette sprites diversi posizionati come in figura, che possono essere accesi o spenti indipendentemente.
Si capisce che se sono acccesi solo i segmenti "b" e "c" si vedrà la cifra "1".
Se, invece, sono acccesi solo i segmenti "a", "b", "g", "e", "d" si vedrà la cifra "2".
E così via.
Ogni segmento dovrà avere un costume "spento" che viene denominato "off" ed un costume "acceso" che viene denominato "on" e dovrà essere posizionato in modo da occupare la posizione corretta.
In questo video si vede come si costruisce il display.
Bisogna poi costruire lo script che esegue quanto richiesto accendendo o spegnendo i segmenti giusti.
Esempio
Una proposta di comando dei segmenti è mostrata qui sotto.
Per accendere o spegnere il segmento "a" si devono poter richiamare i due costumi denomimati "on" e "off" e lo si fa con la coppia di risposta ad un messaggio:
- "quando ricevo (spegni)" lo sprite "segmento a" deve passare al costume "off"
- "quando ricevo (accendi a)" lo sprite "segmento a" e solo quello deve eseguire il messaggio e passare al costume "on"
Nota che si è scelto di spegnere sempre tutti i segmenti insieme prima di accendere quelli prescelti per cui il comando "spegni" è unico per tutti gli sprites mentre il comando "accendi" deve essere specifico per ciascuno sprite.
L'accensione del segmento "a" apparirà così.
Predisponendo un insieme di messaggi di questo tipo si possono manipolare convenientemente tutti i segmenti.
Per esempio, per mostrare il numero "6" si devono prima spegnere tutti i segmenti poi si devono accendere solo i segmenti "a", "c", "d", "e", "f", "g".