Schemi delle cifre nei byte
Fa parte della sezione Display e sensori del percorso Arduino di Coddy. Lezione 2 di 24.
Sette righe digitalWrite() per ogni cifra sono tante righe di codice. Memorizza ogni cifra come schema: un bit per segmento, 1 per acceso e 0 per spento.
Un byte è un numero intero da 0 a 255 composto da otto bit. Scrivilo in binario con 0b davanti. Leggi i bit da destra: l'ultimo bit è il segmento a, quello precedente è b e così via fino a g.
// gfedcba
byte one = 0b0000110; // b e c: un 1Dieci schemi entrano in un array, quindi digits[3] è lo schema del 3. bitRead(), dal contatore binario, legge un bit alla volta, contando da destra e iniziando da 0:
bitRead(0b0000110, 0) // 0: il segmento a è spento
bitRead(0b0000110, 1) // 1: il segmento b è accesoUna funzione può scorrere i sette bit con un ciclo for e impostare ogni pin del segmento, così per visualizzare qualsiasi cifra basta una chiamata: showDigit(7);
Sfida
MedioIl codice iniziale contiene tutti i pattern tranne 4 e 7, e loop() mostra 1, 4 e 7.
- completa 4 (segmenti
b,c,f,g) e 7 (a,b,c) - scrivi
showDigit(n): per ogniida 0 a 6, impostasegmentPins[i]suLOWquando il bitididigits[n]è 1, e suHIGHquando è 0
Premi Run, poi Check.
Provalo tu
const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8}; // a, b, c, d, e, f, g
// Un pattern per ogni cifra, da leggere da destra: l'ultimo bit corrisponde al segmento a.
// gfedcba
const byte digits[10] = {
0b0111111, // 0
0b0000110, // 1
0b1011011, // 2
0b1001111, // 3
0b0000000, // 4: da completare
0b1101101, // 5
0b1111101, // 6
0b0000000, // 7: da completare
0b1111111, // 8
0b1101111 // 9
};
void showDigit(int n) {
// accendi i segmenti di digits[n], spegni gli altri
}
void setup() {
for (int i = 0; i < 7; i++) {
pinMode(segmentPins[i], OUTPUT);
}
}
void loop() {
showDigit(1);
delay(1000);
showDigit(4);
delay(1000);
showDigit(7);
delay(1000);
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Display e sensori
1Display a sette segmenti
Display a sette segmentiSchemi delle cifre nei byteConta sul displayConto alla rovescia fino a zeroLancio dei dadiEsercitati da solo: Playground Arduino