Arduino - 74HC595 4-stellige 7-Segmentanzeige

Eine Standard-4-stellige 7-Segmentanzeige wird für Uhr-, Timer- und Zählerprojekte benötigt, aber sie erfordert normalerweise 12 Anschlüsse. Das 74HC595-Modul erleichtert dies, indem es nur 5 Anschlüsse benötigt: 2 für die Stromversorgung und 3 zur Steuerung der Segmente.

Dieses Tutorial wird dich nicht damit überfordern, dich zu sehr mit der Hardware zu beschäftigen. Stattdessen lernen wir, wie man das 4-stellige 7-Segment-Display an Arduino anschließt und wie man es programmiert, um das anzuzeigen, was wir möchten.

Arduino 74HC595 vierstellige 7-Segmentanzeige

Dieses Tutorial verwendet ein 4-stelliges 7-Segmentanzeige-Modul mit vier Punkten, das Fließkommazahlen anzeigen kann. Wenn Sie einen Doppelpunkt als Trennzeichen anzeigen möchten, verwenden Sie bitte das TM1637 4-digit 7-segment Display Module.

Erforderliche Hardware

1×Arduino Uno R3
1×USB 2.0 Kabel Typ A/B (für USB-A PC)
1×USB 2.0 Kabel Typ C/B (für USB-C PC)
1×74HC595 4-digit 7-segment Display
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables STEM V3 Starter-Kit (Arduino 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 74HC595-4-stelliges 7-Segmentanzeige-Modul besteht typischerweise aus 4 7-Segment-LEDs, 4 Punkt-LEDs und je einem 74HC595-Treiber pro Ziffer. Es eignet sich ideal zur Anzeige der Temperatur oder eines beliebigen Dezimalwerts.

Pinbelegung

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

  • SCLK-Pin: ist ein Taktsignal-Eingangspin. Verbinden Sie ihn mit einem beliebigen digitalen Pin am Arduino.
  • RCLK-Pin: ist ein Taktsignal-Eingangspin. Verbinden Sie ihn mit einem beliebigen digitalen Pin am Arduino.
  • DIO-Pin: ist ein Data-I/O-Pin. Verbinden Sie ihn mit einem digitalen Pin am Arduino.
  • VCC-Pin: versorgt das Modul mit Strom. Verbinden Sie ihn mit einem Netzteil, das 3,3 V bis 5 V liefert.
  • GND-Pin: ist ein Massepin.
Pinbelegung des 74HC595-Moduls

Verdrahtungsdiagramm

Die untenstehende Tabelle zeigt die Verdrahtung zwischen den Arduino-Pins und den Pins eines 74HC595 4-stelligen 7-Segment-Displays:

Arduino 74HC595 7-segment display
5V5V
7SCLK
6RCLK
5DIO

Die Pin-Nummern im Code sollten geändert werden, wenn andere Pins verwendet werden.

Arduino-74HC595-Modul Schaltplan

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

Bibliotheksinstallation

Um einfach für das 74HC595-basierte 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:

  • Gehe zum Bibliotheken-Icon in der linken Seitenleiste der Arduino IDE.
  • Suche “DIYables_4Digit7Segment_74HC595”, und finde dann die DIYables_4Digit7Segment_74HC595-Bibliothek von DIYables.io
  • Klicke auf die Install-Schaltfläche.
Arduino 74HC595 4-stellige 7-Segmentanzeigebibliothek

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

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

  • Binde die Bibliothek ein
#include <DIYables_4Digit7Segment_74HC595.h>
  • Definieren Sie die Pins des Arduino-Boards, die mit SCLK, RCLK und DIO des Displaymoduls verbunden sind. Zum Beispiel die Pins D7, D6 und D5
#define SCLK 7 // Der Arduino-Pin, der mit SCLK verbunden ist #define RCLK 6 // Der Arduino-Pin, der mit RCLK verbunden ist #define DIO 5 // Der Arduino-Pin, der mit DIO verbunden ist
  • Erstelle ein Anzeigeobjekt des Typs DIYables_4Digit7Segment_74HC595
DIYables_4Digit7Segment_74HC595 display = DIYables_4Digit7Segment_74HC595(CLK, DIO);
  • Dann können Sie Ganzzahlen mit der Null-Padding-Option anzeigen, wobei negative Zahlen unterstützt werden:
display.printInt(-13, false); // Sie können einen Wert von -999 bis 9999 anzeigen
  • Sie können Gleitkommazahlen mit Nachkommastellen anzeigen, Nullauffüllungsoptionen verwenden und negative Zahlen unterstützen:
display.printFloat(-9.2, 1, false);
  • Sie können außerdem eine Zahl, einen Dezimalpunkt und ein Zeichen Ziffer für Ziffer mithilfe von Funktionen auf niedriger Ebene anzeigen:
// Anzeige 9.3°C display.clear(); display.setNumber(1, 9); // Setze 9 an die 1. Stelle display.setDot(1); // Setze . an die 1. Stelle display.setNumber(2, 3); // Setze 3 an die 2. Stelle display.setChar(3, SegChars::DEGREE); // Setze ° an die 3. Stelle display.setChar(4, SegChars::C); // Setze C an die 3. Stelle display.show(); // Zeige auf dem Display
  • Weil das 74HC595 4-stellige 7-Segment-Modul die Multiplexing-Technik verwendet, um einzelne Segmente und LEDs zu steuern, muss Arduino-Code:
    • Die Funktion display.show() in der Hauptschleife aufrufen
    • Die Funktion delay() in der Hauptschleife nicht verwenden

    Sie können weitere Details in der Bibliotheksreferenz sehen.

Arduino-Code - Ganzzahl anzeigen

/* Created by DIYables This example code is in the public domain Product page: https://diyables.io/products/4-digit-7-segment-display-led-74hc595-driver-with-4-dots */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino pin connected to SCLK #define RCLK 6 // The Arduino pin connected to RCLK #define DIO 5 // The Arduino 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

  • Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
  • Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code auf den Arduino hochzuladen
  • Sehen Sie sich die Zustände der 7-Segmentanzeige an

Arduino-Code - Anzeige von Fließkommazahlen

/* Created by DIYables This example code is in the public domain Product page: https://diyables.io/products/4-digit-7-segment-display-led-74hc595-driver-with-4-dots */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino pin connected to SCLK #define RCLK 6 // The Arduino pin connected to RCLK #define DIO 5 // The Arduino 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 Code - Temperatur anzeigen

/* Created by DIYables This example code is in the public domain Product page: https://diyables.io/products/4-digit-7-segment-display-led-74hc595-driver-with-4-dots */ #include <DIYables_4Digit7Segment_74HC595.h> // DIYables_4Digit7Segment_74HC595 library #define SCLK 7 // The Arduino pin connected to SCLK #define RCLK 6 // The Arduino pin connected to RCLK #define DIO 5 // The Arduino 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 }

Das Ergebnis ist wie im untenstehenden Bild:

Arduino 74HC595-Modul zeigt Temperatur an.

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!