ESP8266 NodeMCU - 10-Segment-LED-Balkenanzeige

1×ESP8266 NodeMCU ESP-12F
1×Alternativ: ESP8266 D1 Mini NodeMCU ESP-12F
1×Alternativ: ESP8266 NodeMCU ESP-12E (Uno-form)
1×Micro USB Cable
1×Alternativ: ESP8266 NodeMCU ESP-12F (SMD-form)
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×10 Segment LED Bar Graph
10×220 Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266

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 ESP8266 NodeMCU eine 10-Segment-LED-Balkenanzeige ansteuern. Im Einzelnen lernen wir:

ESP8266 NodeMCU NodeMCU und 10-Segment-LED-Balkenanzeige

Über die 10-Segment-LED-Balkenanzeige

10-Segment-LED-Balkenanzeige
Anzahl der Segmente 10
LED-Farbe Leuchtend rot
Durchlassspannung ca. 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
  • 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:

Der ESP8266 NodeMCU arbeitet mit 3,3V-Logikpegeln. GPIO0 (D3), GPIO2 (D4) und GPIO15 (D8) sind Boot-Strapping-Pins – sie beeinflussen den Boot-Modus des ESP8266, wenn sie beim Einschalten auf HIGH oder LOW gehalten werden. Nachdem das Board gestartet ist, funktionieren sie als normale GPIO-Ausgänge. Falls Probleme beim Booten auftreten, prüfen Sie, dass diese Pins beim Start nicht versehentlich auf dem falschen Pegel gehalten werden.

Verdrahtungsdiagramm

Verbinden Sie die LED-Balkenanzeige wie in der folgenden Tabelle gezeigt mit dem ESP8266 NodeMCU.

Schaltplan ESP8266 NodeMCU NodeMCU und 10-Segment-LED-Balkenanzeige

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

Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.

LED-Balkenanzeige ESP8266 NodeMCU Pin
A1 (Anode 1) D0 / GPIO16 (über 220Ω)
A2 (Anode 2) D1 / GPIO5 (über 220Ω)
A3 (Anode 3) D2 / GPIO4 (über 220Ω)
A4 (Anode 4) D3 / GPIO0 (über 220Ω)
A5 (Anode 5) D4 / GPIO2 (über 220Ω)
A6 (Anode 6) D5 / GPIO14 (über 220Ω)
A7 (Anode 7) D6 / GPIO12 (über 220Ω)
A8 (Anode 8) D7 / GPIO13 (über 220Ω)
A9 (Anode 9) D8 / GPIO15 (über 220Ω)
A10 (Anode 10) D9 / GPIO3 / RX (über 220Ω)
K1–K10 (Kathoden) GND

Wie man den ESP8266 NodeMCU für die 10-Segment-LED-Balkenanzeige programmiert

  • Im ersten Schritt definieren Sie das Array der GPIO-Pin-Nummern, die mit den Anoden der LED-Balkenanzeige verbunden sind
  • Jeder Pin muss mit pinMode() als Ausgang konfiguriert werden
  • Um ein Segment leuchten zu lassen, setzen Sie den entsprechenden GPIO-Pin mit digitalWrite() auf HIGH
  • Um ein Segment auszuschalten, setzen Sie den Pin auf LOW
  • Für dieses Projekt wird keine externe Bibliothek benötigt

ESP8266 NodeMCU Code für die 10-Segment-LED-Balkenanzeige

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU 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/esp8266/esp8266-10-segment-led-bar-graph */ const int NUM_SEGMENTS = 10; // D0(GPIO16), D1(GPIO5), D2(GPIO4), D3(GPIO0), D4(GPIO2), D5(GPIO14), D6(GPIO12), D7(GPIO13), D8(GPIO15), D9(GPIO3/RX) const int ledPins[NUM_SEGMENTS] = {16, 5, 4, 0, 2, 14, 12, 13, 15, 3}; 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); }

Schnelle Schritte

  • Wenn Sie den ESP8266 zum ersten Mal verwenden, lesen Sie, wie Sie die Umgebung für den ESP8266 in der Arduino IDE einrichten.
  • Verdrahten Sie die Bauteile wie im Schaltplan gezeigt.
  • Verbinden Sie das ESP8266 NodeMCU Board über ein USB-Kabel mit Ihrem Computer.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das richtige Board und den richtigen Port unter Tools → Board und Tools → Port.
  • Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Klicken Sie auf Upload, um den Code zu kompilieren und auf den ESP8266 NodeMCU hochzuladen.
  • Öffnen Sie den Serial Monitor (Baudrate: 115200), um die Ausgabe zu beobachten.

Ausgabe im Serial Monitor

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

Zusätzliches Wissen

Der ESP8266 stellt nur etwa 11 nutzbare GPIO-Pins bereit, was im Vergleich zu den über 30 verfügbaren GPIOs des ESP32 eine erhebliche Einschränkung ist. Mehrere dieser 11 Pins sind boot-modus-sensibel (GPIO0, GPIO2, GPIO15), d. h. der Logikpegel an diesen Pins beim Einschalten bestimmt, wie der Chip startet. Dadurch ist die Zahl der Projekte mit vielen Ausgängen begrenzt, die sich ohne zusätzliche Peripherie direkt auf dem ESP8266 umsetzen lassen.

Wenn mehr Ausgangskanäle benötigt werden, als der ESP8266 von Haus aus bereitstellen kann, ist ein Schieberegister wie der 74HC595 eine praktische Lösung. Ein einzelner 74HC595 liefert 8 Ausgangsleitungen und belegt dabei nur 3 GPIO-Pins (Daten, Takt, Latch). Mehrere 74HC595-Chips lassen sich in Reihe schalten (Daisy-Chain), um die Ausgangskapazität weiter zu erhöhen, ohne zusätzliche GPIOs zu belegen. Damit eignen sie sich gut zur Ansteuerung von LED-Arrays, Balkenanzeigen oder Segmentanzeigen auf Plattformen mit wenigen Pins.

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!