arduino:seven-segment
Dies ist eine alte Version des Dokuments!
7-Segmentanzeige: Zählen
Dieses Programm zählt auf einer 7-Segmentanzeige, welche an den Pins 3 bis 9 angeschlossen wird, wiederholend von 0 bis 9.
#define DELAY 1000 // Aussehen der Ziffern const byte SEGMENT[10][7] = { // a b c d e f g /* 0 */ { HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, LOW }, /* 1 */ { LOW, HIGH, HIGH, LOW, LOW, LOW, LOW }, /* 2 */ { HIGH, HIGH, LOW, HIGH, HIGH, LOW, HIGH }, /* 3 */ { HIGH, HIGH, HIGH, HIGH, LOW, LOW, HIGH }, /* 4 */ { LOW, HIGH, HIGH, LOW, LOW, HIGH, HIGH }, /* 5 */ { HIGH, LOW, HIGH, HIGH, LOW, HIGH, HIGH }, /* 6 */ { HIGH, LOW, HIGH, HIGH, HIGH, HIGH, HIGH }, /* 7 */ { HIGH, HIGH, HIGH, LOW, LOW, LOW, LOW }, /* 8 */ { HIGH, HIGH, HIGH, HIGH, HIGH, HIGH, HIGH }, /* 9 */ { HIGH, HIGH, HIGH, HIGH, LOW, HIGH, HIGH } }; // Pinbelegung const byte SEGMENT_PIN[] = { 3, 4, 5, 6, 7, 8, 9 }; const byte SEGMENT_PIN_COUNT = sizeof(SEGMENT_PIN) / sizeof(byte); int digit; void setup() { for (int i = 0; i < SEGMENT_PIN_COUNT; ++i) { pinMode(SEGMENT_PIN[i], OUTPUT); } digit = 0; } void showDigit(int digit) { for (int i = 0; i < SEGMENT_PIN_COUNT; ++i) { digitalWrite(SEGMENT_PIN[i], SEGMENT[digit][i]); } } void loop() { showDigit(digit); delay(DELAY); ++digit; if (digit > 9) { digit = 0; } }
arduino/seven-segment.1416422081.txt.gz · Zuletzt geändert: 2020/10/13 14:25 (Externe Bearbeitung)