ESP8266 - 74HC595 4-stellige 7-Segmentanzeige

Dieses Tutorial erklärt dir, wie du den ESP8266 verwendest, um ein 74HC595-basiertes 4-stelliges 7-Segmentanzeige-Modul zu steuern. Im Detail werden wir Folgendes lernen:

ESP8266 NodeMCU 74HC595 4-stellige 7-Segmentanzeige

Dieses Tutorial verwendet ein 4-stelliges 7-Segmentdisplay-Modul mit vier Punkten, das Gleitkommawerte darstellen kann. Wenn Sie einen Doppelpunkt-Trenner anzeigen müssen, lesen Sie bitte das TM1637 4-stellige 7-Segmentdisplay-Modul.

Erforderliche Hardware

1×ESP8266 NodeMCU
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×Verbindungskabel
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

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ßkommawerten ist die 74HC595-4-stellige 7-Segmentanzeige. Dieses Modul enthält typischerweise vier 7-Segment-LEDs, vier Dezimalpunkt-LEDs und für jede Ziffer zwei 74HC595-Treiber.

Pinbelegung

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

  • SCLK-Pin: ist ein Takt-Eingangspin. Schließen Sie ihn an jeden digitalen Pin des ESP8266 an.
  • RCLK-Pin: ist ein Takt-Eingangspin. Schließen Sie ihn an jeden digitalen Pin des ESP8266 an.
  • DIO-Pin: ist ein Daten-Ein-/Ausgangspin. Schließen Sie ihn an jeden digitalen Pin des ESP8266 an.
  • VCC-Pin: versorgt das Modul mit Strom. Schließen Sie ihn an eine 3,3-V bis 5-V-Stromversorgung an.
  • GND-Pin: ist ein Massepin.
Pinbelegung des 74HC595-Moduls

Verdrahtungsdiagramm

Die untenstehende Tabelle zeigt die Verdrahtung zwischen den Pins des ESP8266 und den Pins einer 74HC595 4-stelligen 7-Segmentanzeige:

ESP8266 74HC595 7-segment display
Vin5V
D5SCLK
D6RCLK
D7DIO

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

ESP8266 NodeMCU 74HC595 Modul Schaltplan

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.

Installation der Bibliothek

Um einfach für ein 74HC595-4-stelliges 7-Segment-Display zu programmieren, müssen wir die Bibliothek DIYables_4Digit7Segment_74HC595 von DIYables.io installieren. Befolgen Sie die folgenden Schritte, um die Bibliothek zu installieren:

  • Klicken Sie auf das Bibliotheken-Symbol in der linken Seitenleiste der Arduino-IDE.
  • Suchen Sie “DIYables_4Digit7Segment_74HC595”, und finden Sie dann die DIYables_4Digit7Segment_74HC595-Bibliothek von DIYables.io
  • Klicken Sie auf die Installieren-Schaltfläche.
ESP8266 NodeMCU 74HC595 4-stellige 7-Segmentanzeige-Bibliothek

Sie können auch diese Bibliothek auf GitHub ansehen.

Wie man den 74HC595 programmiert, um eine 4-stellige 7-Segmentanzeige mit ESP8266 zu steuern

  • Die Bibliothek einbinden
#include <DIYables_4Digit7Segment_74HC595.h>
  • Definieren Sie die Pins des ESP8266, die mit SCLK, RCLK und DIO des Display-Moduls verbunden sind. Zum Beispiel die Pins D7, D6 und D5
#define SCLK D5 // Der ESP8266-Pin, der mit SCLK verbunden ist #define RCLK D6 // Der ESP8266-Pin, der mit RCLK verbunden ist #define DIO D7 // Der ESP8266-Pin, der mit DIO verbunden ist
  • Erstelle ein Display-Objekt vom Typ DIYables_4Digit7Segment_74HC595
DIYables_4Digit7Segment_74HC595 display = DIYables_4Digit7Segment_74HC595(CLK, DIO);
  • Dann können Sie Ganzzahlen mit der Nullauffüllungsoption anzeigen, die negative Zahlen unterstützt:
display.printInt(-13, false); // Sie können einen Wert von -999 bis 9999 anzeigen
  • Sie können Fließkommazahlen mit Dezimalstellen anzeigen, Optionen zur Nullauffüllung verwenden und negative Zahlen unterstützen:
display.printFloat(-9.2, 1, false);
  • Sie können außerdem Zahl, Dezimalpunkt und Zeichen ziffernweise anzeigen, indem Sie Funktionen auf niedriger Ebene verwenden:
// Anzeige 9.3°C display.clear(); display.setNumber(1, 9); // setze 9 auf die 1. Ziffer display.setDot(1); // setze . auf die 1. Ziffer display.setNumber(2, 3); // setze 3 auf die 2. Ziffer display.setChar(3, SegChars::DEGREE); // setze ° auf die 3. Ziffer display.setChar(4, SegChars::C); // setze C auf die 3. Ziffer display.show(); // auf dem Display anzeigen
  • Weil das 74HC595 4-stellige 7-Segment-Modul die Multiplexing-Technik verwendet, um einzelne Segmente und LEDs zu steuern, muss der ESP8266-Code:
    • In der Hauptschleife die Funktion display.show() aufrufen
    • Die Funktion delay() in der Hauptschleife nicht verwenden

    Weitere Details finden Sie in der Bibliotheksreferenz

ESP8266-Code - Ganzzahl anzeigen

/* * 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-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D5 // The ESP8266 pin connected to SCLK #define RCLK D6 // The ESP8266 pin connected to RCLK #define DIO D7 // The ESP8266 pin 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

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:

  • Wenn Sie ESP8266 zum ersten Mal verwenden, schauen Sie sich das Tutorial Anleitung zur Einrichtung der Entwicklungsumgebung für ESP8266 in der Arduino IDE an.
  • Verbinden Sie die Bauteile gemäß der Abbildung.
  • Verbinden Sie das ESP8266-Board mit Ihrem Computer über ein USB-Kabel.
  • Öffnen Sie die Arduino-IDE auf Ihrem Computer.
  • Wählen Sie das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E-Modul), sowie den jeweiligen COM-Port.
  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der ESP8266-IDE.
  • Klicken Sie auf die Schaltfläche Hochladen in der ESP8266-IDE, um den Code auf den ESP8266 hochzuladen.
  • Sehen Sie sich die Zustände der 7-Segmentanzeige an.

ESP8266-Code - Float anzeigen

/* * 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-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D5 // The ESP8266 pin connected to SCLK #define RCLK D6 // The ESP8266 pin connected to RCLK #define DIO D7 // The ESP8266 pin 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 }

ESP8266-Code - Temperatur anzeigen

/* * 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-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D5 // The ESP8266 pin connected to SCLK #define RCLK D6 // The ESP8266 pin connected to RCLK #define DIO D7 // The ESP8266 pin 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!