Arduino Mega - 10-Segment-LED-Balkenanzeige

1×Arduino MEGA
1×Alternativ: DIYables MEGA Development Board
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×10 Segment LED Bar Graph
10×220 Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Screw Terminal Block Shield for Arduino Uno/Mega
1×(Empfohlen) Sensors/Servo Expansion Shield for Arduino Mega
1×(Empfohlen) Breadboard Shield for Arduino Mega
1×(Empfohlen) Enclosure for Arduino Mega

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Dieses Tutorial zeigt Ihnen, wie Sie mit dem Arduino Mega 2560 eine 10-Segment-LED-Balkenanzeige steuern. Im Einzelnen lernen wir:

Arduino Mega und 10-Segment-LED-Balkenanzeige

Über die 10-Segment-LED-Balkenanzeige

10-Segment-LED-Balkenanzeige
Anzahl der Segmente 10
LED-Farbe Leuchtend rot
Durchlassspannung ~2V pro Segment
Durchlassstrom max. 20mA pro Segment
Benötigter Widerstand 220Ω pro Segment

Pinbelegung der 10-Segment-LED-Balkenanzeige

Pinbelegung der 10-Segment-LED-Balkenanzeige

Die 10-Segment-LED-Balkenanzeige hat insgesamt 20 Pins — 10 Anoden-Pins und 10 Kathoden-Pins:

  • Anoden-Pins (A1–A10): müssen über 220Ω-Widerstände mit GPIO-Pins verbunden werden
  • Kathoden-Pins (K1–K10): müssen mit GND verbunden werden

※ Notiz:

Die Pinanordnung Ihrer LED-Balkenanzeige kann je nach Hersteller unterschiedlich sein. Beziehen Sie sich immer auf das Datenblatt oder die Beschriftung Ihres Bauteils. Schauen Sie genau hin!

Schaltplan

Bei der Verdrahtung wird jeder Anoden-Pin der LED-Balkenanzeige über einen 220Ω-Strombegrenzungswiderstand mit einem eigenen GPIO-Pin des Arduino Mega verbunden.

Schaltplan Arduino Mega und 10-Segment-LED-Balkenanzeige

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

LED-Balkenanzeige Arduino-Mega-Pin
A1 (Anode 1) Pin 2 (über 220Ω)
A2 (Anode 2) Pin 3 (über 220Ω)
A3 (Anode 3) Pin 4 (über 220Ω)
A4 (Anode 4) Pin 5 (über 220Ω)
A5 (Anode 5) Pin 6 (über 220Ω)
A6 (Anode 6) Pin 7 (über 220Ω)
A7 (Anode 7) Pin 8 (über 220Ω)
A8 (Anode 8) Pin 9 (über 220Ω)
A9 (Anode 9) Pin 10 (über 220Ω)
A10 (Anode 10) Pin 11 (über 220Ω)
K1–K10 (Kathoden) GND

Wie man den Arduino Mega 2560 für die 10-Segment-LED-Balkenanzeige programmiert

Der erste Schritt besteht darin, das Array der Pins zu definieren, die mit den Anoden der LED-Balkenanzeige verbunden sind:

const int NUM_SEGMENTS = 10; const int ledPins[NUM_SEGMENTS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11};

Jeder Pin muss in der Funktion setup() mit pinMode() als Ausgang konfiguriert werden:

pinMode(ledPins[i], OUTPUT);

Um ein Segment einzuschalten, schreiben Sie ein HIGH-Signal auf den entsprechenden Pin:

digitalWrite(ledPins[i], HIGH);

Um ein Segment auszuschalten, schreiben Sie ein LOW-Signal auf den entsprechenden Pin:

digitalWrite(ledPins[i], LOW);

Es wird keine Bibliothek benötigt — die LED-Balkenanzeige wird vollständig über die direkte GPIO-Steuerung angesteuert.

Arduino Mega 2560 Code für die 10-Segment-LED-Balkenanzeige

/* * Dieser Arduino Mega Code wurde von newbiely.de entwickelt * Dieser Arduino Mega Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-mega/arduino-mega-10-segment-led-bar-graph */ const int NUM_SEGMENTS = 10; const int ledPins[NUM_SEGMENTS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; void printBar(int litCount) { Serial.print("Bar: ["); for (int i = 0; i < NUM_SEGMENTS; i++) { Serial.print(i < litCount ? "*" : " "); } Serial.println("]"); } void setup() { Serial.begin(9600); for (int i = 0; i < NUM_SEGMENTS; i++) { pinMode(ledPins[i], OUTPUT); digitalWrite(ledPins[i], LOW); } } void loop() { for (int i = 0; i < NUM_SEGMENTS; i++) { digitalWrite(ledPins[i], HIGH); printBar(i + 1); delay(100); } delay(500); for (int i = NUM_SEGMENTS - 1; i >= 0; i--) { digitalWrite(ledPins[i], LOW); printBar(i); delay(100); } delay(500); }

Schnelle Schritte

Wenn Sie den Arduino Mega 2560 zum ersten Mal verwenden, sehen Sie nach, wie Sie die Umgebung für den Arduino Mega in der Arduino IDE einrichten.

  1. Verdrahten Sie die Bauteile wie im Schaltplan gezeigt.
  2. Verbinden Sie das Arduino-Mega-Board über ein USB-Kabel mit Ihrem Computer.
  3. Öffnen Sie die Arduino IDE auf Ihrem Computer.
  4. Wählen Sie das richtige Board: Gehen Sie zu Tools → Board → Arduino AVR Boards → Arduino Mega or Mega 2560.
  5. Wählen Sie den richtigen COM-Port: Gehen Sie zu Tools → Port und wählen Sie den Port, der zu Ihrem Arduino Mega gehört.
  6. Kopieren Sie den obigen Code und fügen Sie ihn in den Editor der Arduino IDE ein.
  7. Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf das Arduino-Mega-Board hochzuladen.
  8. Öffnen Sie den seriellen Monitor (Tools → Serial Monitor) und stellen Sie die Baudrate auf 9600 ein.
  9. Beobachten Sie, wie sich die LED-Balkenanzeige Segment für Segment füllt und dann in umgekehrter Reihenfolge wieder leert – in einer fortlaufenden Wiederholung.

Ausgabe im seriellen Monitor

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Mega Or...
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Mega Or...' on 'COM15')
New Line
9600 baud
Bar: [* ] Bar: [** ] Bar: [*** ] Bar: [**** ] Bar: [***** ] Bar: [****** ] Bar: [******* ] Bar: [******** ] Bar: [********* ] Bar: [**********] Bar: [********* ] Bar: [******** ] Bar: [******* ] Bar: [****** ] Bar: [***** ] Bar: [**** ] Bar: [*** ] Bar: [** ] Bar: [* ] Bar: [ ]
Ln 11, Col 1
Arduino Mega Or... on COM15
2

Zusätzliches Wissen

Zur Ansteuerung einer 10-Segment-LED-Balkenanzeige gibt es zwei gängige Ansätze:

Direkte GPIO-Steuerung (in diesem Tutorial verwendet): Jeder Anoden-Pin wird direkt mit einem eigenen GPIO-Pin des Arduino Mega verbunden. Dieser Ansatz ist unkompliziert — es wird keine zusätzliche Hardware oder Bibliothek benötigt — belegt aber 10 GPIO-Pins, was bei Boards mit weniger verfügbaren Pins ein Problem sein kann.

Schieberegister-Ansatz (z. B. 74HC595): Mit einem Schieberegister lassen sich dieselben 10 LED-Segmente über nur 3 GPIO-Pins (Daten, Takt und Latch) steuern. Das spart erheblich Pins, was nützlich ist, wenn viele Peripheriegeräte gleichzeitig angeschlossen sind. Der Code ist jedoch komplexer, da die Daten zuerst seriell in das Register geschoben werden müssen, bevor die LEDs reagieren.

Für Projekte, bei denen die Anzahl der verfügbaren GPIO-Pins keine Einschränkung darstellt, ist die direkte Steuerung die einfachere und besser lesbare Lösung. Für komplexere Projekte, die viele Ausgänge benötigen, ist ein Schieberegister der empfohlene Ansatz.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!