ESP32 - 74HC595 4-stellige 7-Segmentanzeige

Dieses Tutorial zeigt Ihnen, wie Sie einen ESP32 verwenden, um ein 74HC595 4-stelliges 7-Segment-Display-Modul zu steuern. Es deckt die folgenden Themen ab:

ESP32 74HC595 4-stellige 7-Segmentanzeige

Diese Anleitung verwendet ein 4-stelliges 7-Segment-Display-Modul mit vier Punkten, das Fließkommawerte anzeigen kann. Wenn Sie einen Doppelpunkt-Trenner anzeigen müssen, beachten Sie bitte das TM1637 4-stellige 7-Segment-Display-Modul.

Erforderliche Hardware

1×ESP32 ESP-WROOM-32 Entwicklungsmodul
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×74HC595 4-digit 7-segment Display
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP32
1×(Empfohlen) Breakout Expansion Board for ESP32
1×(Empfohlen) Stromverteiler für ESP32

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 Starter-Kit (ESP32 enthalten)
1×DIYables Sensor-Kit (30 Sensoren/Displays)
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.

Über 74HC595 4-stellige 7-Segmentanzeige

Ein ideales Modul zur Anzeige von Temperaturen oder beliebigen Fließkommazahlen ist das 74HC595 4-stellige 7-Segmentanzeige. Dieses Modul umfasst typischerweise vier 7-Segment-LEDs, vier punktförmige LEDs und zwei 74HC595-Treiber pro Ziffer.

Pinbelegung

Das 74HC595-4-stellige 7-Segment-Anzeige-Modul enthält 5 Pins:

  • SCLK-Pin: ist ein Takt-Eingangspin. Verbinden Sie ihn mit einem beliebigen digitalen Pin auf dem ESP32.
  • RCLK-Pin: ist ein Takt-Eingangspin. Verbinden Sie ihn mit einem beliebigen digitalen Pin auf dem ESP32.
  • DIO-Pin: ist ein Daten-E/A-Pin. Verbinden Sie ihn mit einem beliebigen digitalen Pin auf dem ESP32.
  • VCC-Pin: versorgt das Modul mit Strom. Verbinden Sie ihn mit einer 3,3-V bis 5-V-Stromversorgung.
  • GND-Pin: ist ein Massepin.
Pinbelegung des 74HC595-Moduls

Verdrahtungsdiagramm

Die untenstehende Tabelle zeigt die Verkabelung zwischen den Pins des ESP32 und den Pins eines 74HC595-4-stelligen 7-Segment-Displays.

ESP32 74HC595 7-segment display
Vin5V
27SCLK
26RCLK
25DIO

Wenn Sie andere Pins verwenden, stellen Sie sicher, dass Sie die Pin-Nummern im Code entsprechend anpassen.

ESP32 74HC595 Modul Verdrahtungsdiagramm

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

Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.

Bibliotheksinstallation

Um einfach für die 74HC595 4-stellige 7-Segmentanzeige zu programmieren, müssen wir die Bibliothek DIYables_4Digit7Segment_74HC595 von DIYables.io installieren. Befolgen Sie die untenstehenden Schritte, um die Bibliothek zu installieren:

  • Klicke auf das Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
  • Suche “DIYables_4Digit7Segment_74HC595”, dann finde die DIYables_4Digit7Segment_74HC595-Bibliothek von DIYables.io
  • Klicke auf die Installieren-Schaltfläche.
ESP32 74HC595 4-stellige 7-Segmentanzeige-Bibliothek

Sie können auch diese Bibliothek auf GitHub ansehen.

Wie man den 74HC595 für eine 4-stellige 7-Segmentanzeige mit ESP32 programmiert

  • Die Bibliothek einbinden
#include <DIYables_4Digit7Segment_74HC595.h>
  • Definieren Sie die Pins des ESP32, die mit SCLK, RCLK und DIO des Displaymoduls verbunden sind. Zum Beispiel die Pins D7, D6 und D5
#define SCLK 27 // Der ESP32-Pin GPIO27, der an SCLK angeschlossen ist #define RCLK 26 // Der ESP32-Pin GPIO26, der an RCLK angeschlossen ist #define DIO 25 // Der ESP32-Pin GPIO25, der an DIO angeschlossen ist
  • Erstelle ein Display-Objekt des Typs DIYables_4Digit7Segment_74HC595
DIYables_4Digit7Segment_74HC595 display = DIYables_4Digit7Segment_74HC595(CLK, DIO);
  • Dann können Sie die Ganzzahlen mit der Nullauffüllungsoption anzeigen, die negativen Zahlen unterstützt:
display.printInt(-13, false); // Du kannst einen Wert von -999 bis 9999 anzeigen
  • Sie können Fließkommazahlen mit der Dezimalstelle anzeigen, Nullauffüllungsoptionen verwenden und negative Zahlen unterstützen:
display.printFloat(-9.2, 1, false);
  • Sie können Zahlen, Dezimalpunkte und Zeichen zeichenweise darstellen, indem Sie niedrigstufige Funktionen verwenden:
// Anzeige 9.3°C display.clear(); display.setNumber(1, 9); // setze 9 an die 1. Ziffer display.setDot(1); // setze Punkt an die 1. Ziffer display.setNumber(2, 3); // setze 3 an die 2. Ziffer display.setChar(3, SegChars::DEGREE); // setze ° an die 3. Ziffer display.setChar(4, SegChars::C); // setze C an die 3. Ziffer display.show(); // zeige auf dem Display an
  • Da das 74HC595 4-stellige 7-Segment-Modul die Multiplexing-Technik verwendet, um einzelne Segmente und LEDs zu steuern, muss der ESP32-Code:
    • Die Funktion display.show() in der Hauptschleife aufrufen
    • Die Funktion delay() in der Hauptschleife nicht verwenden

    Weitere Details finden Sie in der Bibliotheksreferenz.

ESP32-Code - Ganzzahl anzeigen

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 27 // The ESP32 pin GPIO27 connected to SCLK #define RCLK 26 // The ESP32 pin GPIO26 connected to RCLK #define DIO 25 // The ESP32 pin GPIO25 connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printInt(-13, false); // you can display a value from -999 to 9999 //display.printInt(-132, false); //display.printInt(9132, false); //display.printInt(132, false); //display.printInt(32, false); //display.printInt(2, false); //display.printInt(2, true); } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

Schnelle Schritte

  • Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
  • Schließen Sie die Verkabelung wie im obigen Bild an.
  • Verbinden Sie das ESP32-Board über ein Micro-USB-Kabel mit Ihrem PC.
  • Öffnen Sie die Arduino IDE auf Ihrem PC.
  • Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port.
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der ESP32-IDE.
  • Klicken Sie in der ESP32 IDE auf die Upload-Schaltfläche, um den Code auf den ESP32 hochzuladen.
  • Sehen Sie die Zustände der 7-Segmentanzeige.

ESP32-Code – Gleitkommazahl anzeigen

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 27 // The ESP32 pin GPIO27 connected to SCLK #define RCLK 26 // The ESP32 pin GPIO26 connected to RCLK #define DIO 25 // The ESP32 pin GPIO25 connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); display.printFloat(-9.2, 1, false); //display.printFloat(-92.4, 1, false); //display.printFloat(-9.24, 2, false); //display.printFloat(192.4, 1, false); //display.printFloat(19.24, 2, false); //display.printFloat(1.924, 3, false); } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

ESP32-Code - Temperatur anzeigen

/* * Dieser ESP32 Code wurde von newbiely.de entwickelt * Dieser ESP32 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/esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 27 // The ESP32 pin GPIO27 connected to SCLK #define RCLK 26 // The ESP32 pin GPIO26 connected to RCLK #define DIO 25 // The ESP32 pin GPIO25 connected to DIO DIYables_4Digit7Segment_74HC595 display(SCLK, RCLK, DIO); void setup() { Serial.begin(9600); // display 9.3°C by controlling digit by digit display.clear(); display.setNumber(1, 9); // set 9 at the 1st digit display.setDot(1); // set . at the 1st digit display.setNumber(2, 3); // set 3 at the 2nd digit display.setChar(3, SegChars::DEGREE); // set ° at the 3rd digit display.setChar(4, SegChars::C); // set C at the 3rd digit display.show(); // show on the display } void loop() { display.loop(); // MUST call the display.loop() function in loop() // DO SOMETHING HERE // NOTE: do NOT use the delay() function in loop because it affects to the multiplexing }

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!