Precedente Indice Successiva

Visualizziamo una cifra

  • Il dipsplay a 7 segmenti nasce per visualizzare delle cifre
  • Accendendo opportunamente i vari segmenti del display potremo rappresentare tutte le 10 cofre decimali dallo 0 a 9 oltre alle lettere da a ad f per rappresentare una cifra decimale o esadecimale
  • Per questo nuovo programma partiremo dal precedente, che già contiene l'inizializzazione e la definizione dei dati
  • Per semplificare il lavoro, definisco una matrice di costanti boolean che, per ognuna delle cifre esadecimali da 0 a f indichi quali dei segmenti accendere (true) o spegnere (false)
  • Scriveremo ora una funzione void digit (int n) che, dopo aver limitato il numero passato come parametro al campo da 0 a f, lo visualizzerà sul display.
  • Per fare questo farà un semplice ciclo for sulle colonne della riga il cui indice è la cifra da rappresentare, accendendo (true) o spegnendo (false) il piedino corrispondente al segmento, il cui indice deriva dal vettore della volta scorsa.
  • Per decidere se accendere o spegnere il piedino utilizzo l'operatore ternario del C, quindi la riga che esegue il lavoro diventa: digitalWrite(segments , (cifre[n]) ? LOW : HIGH); dove ovviamente n è la cifra da visualizzare, mentre i è il segmento corrente (0 = a, 6 = g)
  • Completeremo il tutto con un semplice ciclo for, nella funzione loop(), che richiami la nostra funzione per le cifre da 0 a 15, con intervallo di mezzo secondo
© Ing. Stefano Salvi - released under FDL licence

Valid XHTML 1.0! Valid CSS!