Informatikunterricht

am Gymnasium Kirchenfeld

Benutzer-Werkzeuge

Webseiten-Werkzeuge


digitalelektronik:seven-segment-hello

"HELLO" auf einer Siebensegmentanzeige

Dieses Programm stellt nacheinander die Buchstaben „HELLO“ auf einer Siebensegmentanzeige dar.

Die Siebensegmentanzeige wird wie folgt angeschlossen:

Segment Pin Bit
a 8 6
b 7 5
c 6 4
d 5 3
e 4 2
f 3 1
g 2 0
const int DELAY_MS = 500;
const int SEGMENT_PIN[] = { 8, 7, 6, 5, 4, 3, 2 };
const int SEGMENT_PIN_COUNT = 7;
const byte CHARACTER[] = {
//    abcdefg
    B00110111, // H
    B01001111, // E
    B00001110, // L
    B00001110, // L
    B01111110, // O
    B00000000, // Leerzeichen
};
const int CHARACTER_COUNT = 6;
 
byte number;
 
void setup() {
    int i = 0;
    while (i < SEGMENT_PIN_COUNT) {
        pinMode(SEGMENT_PIN[i], OUTPUT);
        i = i + 1;
    }
 
    number = 0;
}
 
void showByte(byte b) {
    byte i = 0;
    while (i < SEGMENT_PIN_COUNT) {
        if ((b & (1 << i)) != 0) {
            digitalWrite(SEGMENT_PIN[i], HIGH);
        }
        else {
            digitalWrite(SEGMENT_PIN[i], LOW);
        }
 
        i = i + 1;
    }
}
 
void loop() {
    showByte(CHARACTER[number]);
    number = number + 1;
    if (number >= CHARACTER_COUNT) {
        number = 0;
    }
 
    // Kurz alle Segmente ausschalten
    delay(DELAY_MS);
    showByte(0);
    delay(100);
}
digitalelektronik/seven-segment-hello.txt · Zuletzt geändert: 2020/10/13 14:25 von 127.0.0.1