Arduino Nano ESP32 - 74HC595 4-stellige 7-Segmentanzeige

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

Arduino Nano ESP32 74HC595 4-stellige 7-Segmentanzeige

In diesem Tutorial wird ein 4-Punkt-4-Stellen-7-Segment-Display-Modul verwendet, das Fließkommawerte darstellen kann. Wenn Sie ein Doppelpunkt-Trennzeichen anzeigen müssen, verweisen Sie bitte auf das TM1637 4-digit 7-segment Display Module.

Erforderliche Hardware

1×Arduino Nano ESP32
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 Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano ESP32

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 die 74HC595 4-stellige 7-Segmentanzeige

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

Pinbelegung

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

  • SCLK-Pin: ist ein Taktsignal-Eingangspin. Verbinden Sie es mit jedem digitalen Pin am Arduino Nano ESP32.
  • RCLK-Pin: ist ein Taktsignal-Eingangspin. Verbinden Sie es mit jedem digitalen Pin am Arduino Nano ESP32.
  • DIO-Pin: ist ein Daten-I/O-Pin. Verbinden Sie es mit jedem digitalen Pin am Arduino Nano ESP32.
  • VCC-Pin: versorgt das Modul mit Strom. Verbinden Sie es mit einer 3,3-V bis 5-V-Stromversorgung.
  • GND-Pin: ist ein Massepin.
Pinbelegung des 74HC595-Moduls

Verdrahtungsdiagramm

Die nachstehende Tabelle zeigt die Verdrahtung zwischen den Pins des Arduino Nano ESP32 und den Pins einer 74HC595-basierten 4-stelligen 7-Segmentanzeige.

Arduino Nano ESP32 74HC595 7-segment display
3.3VVCC
D7SCLK
D6RCLK
D5DIO

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

Arduino Nano ESP32 74HC595-Modul Verdrahtungsdiagramm

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

Bibliotheksinstallation

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

  • Öffnen Sie den Bibliotheks-Manager, indem Sie auf das Symbol Bibliotheks-Manager in der linken Navigationsleiste der Arduino IDE klicken.
  • Suchen Sie “DIYables_4Digit7Segment_74HC595”, und finden Sie dann die DIYables_4Digit7Segment_74HC595-Bibliothek von DIYables.io
  • Klicken Sie auf die Install-Schaltfläche.
Arduino Nano ESP32 74HC595 4-stellige 7-Segmentanzeige-Bibliothek

Sie können sich diese Bibliothek auch auf GitHub ansehen.

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

  • Binde die Bibliothek ein
#include <DIYables_4Digit7Segment_74HC595.h>
  • Definiere die Pins des ESP32, die mit SCLK, RCLK und DIO des Displaymoduls verbunden sind. Zum Beispiel die Pins D7, D6 und D5
#define SCLK D7 // Der Arduino Nano ESP32 Pin, der mit SCLK verbunden ist #define RCLK D6 // Der Arduino Nano ESP32 Pin, der mit RCLK verbunden ist #define DIO D5 // Der Arduino Nano ESP32 Pin, der mit DIO verbunden ist
  • Erzeuge ein Display-Objekt des Typs DIYables_4Digit7Segment_74HC595
DIYables_4Digit7Segment_74HC595 display = DIYables_4Digit7Segment_74HC595(CLK, DIO);
  • Dann können Sie Ganzzahlen mit der Nullauffüllungsoption anzeigen, die die negative Zahl unterstützt:
display.printInt(-13, false); // Sie können einen Wert von -999 bis 9999 anzeigen
  • Sie können Gleitkommazahlen mit Dezimalstellen anzeigen, Null-Padding-Optionen verwenden, die negativen Zahlen unterstützen:
display.printFloat(-9.2, 1, false);
  • Sie können auch eine Zahl, einen Dezimalpunkt und Zeichen ziffernweise anzeigen, indem Sie Funktionen auf niedriger Ebene verwenden:
// Anzeige 9.3°C display.clear(); display.setNumber(1, 9); // setze 9 an der 1. Ziffer display.setDot(1); // setze . an der 1. Ziffer display.setNumber(2, 3); // setze 3 an der 2. Ziffer display.setChar(3, SegChars::DEGREE); // setze ° an der 3. Ziffer display.setChar(4, SegChars::C); // setze C an der 3. Ziffer display.show(); // auf dem Display anzeigen
  • Da das 74HC595 4-stellige 7-Segment-Modul die Multiplexing-Technik verwendet, um einzelne Segmente und LEDs zu steuern, muss der Arduino Nano ESP32-Code:
    • Die display.show()-Funktion in der Hauptschleife aufrufen
    • Die delay()-Funktion in der Hauptschleife nicht verwenden

    Sie können weitere Details in der Bibliotheksreferenz sehen.

Arduino Nano ESP32-Code - Ganzzahl anzeigen

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D7 // The Arduino Nano ESP32 pin connected to SCLK #define RCLK D6 // The Arduino Nano ESP32 pin connected to RCLK #define DIO D5 // The Arduino Nano ESP32 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 Arduino Nano ESP32 zu beginnen, folgen Sie diesen Schritten:

  • Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial zum Einrichten der Umgebung für Arduino Nano ESP32 in der Arduino IDE (BASE_URL/tutorials/arduino-nano-esp32/arduino-nano-esp32-software-installation).
  • Verdrahten Sie die Bauteile gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino Nano ESP32-Board mit einem USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus. Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino Nano ESP32 IDE.
  • Klicken Sie auf die Upload-Schaltfläche in der Arduino Nano ESP32 IDE, um den Code auf das Arduino Nano ESP32 hochzuladen.
  • Sehen Sie die Zustände des 7-Segment-Displays.

Arduino Nano ESP32 Code - Gleitkommazahl anzeigen

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D7 // The Arduino Nano ESP32 pin connected to SCLK #define RCLK D6 // The Arduino Nano ESP32 pin connected to RCLK #define DIO D5 // The Arduino Nano ESP32 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 }

Arduino Nano ESP32 Code - Temperaturanzeige

/* * Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt * Dieser Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK D7 // The Arduino Nano ESP32 pin connected to SCLK #define RCLK D6 // The Arduino Nano ESP32 pin connected to RCLK #define DIO D5 // The Arduino Nano ESP32 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!