Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void ShowNumber(byte Number){
- // La maschera definisce quale segmento accendere/spegnere per ogni cifra richiesta (rif. datasheet display 7 segmenti)
- // 1 segmento acceso; 0 segmento spento
- const byte sevenSeg_mask[] = {
- // xx.gfedcba
- 0b00111111, // segmenti attivi per visualizzare la cifra 0
- 0b00000110, // segmenti attivi per visualizzare la cifra 1
- 0b01011011, // segmenti attivi per visualizzare la cifra 2
- 0b01001111, // segmenti attivi per visualizzare la cifra 3
- 0b01100110, // segmenti attivi per visualizzare la cifra 4
- 0b01101101, // segmenti attivi per visualizzare la cifra 5
- 0b01111101, // segmenti attivi per visualizzare la cifra 6
- 0b00000111, // segmenti attivi per visualizzare la cifra 7
- 0b01111111, // segmenti attivi per visualizzare la cifra 8
- 0b01100111, // segmenti attivi per visualizzare la cifra 9
- 0b01110110, // segmenti attivi per visualizzare la lettera H
- 0b00111000, // segmenti attivi per visualizzare la lettera L
- 0b01101101, // segmenti attivi per visualizzare la lettera S
- 0b01110001, // segmenti attivi per visualizzare la lettera F
- 0b01000000, // segmenti attivi per visualizzare il trattino -
- 0b01110011, // segmenti attivi per visualizzare la lettera P
- 0b00000000 // segmenti tutti spenti
- } ;
- // Con questo secondo array invece definisco a quale pin di arduino è collegato il corrispondente segmento
- // Assegnazione uscite BCD a b c d e f g (.)
- const byte sevenSeg_pinout[] = {10, 9, 8, 7, 6, 5, 4};
- byte out_state = bcd_mask[Number];
- for(int pin=0; pin<=7; pin++) {
- // Se il display è ad anodo comune, per accendere il segmento è necessario che l'uscita sia LOW
- // Sarà quindi sufficiente negare il risultato di bitRead -> digitalWrite(bcd_pinout[pin], !bitRead(out_state, pin));
- digitalWrite(bcd_pinout[pin], bitRead(out_state, pin));
- }
- }
- ShowNumber(0); // Visualizzo il numero 0
- ShowNumber(1); // Visualizzo il numero 1
- ShowNumber(10); // Visualizzo la lettera H
- ShowNumber(16); // Tutti i segmenti spenti
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement