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); }