ESP32 S3 - 10-Segment-LED-Balkenanzeige

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×(Optional) DC-Stromanschluss
1×10 Segment LED Bar Graph
10×220 Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
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 einsteigerfreundliche Tutorial zeigt Ihnen, wie Sie den ESP32 S3 mit einer 10-Segment-LED-Balkenanzeige verwenden, um animierte visuelle Anzeigen zu erstellen. Ob Sie eine Akkustandsanzeige, einen Signalmesser oder einen Fortschrittsbalken bauen — mit dieser Schritt-für-Schritt-Anleitung sind Sie schnell startklar.

Was Sie in diesem Tutorial bauen werden:

  1. Was die 10-Segment-LED-Balkenanzeige ist und wie sie funktioniert
  2. Wie Sie die LED-Balkenanzeige mit dem ESP32 S3 verdrahten
  3. Wie Sie den Animationscode schreiben und hochladen
  4. Wie Sie die Ausgabe der Balkenanimation beobachten und überprüfen
ESP32 S3 und 10-Segment-LED-Balkenanzeige

Überblick über 10 Segment LED Bar Graph

Die 10-Segment-LED-Balkenanzeige ist ein kompaktes Anzeigebauteil mit zehn einzelnen roten LEDs, die in einem linearen Balken angeordnet sind. Jedes Segment kann über einen eigenen GPIO-Pin unabhängig gesteuert werden, was sie ideal für visuelle Pegelanzeigen, animierte Effekte und Fortschrittsanzeigen macht. Sie benötigt keine externe Bibliothek — nur die eingebaute Funktion digitalWrite().

Wichtige Spezifikationen

Die Balkenanzeige arbeitet mit einer Durchlassspannung von etwa 2V pro Segment und einem maximalen Durchlassstrom von 20mA. An jeder Anode ist ein 220Ω-Vorwiderstand erforderlich, um die GPIO-Pins des ESP32 S3 zu schützen. Das Bauteil hat insgesamt 20 Pins: 10 Anoden (A1–A10) und 10 Kathoden (K1–K10).

Pinbelegung der LED-Balkenanzeige

10-Segment-LED-Balkenanzeige Pinbelegung

Die 10-Segment-LED-Balkenanzeige hat 20 Pins, die als 10 Anoden-Kathoden-Paare angeordnet sind.

  1. A1–A10 (Anoden) — Eine Anode pro LED-Segment; verbinden Sie jede über einen 220Ω-Widerstand mit einem GPIO-Pin
  2. K1–K10 (Kathoden) — Eine Kathode pro LED-Segment; verbinden Sie alle mit GND

Schaltplan zwischen 10-Segment-LED-Balkenanzeige und ESP32 S3

Verbinden Sie jeden der zehn Anoden-Pins (A1–A10) über einen eigenen 220Ω-Widerstand mit einem separaten GPIO-Pin des ESP32 S3 (GPIO 4, 5, 6, 7, 15, 16, 17, 18, 8 und 9) und verbinden Sie alle zehn Kathoden-Pins mit einer gemeinsamen GND-Schiene auf Ihrem Breadboard. Diese GPIO-Pins sind frei von den Strapping-Pins sowie den USB-/Flash-Pins des ESP32 S3, sodass das Board mit angeschlossener Balkenanzeige weiterhin normal bootet und geflasht werden kann. Die 220Ω-Widerstände begrenzen den Strom durch jedes LED-Segment und sind unerlässlich, um die GPIO-Pins des ESP32 S3 vor Schäden zu schützen.

Sicherheitshinweise

Stellen Sie immer sicher, dass die Vorwiderstände eingesetzt sind, bevor Sie die Schaltung mit Strom versorgen — der Betrieb der LED-Balkenanzeige ohne Widerstände kann den maximalen GPIO-Strom des ESP32 S3 (40mA pro Pin) überschreiten und das Board möglicherweise beschädigen. Verwenden Sie für einen sicheren Betrieb Widerstände mit 220Ω oder mehr.

ESP32 S3 und 10-Segment-LED-Balkenanzeige Schaltplan

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

LED-Balkenanzeige ESP32 S3-Pin
A1 (Anode 1) GPIO4 (über 220Ω)
A2 (Anode 2) GPIO5 (über 220Ω)
A3 (Anode 3) GPIO6 (über 220Ω)
A4 (Anode 4) GPIO7 (über 220Ω)
A5 (Anode 5) GPIO15 (über 220Ω)
A6 (Anode 6) GPIO16 (über 220Ω)
A7 (Anode 7) GPIO17 (über 220Ω)
A8 (Anode 8) GPIO18 (über 220Ω)
A9 (Anode 9) GPIO8 (über 220Ω)
A10 (Anode 10) GPIO9 (über 220Ω)
K1–K10 (Kathoden) GND

ESP32 S3-Code - 10-Segment-LED-Balkenanzeige

Der folgende Code initialisiert die GPIO-Pins 4, 5, 6, 7, 15, 16, 17, 18, 8 und 9 als Ausgänge und führt eine fortlaufende Balkenanimation aus. Er füllt den Balken von links nach rechts, indem er jedes Segment mit einer Pause von 100ms zwischen den Schritten einschaltet, hält den vollen Balken 500ms lang und leert ihn dann im gleichen Tempo von rechts nach links. Der aktuelle Balkenzustand wird bei jedem Schritt im Seriellen Monitor ausgegeben, sodass eine scrollende Textdarstellung der Animation entsteht.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 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/esp32-s3/esp32-s3-10-segment-led-bar-graph */ const int NUM_SEGMENTS = 10; const int ledPins[NUM_SEGMENTS] = {4, 5, 6, 7, 15, 16, 17, 18, 8, 9}; 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(115200); 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); }
  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Richten Sie die Arduino IDE mit installierter ESP32 S3-Board-Unterstützung ein.
  3. Verdrahten Sie die LED-Balkenanzeige gemäß dem obigen Schaltplan mit dem ESP32 S3, setzen Sie zwischen jeden Anoden-Pin und den zugehörigen GPIO-Pin einen 220Ω-Widerstand und verbinden Sie alle Kathoden-Pins mit GND.
  4. Verbinden Sie den ESP32 S3 über ein USB-C-Kabel mit Ihrem Computer.
  5. Öffnen Sie die Arduino IDE.
  6. Wählen Sie unter Tools > Board das richtige ESP32 S3-Board und unter Tools > Port den richtigen Port aus.
  7. Kopieren Sie den obigen Code und fügen Sie ihn in einen neuen Arduino-Sketch ein.
  8. Klicken Sie auf Upload, um den Code zu kompilieren und auf den ESP32 S3 zu flashen.
  9. Beobachten Sie die LED-Balkenanzeige: Die Segmente sollten nacheinander von links nach rechts aufleuchten, kurz halten und dann nacheinander von rechts nach links erlöschen — in ständiger Wiederholung.
  10. Öffnen Sie den Seriellen Monitor mit 115200 Baud, um die Textdarstellung der Balkenanimation in Echtzeit zu sehen.
  11. Profi-Tipp: Halten Sie die Balkenanzeige vor eine dunkle Fläche, um den Animationseffekt am besten zu sehen — die 10 hellen roten Segmente erzeugen selbst bei Tageslicht einen lebhaften Balken.

Ausgabe im Seriellen Monitor

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' 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
ESP32S3 Dev Module on COM15
2

Anwendungs- und Projektideen

Hier sind einige praktische Möglichkeiten, dieses Projekt mit realen Anwendungsfällen zu erweitern.

  1. Akkustandsanzeige: Zeigen Sie den Ladezustand als visuellen Balken in 10 Stufen an.
  2. Lautstärkemesser: Visualisieren Sie die Audioamplitude eines Mikrofonsensors.
  3. Signalstärkeanzeige: Zeigen Sie den WLAN- oder Mobilfunksignalpegel an.
  4. Fortschrittsbalken: Zeigen Sie den Fertigstellungsgrad einer Aufgabe in einem Automatisierungsprojekt an.
  5. Temperaturbereichsanzeige: Bilden Sie Temperaturwerte auf einer visuellen Skala ab.
  6. Wasserstandsüberwachung: Zeigen Sie den Füllstand eines Tanks in 10 diskreten Stufen an.

Fordern Sie sich heraus

  1. Anfänger: Schließen Sie ein Potentiometer an und bilden Sie seinen Analogwert (0–4095) auf die Anzahl der leuchtenden Segmente ab.
  2. Fortgeschrittene: Erstellen Sie eine Hüpf-Animation, bei der sich ein einzelnes Segment hin und her bewegt.
  3. Experten: Lesen Sie den Schallpegel eines Mikrofonmoduls aus und zeigen Sie die Amplitude in Echtzeit auf der Balkenanzeige an.

Video-Tutorial

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3-Projekt an.

※ 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!