Skip to main content

Laboratorio

Cifre a LED

Classi

terze

Durata

6 ore

Scopo

Simulare il funzionamento di un sistema complesso come la rappresentazione su un "visore" a 7 segmenti di una grandezza espressa in numero.

Prerequisiti

Uso della funzione SE e della formattazione condizionata nel foglio elettronico.

Questa esercitazione non rientra nelle attività canoniche del laboratorio di Matematica ma rappresenta un modo divertente ed inconsueto per affinare alcune tecniche di manipolazione dei dati che saranno utili nel proseguo dell'attivita'. L'esercitazione si riguarda la rappresentazione delle cifre basata su 7 led chiamato anche a "7 segmenti". Un primo brevetto di questa idea fu depositato nel 1908 da Frank W. Wood ma questo sistema per rappresentare numeri decimali ed alcuni simboli divenne molto popolare negli anni 70 con l'introduzione in molti sistemi di uso comune (orologi, calcolatrici, tachimetri, indicatori, strumenti di misura, ecc.); in realtà rappresentazioni a 7 segmenti sono state realizzate anche con sistemi diversi dal led come tubi a vuoto e pannelli elettromeccanici.

Responsive image
Responsive image

L'accensione o lo spegnimento dei singoli segmenti fa apparire il simbolo desiderato (generalmente una cifra decimale od un simbolo del sistema asadecimale (AbCdEF); affiancando più display si possono rappresentare numeri con più cifre. In generale, se consideriamo che il segmento accesso assume il valore 1 ed il segmento spento assume il valore 0, possiamo schematizzare la seguente tabella

Responsive image

Dalla teoria alla pratica

Ma come simulare l'accensione o lo spegnimento di un LED con il foglio elettronico ? allineando opportunamente le celle a formare una matrice di segmenti e usando la formattazione condizionale per "accendere" o "spegnere" il singolo segmento (con OpenOffice o LibreOffice, prima di attivare la formattazione condizionale, si deve definire lo stile dello sfondo da usare attraverso il tasto F11 o il menu Formato -> Stili e Formattazione)

Naturalmente si potrà usare qualsiasi colore di sfondo per simulare il colore del LED; di seguito un esempio di come si possano disporre le celle per rappresentare i 7 segmenti restringendo le colonne C e E ed allargando le righe 5 e 7.

Responsive image

A questo punto abbiamo un sistema per rappresentare una cifra a 7 segmenti; l'obbiettivo è quello di inserire un valore nella cella di Input A1 e vedere quello stesso valore rappresentato come cifra a 7 segmenti in modo AUTOMATICO.

Prima di procedere vediamo cosa abbiamo:

  • una tabella che per ogni valore ci dice quali segmenti dobbiamo accedere o spegnere per visualizzarlo (griglia);
  • un sistema di celle disposto in modo tale da rappresentare le cifre a LED;
  • la formattazione condizionata che ci permette di mettere uno sfondo colorato (LED accesso) se si presenta una determinata condizione.
  • Cosa serve adesso ? una stringa di "controllo" dei segmenti attraverso la quale accendere o spegnere i segmenti stessi:

    Responsive image


    Nell'esempio riportato sopra, le celle che compongono i segmenti sono rese uguali ai corrispondenti valori di controllo attraverso la semplice funzione di assegnazione (per esempio la cella D4 contiene"=H8" perché assumerà il valore contenuto nella cella di controllo H8, la cella E5 contiene "=I8" e cosi via); poi, applicando ai segmenti la formattazione condizionale si potranno accendere o spegnere i led direttamente cambiando i valori della stringa di controllo.


    Responsive image

    Ora abbiamo un sistema quasi pronto per diventare "automatico" ma non basta; la nostra stringa di controllo deve essere messa in relazione con il valore inserito nella cella A1 che rappresenta il nostro valore di "Input": se la cella A1 contiene il valore 7 il nostro display dovrà mostrare la cifra 7 e così per tutte le altre. Ma come mettere in relazione il valore in A1 con i segmenti ? la soluzione è l'utilizzo della griglia dove sono memorizzati tutte le sequenze corrispondenti alle varie cifre, anche esadecimali. La stringa di controllo dovrà assumere i valori corrispondenti alla sequenza per accendere la cifra in relazione a quanto contenuto nella cella A1; in pratica se nella cella A1 inseriamo il valore 3, il sistema dovrebbe cercare nella griglia la sequenza corrispondente al numero 3 (1111001) facendo "slittare" questi valori nella stringa di controllo.


    Responsive image

    Qual'è il trucco?

    La chiave della soluzione è trattare la stringa di controllo non tutta assieme ma per singolo segmento; in questo modo è possibile utilizzare due sistemi:

    - il primo è un semplice SE; prendiamo il segmento a: dalla griglia si capisce che il segmento a assume il valore di spento (0) molte meno volte di quelle che assume il valore acceso (1); basta contare gli zeri della colonna del segmento a: sono solo 4 per le cifre 1, 4, B e D mentre per tutte le altre il valore sarà 1 quindi la formula nella cella H9 che controlla il segmento a sarà:

    =SE (O(A1=1;A1=4;A1=B;A1=D);0;1)

    la funzione =O(condizione1;condizione2;....) assume il valore vero se almeno una delle condizioni è vera anche il segmento g ha una situazione analoga ed in generale conviene controllare i casi in numero inferiore per limitare il numero di controlli.

    - Il secondo prevede l'utilizzo della funzione CERCA.VERT di cui si consiglia di consultare la guida in linea di Excel. Esistono naturalmente molte altre possibilità che lo studente forse troverà più utili e interessanti e che potranno solleticare la sua curiosità. Si consiglia di cominciare con una solo cifra e solo decimale per poi evolvere il sistema. Raddoppiando o triplicando le cifre a led e le stringhe di controllo (ma lasciando una solo griglia con le sequenze di accensione) si possono rappresentare numero più grandi; inoltre in questo caso il numero nella cella A1 andrà scomposto nelle sue cifre facendo particolare attenzione all'eventuale gestione delle cifre esadecimali.