Was ist eine 7-Segment-Anzeige?
Eine 7-Segment-Anzeige ist eine elektronische Komponente, die aus 7 einzelnen LEDs besteht, die in einem bestimmten Muster angeordnet sind, um Ziffern (0-9) und einige Buchstaben anzuzeigen. Diese LEDs werden mit a, b, c, d, e, f, g bezeichnet, und die Anzeige enthält in der Regel einen optionalen Dezimalpunkt (dp).


Je nach Anordnung und Kombination gibt es 128 Varianten (arabische Ziffern und Zeichen) für die 7-Segment-Anzeige.
7-Segment-Anzeige Pinbelegung
Die Pinbelegung einer 7-Segment-Anzeige variiert je nach Typ, der hauptsächlich in zwei Kategorien unterteilt wird: gemeinsame Anode und gemeinsame Kathode.

Pinbelegungskonfiguration
Im Folgenden finden Sie ein Beispiel für die Pinbelegung einer typischen 7-Segment-Anzeige (beachten Sie, dass die tatsächliche Pinbelegung je nach Hersteller und Modell variieren kann):
Gemeinsame Anode:
Alle Anoden (Pluspole) der 7-Segment-Anzeige sind miteinander verbunden, und wenn eine Kathode auf Low gesetzt wird, leuchtet die entsprechende LED auf.

- g, f, a, b, e, d, c, dp: Dies sind die Segmentpins, die jeweils den sieben Segmenten und dem Dezimalpunkt entsprechen.
- COM: Der gemeinsame Anodenpin, der mit VCC verbunden ist.
Gemeinsame Kathode:
Alle Kathoden (negativ) der 7-Segment-Anzeige sind miteinander verbunden, und wenn eine Anode (positiv) auf High gezogen wird, leuchtet die entsprechende LED auf.

Ebenso entsprechen die Segmentpins (g, f, a, b, e, d, c, dp) den Segmenten und dem Dezimalpunkt, aber der gemeinsame Kathodenpin (COM) ist mit GND verbunden.
Verdrahtung der 7-Segment-Anzeige
Um eine 7-Segment-Anzeige zu betreiben, müssen die einzelnen Segmente (a, b, c, d, e, f, g, dp) an bestimmte Ausgangspins eines Mikrocontrollers angeschlossen werden. Bei einer 7-Segment-Anzeige mit gemeinsamer Kathode wird beispielsweise das negative Ende jedes Segments an einen gemeinsamen Massepin angeschlossen, während das positive Ende jedes Segments an einen anderen Ausgangspin des Mikrocontrollers angeschlossen wird.
Grundlegende Verkabelung
- Die 7-Segment-Anzeige hat 8 Pins (7 für die Segmente und 1 für den Dezimalpunkt).
- Jeder Pin, der einem Segment (a bis g) entspricht, ist mit dem Mikrocontroller verbunden.
- Bei der gemeinsamen Kathodenkonfiguration verbinden Sie den gemeinsamen Kathodenpin mit der Masse.
Beispiel für den Anschluss an Arduino
Bei der Anbindung einer 7-Segment-Anzeige an einen Arduino werden die Segmentpins in der Regel mit verschiedenen digitalen Pins auf der Arduino-Platine verbunden. Bei einer gemeinsamen Anodenkonfiguration könnten die Segmentpins beispielsweise wie folgt angeschlossen werden:
- a – Arduino-Pin 7
- b – Arduino-Pin 8
- c – Arduino-Pin 4
- d – Arduino-Pin 3
- e – Arduino-Pin 2
- f – Arduino-Pin 6
- g – Arduino-Pin 5
- COM – Arduino-Pin 9 (mit VCC verbunden)
In dieser Konfiguration wird zur Beleuchtung eines bestimmten Segments der entsprechende Arduino-Pin auf LOW gesetzt, während der gemeinsame Anoden-Pin auf HIGH bleibt.
So steuern Sie eine 7-Segment-Anzeige
Der Schlüssel zur Steuerung einer 7-Segment-Anzeige liegt darin, die einzelnen Segmente mit der richtigen Spannung zu versorgen, um die gewünschte Zahl oder das gewünschte Symbol zu bilden.
Anzeige von Zahlen
Um eine Zahl anzuzeigen, muss der Mikrocontroller die entsprechenden Segmente einschalten. Beispiel:
- Um die Zahl 0 anzuzeigen, müssen die Segmente a, b, c, d, e und f leuchten, während das Segment g ausgeschaltet bleibt.

Erforderliche Komponenten
Ähnlich wie bei einer LED-Matrix erfordert dieses Projekt einen erheblichen Aufwand an Verkabelung und Widerständen. Da jede LED einen eigenen Widerstand benötigt, um ein Durchbrennen zu verhindern, stellen Sie bitte sicher, dass Sie genügend Widerstände zur Verfügung haben. Für das gesamte Projekt benötigen Sie die folgenden Komponenten:
- Arduino Uno
- Arduino IDE
- Siebensegmentanzeige
- Elektrische Kabel
- 8x 220-Ohm-Widerstände
- Steckbrett
- USB-Kabel
Beispielcode für die Anzeige von Zahlen
int pin_a = 7, pin_b= 6, pin_c = 5, pin_d = 10, pin_e = 11, pin_f = 8, pin_g = 9, pin_p = 4;
// Segment data for digits 0-9
int numTable[10][8] = {
{1, 1, 1, 1, 1, 1, 0, 0}, // 0
{0, 1, 1, 0, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1, 0}, // 2
{1, 1, 1, 1, 0, 0, 1, 0}, // 3
{0, 1, 1, 0, 0, 1, 1, 0}, // 4
{1, 0, 1, 1, 0, 1, 1, 0}, // 5
{1, 0, 1, 1, 1, 1, 1, 0}, // 6
{1, 1, 1, 0, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1, 0}, // 8
{1, 1, 1, 1, 0, 1, 1, 0}, // 9
};
void setup(){
for (int i = 4; i <= 11; i++){
pinMode(i, OUTPUT);
}
}
void loop(){
for (int i = 0; i < 10; i++){
digitalWrite(pin_a, numTable[i][0]);
digitalWrite(pin_b, numTable[i][1]);
digitalWrite(pin_c, numTable[i][2]);
digitalWrite(pin_d, numTable[i][3]);
digitalWrite(pin_e, numTable[i][4]);
digitalWrite(pin_f, numTable[i][5]);
digitalWrite(pin_g, numTable[i][6]);
digitalWrite(pin_p, numTable[i][7]);
delay(1000);
}
}
In diesem Beispiel enthält das numTable Array die Daten, die zum Einschalten der entsprechenden Segmente für jede Ziffer erforderlich sind.
Mehrstellige 7-Segment-Anzeige-Projekte
Bei mehrstelligen Anzeigen ist die einfachste Methode zur Steuerung mehrerer 7-Segment-Anzeigen das Multiplexing. Eine weitere Möglichkeit ist die Arduino-Bibliothek.
Multiplexing-Technik
Beim Multiplexing teilen sich mehrere Anzeigen denselben Satz von Steuerpins, und jede Anzeige wird nacheinander eingeschaltet. Dies geschieht so schnell, dass das menschliche Auge alle Ziffern als gleichzeitig leuchtend wahrnimmt.
Beispielcode für das Multiplexen von 7-Segment-Anzeigen
const int digitPins[3] = {2, 3, 4}; // Digit selection pins
const int segmentPins[8] = {6, 7, 8, 9, 10, 11, 12, 13}; // Segment pins
int numTable[10][8] = { {0, 0, 0, 0, 0, 0, 1, 1}, {1, 0, 0, 1, 1, 1, 1, 1}, ... };
void setup(){
for (int i = 2; i <= 4; i++) {
pinMode(i, OUTPUT);
digitalWrite(i, LOW);
}
for (int i = 6; i <= 13; i++) {
pinMode(i, OUTPUT);
digitalWrite(i, HIGH);
}
}
void loop(){
for (int i = 0; i < 10; i++){
for (int j = 0; j < 3; j++) {
showdigit(i, j);
}
delay(500);
}
}
void showdigit(int num, int digit){
digitalWrite(digitPins[digit], HIGH);
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], numTable[num][i]);
}
delay(500);
digitalWrite(digitPins[digit], LOW);
}
Verwendung von Bibliotheken zur Steuerung von 7-Segment-Anzeigen
Der Einfachheit halber stehen Bibliotheken wie SevSeg zur Verfügung, um die Steuerung von 7-Segment-Anzeigen zu vereinfachen. Diese Bibliothek ist nützlich für die Steuerung mehrstelliger Anzeigen, da sie einen Großteil der komplexen Verdrahtung und Steuerungslogik abstrahiert.
Wir können SevSeg über das Arduino-Menü suchen und installieren: Tools >> Bibliotheken verwalten.

Beispielcode unter Verwendung der SevSeg-Bibliothek
#include "SevSeg.h"
SevSeg sevseg;
void setup() {
sevseg.begin(COMMON_CATHODE, 3, digitPins, segmentPins);
}
void loop() {
int readValue = analogRead(A0);
int showValue = map(readValue, 0, 1023, 0, 999);
sevseg.setNumber(showValue, 3);
sevseg.refreshDisplay();
}
Anwendungen von 7-Segment-Anzeigen
Aufgrund seiner Einfachheit, Benutzerfreundlichkeit und geringen Kosten wird das 7-Segment-Display häufig in verschiedenen Anwendungen eingesetzt, beispielsweise:
- Elektronische Uhren: Anzeige von Uhrzeit und Datum;
- Taschenrechner: Anzeige von Berechnungsergebnissen;
- Haushaltsgeräte: Anzeigefelder für Produkte wie Mikrowellen, Klimaanlagen und Waschmaschinen;
- Armaturenbretter in Autos: Anzeige von Informationen wie Geschwindigkeit und Kilometerstand;
- Industrieanlagen: Anzeige von Messwerten von Geräten wie Temperaturreglern und Manometern;
- Laborgeräte: Anzeige von Versuchsdaten und -ergebnissen;
- Unterhaltungselektronik: Anzeige der Lautstärkeregelung bei Audiogeräten.
Fazit
7-Segment-Anzeigen sind vielseitige Komponenten, die eine einfache Anzeige numerischer Daten ermöglichen. Das Verständnis ihrer Verdrahtung, Steuerungsmethoden und Anwendungen kann die Funktionalität Ihrer Projekte erheblich verbessern, von einfachen Uhren bis hin zu komplexen Anzeigen. Ob Sie Multiplexing, Bibliotheken oder Schieberegister verwenden, es gibt viele Möglichkeiten, 7-Segment-Anzeigen effektiv zu steuern, die jeweils für unterschiedliche Projektanforderungen geeignet sind.




