Arduino UNO Q - 74HC595 4-stelliges 7-Segment-Display

Möchten Sie Zahlen auf einem kompakten 4-stelligen LED-Display mit Ihrem Arduino UNO Q anzeigen? Dieses anfängerfreundliche Tutorial zeigt Ihnen Schritt für Schritt, wie Sie ein 74HC595 4-stelliges 7-Segment-Display mit Arduino UNO Q verwenden.

In diesem Tutorial werden Sie lernen:

Arduino UNO Q 74HC595 4-stelliges 7-Segment-Display

Erforderliche Hardware

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×74HC595 4-digit 7-segment Display
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Sensors/Servo Expansion Shield for 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 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 das 74HC595 4-stellige 7-Segment-Display

Das auf 74HC595 basierende 4-stellige 7-Segment-Display kombiniert vier LED-Ziffernmodule mit einem Schieberegister, sodass Sie nur 3 MCU-Pins benötigen, um alle vier Ziffern zu steuern.

Wichtige Spezifikationen und Funktionen:

  • Ziffern: 4 Ziffern, jede mit 7 LED-Segmenten + Dezimalpunkt
  • Schieberegister: 74HC595 — Daten werden mit 3 Leitungen seriell verschoben
  • Schnittstelle: SPI-ähnlich (SCLK, RCLK, DIO) — einfach und effizient
  • Stromversorgung: 3,3V oder 5V kompatibel
  • Bibliothek: DIYables_4Digit7Segment_74HC595 — unterstützt die Anzeige von ganzen Zahlen, Gleitkommazahlen, Text, Temperatur und Zeit
  • Multiplexing: Die Bibliothek verwaltet die Ziffern-Multiplexing — rufen Sie display.loop() häufig auf, um das Display aktualisiert zu halten

Pinbelegung

74HC595 4-stelliges 7-Segment-Display-Pinbelegung
Pin Funktion Beschreibung
SCLK (SH_CP) Serieller Takt Taktsignal zum Verschieben von Daten
RCLK (ST_CP) Register-Takt Verriegelung zum Schieben von Daten in Ausgänge
DIO (DS) Dateneingabe Serielle Daten, die in das Schieberegister eingegeben werden
VCC Stromversorgung 3,3V oder 5V Stromversorgung
GND Erde Gemeinsame Erde

Verdrahtungsdiagramm

Verbinden Sie das 74HC595 4-stellige 7-Segment-Display mit dem Arduino UNO Q MCU wie dargestellt:

Arduino UNO Q 74HC595 4-stelliges 7-Segment-Display Verdrahtungsdiagramm

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

74HC595 Display Pin Arduino UNO Q MCU Pin Beschreibung
SCLK D7 Serieller Takt
RCLK D6 Register-Takt / Verriegelung
DIO D5 Dateneingabe
VCC 5V Stromversorgung
GND GND Erde

Arduino UNO Q Code

Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:

  • Die STM32 MCU steuert das 74HC595 7-Segment-Display direkt über digitale Pins — sie verwaltet alle Multiplexing
  • Die Qualcomm MPU führt Debian Linux aus und verwaltet Wi-Fi, Python und Cloud-Konnektivität
  • In diesem Abschnitt wird nur die MCU programmiert — die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.

Die Skizze unten zählt von 0 bis 9999 auf dem 7-Segment-Display und erhöht sich jede Sekunde.

Wichtig: Rufen Sie immer display.loop() in der Arduino loop() Funktion auf. Die Bibliothek verwendet dies, um alle 4 Ziffern zu multiplexen. Verwenden Sie niemals delay() direkt — verwenden Sie stattdessen display.delay().

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q 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-uno-q/arduino-uno-q-74hc595-4-digit-7-segment-display */ #include <DIYables_4Digit7Segment_74HC595.h> #define SCLK_PIN 7 // MCU pin connected to SCLK of 74HC595 7-segment display #define RCLK_PIN 6 // MCU pin connected to RCLK of 74HC595 7-segment display #define DIO_PIN 5 // MCU pin connected to DIO of 74HC595 7-segment display DIYables_4Digit7Segment_74HC595 display(SCLK_PIN, RCLK_PIN, DIO_PIN); int count = 0; unsigned long lastUpdate = 0; void setup() { display.begin(); display.print(0); } void loop() { display.loop(); // Must be called frequently to refresh the display if (millis() - lastUpdate >= 1000) { lastUpdate = millis(); count++; if (count > 9999) count = 0; display.print(count); } }

Schnelle Schritte

Erste Zeit mit Arduino UNO Q? Folgen Sie dem Getting Started with Arduino UNO Q Tutorial, um Ihre Entwicklungsumgebung vor dem Fortfahren vorzubereiten.

  • Verbinden: Verbinden Sie das 74HC595-Display mit dem Arduino UNO Q wie dargestellt, stecken Sie dann das USB-C-Kabel ein.
  • Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis es Ihren Arduino UNO Q erkennt — dies kann beim ersten Start mehrere Minuten dauern.
  • Erstellen Sie eine neue App: Klicken Sie auf die Schaltfläche Create New App.
Create New App in Arduino App Lab on Arduino UNO Q
  • Geben Sie der App einen Namen, zum Beispiel: DIYables_7Seg74HC595
  • Klicken Sie auf Create, um zu bestätigen.
  • Sie werden einen Satz von Ordnern und Dateien sehen, die in Ihrer neuen App generiert wurden.
Arduino App Lab App folders and files on Arduino UNO Q
  • Suchen Sie die Datei sketch/sketch.ino — hier fügen Sie die MCU-Skizze ein.
  • Fügen Sie die Skizze ein: Kopieren Sie den MCU-Code oben und fügen Sie ihn in diese Skizzendatei ein. Behalten Sie andere Dateien als Standard.
    • Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.
    Add sketch library in Arduino App Lab on Arduino UNO Q
    • Search for Arduino_RouterBridge created by Arduino and click the Install button.
    My Apps / DIYables Apps
    Run
    Bricks
    No bricks added...
    Sketch Libraries
    No sketch libra...
    Files
    python
    sketch
    .gitignore
    README.md
    app.yaml
    sketch.ino
    Add sketch library
    Arduino_RouterBridge Arduino

    This library provides a simple RPC bridge for Arduino UNO Q boards, allowing communication between the board and other devices using MsgPack serialization.

    0.4.1
    Install
    More Info
    • Search for DIYables_4Digit7Segment_74HC595 created by DIYables.io and click the Install button.
    My Apps / DIYables Apps
    Run
    Bricks
    No bricks added...
    Sketch Libraries
    No sketch libra...
    Files
    python
    sketch
    .gitignore
    README.md
    app.yaml
    sketch.ino
    Add sketch library
    DIYables_4Digit7Segment_74HC595 DIYables.io

    Supports integers, floats, text, degree symbol, temperature, time display, zero-padding, individual dot control. Common anode and common cathode. Works with all Arduino-compatible boards.

    2.0.0
    Install
    More Info
    • Hochladen: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab, um in den STM32 zu kompilieren und hochzuladen.
    Click Run button in Arduino App Lab on Arduino UNO Q

    Ihr 7-Segment-Display beginnt bei 0 zu zählen und erhöht sich jede Sekunde bis 9999!

    • Pro Tipp: Wenn Ihr Display verstümmelte Zeichen anzeigt, versuchen Sie, false als 4. Konstruktor-Argument zu übergeben: DIYables_4Digit7Segment_74HC595 display(SCLK_PIN, RCLK_PIN, DIO_PIN, false) — dies wechselt vom Common-Anode-Modus (Standard) zum Common-Cathode-Modus.

    Bridge: Linux + MCU

    Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite das 7-Segment-Display remote steuern kann:

    • Das 74HC595 7-Segment-Display ist mit der MCU (STM32) verbunden — die MCU steuert alle Ziffern-Multiplexing
    • Die MPU kann das Display nicht direkt steuern — sie muss die MCU anfordern, Werte über Bridge.call() zu aktualisieren
    • Die MPU hat Wi-Fi — mit vollständigem Debian Linux kann sie sich mit dem Internet verbinden und Display-Updates remote schieben
    • Arduino_RouterBridge ermöglicht RPC-Kommunikation zwischen den beiden Prozessoren
    • ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind vom Router RESERVIERT — öffnen Sie sie nie in Benutzercode

    Kurz: MCU steuert das 7-Segment-Display → MPU sendet Werte → MPU kann das Display von überall im Internet aktualisieren.

    MCU Code (Bridge)

    Hinweis: In der Bridge-Skizze wird display.loop() in der Arduino loop() aufgerufen, um das Display aktualisiert zu halten — dies ist erforderlich für das gemultiplexte 7-Segment-Display und beeinträchtigt die Bridge-Kommunikation nicht.

    /* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q 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-uno-q/arduino-uno-q-74hc595-4-digit-7-segment-display */ #include "Arduino_RouterBridge.h" #include <DIYables_4Digit7Segment_74HC595.h> #define SCLK_PIN 7 #define RCLK_PIN 6 #define DIO_PIN 5 DIYables_4Digit7Segment_74HC595 display(SCLK_PIN, RCLK_PIN, DIO_PIN); String current_value = ""; void display_number(String text) { int number = text.toInt(); current_value = text; display.print(number); Monitor.println("7SEG: " + text); } void display_float(String text) { float value = text.toFloat(); current_value = text; display.print(value, 1); Monitor.println("7SEG float: " + text); } void clear_display() { current_value = ""; display.print(0); Monitor.println("7SEG cleared"); } String get_status() { if (current_value == "") return "Display shows: 0"; return "Display shows: " + current_value; } void setup() { Bridge.begin(); Monitor.begin(9600); display.begin(); display.print(0); Bridge.provide_safe("display_number", display_number); Bridge.provide_safe("display_float", display_float); Bridge.provide_safe("clear_display", clear_display); Bridge.provide("get_status", get_status); } void loop() { display.loop(); // Keep refreshing the 7-segment display }

    Python Code (Bridge)

    /* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q 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-uno-q/arduino-uno-q-74hc595-4-digit-7-segment-display */ from arduino.app_utils import * import time def loop(): result = Bridge.call("display_number", "1234") print(result) time.sleep(3) result = Bridge.call("display_float", "26.5") print(result) time.sleep(3) result = Bridge.call("display_number", "-42") print(result) time.sleep(3) result = Bridge.call("clear_display") print(result) time.sleep(2) result = Bridge.call("get_status") print(result) time.sleep(2) App.run(user_loop=loop)

    Schnelle Schritte

    • Verbinden: Verbinden Sie das 74HC595-Display mit dem Arduino UNO Q und stecken Sie das USB-C-Kabel ein.
    • Öffnen Sie Arduino App Lab: Starten Sie Arduino App Lab und warten Sie, bis die Platine erkannt wird.
    • Erstellen Sie eine neue App: Klicken Sie auf Create New App, nennen Sie sie DIYables_7Seg74HC595Bridge, dann klicken Sie auf Create.
    • Fügen Sie die MCU-Skizze ein: Kopieren Sie den MCU Bridge-Code oben und fügen Sie ihn in sketch/sketch.ino ein.
    • Fügen Sie den Python-Code ein: Kopieren Sie den Python Bridge-Code oben und fügen Sie ihn in die Python-Datei der App ein.
    • Hochladen: Klicken Sie auf die Run-Schaltfläche in Arduino App Lab.
    Click Run button in Arduino App Lab on Arduino UNO Q

    App Lab Konsolenausgabe

    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    Message (Enter to send a message to "Newbiely" on usb(2820070321))
    New Line
    9600 baud
    [2026-04-29 09:00:01] 7SEG: 1234 [2026-04-29 09:00:04] 7SEG float: 26.5 [2026-04-29 09:00:07] 7SEG: -42 [2026-04-29 09:00:09] 7SEG cleared
    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    [2026-04-29 09:00:01] OK [2026-04-29 09:00:04] OK [2026-04-29 09:00:07] OK [2026-04-29 09:00:09] OK [2026-04-29 09:00:11] Display shows: 0

    Telegram

    Steuern Sie das 74HC595 7-Segment-Display von überall mit Telegram. Senden Sie eine Nummer von Ihrem Telefon und das Display aktualisiert sich sofort.

    MCU-Skizze: Behalten Sie die gleiche MCU-Skizze aus dem vorherigen Bridge-Abschnitt.

    Python Code (Telegram)

    /* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q 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-uno-q/arduino-uno-q-74hc595-4-digit-7-segment-display */ from arduino.app_utils import * import requests import time TELEGRAM_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" CHAT_ID = "YOUR_CHAT_ID" last_update_id = 0 def get_updates(): global last_update_id url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/getUpdates" params = {"offset": last_update_id + 1, "timeout": 5} try: response = requests.get(url, params=params, timeout=10) data = response.json() if data["ok"]: return data["result"] except Exception: pass return [] def send_message(text): url = f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage" requests.post(url, data={"chat_id": CHAT_ID, "text": text}) def loop(): global last_update_id updates = get_updates() for update in updates: last_update_id = update["update_id"] message = update.get("message", {}) text = message.get("text", "") if text.startswith("/number "): number = text[8:].strip() result = Bridge.call("display_number", number) send_message(result) elif text.startswith("/float "): value = text[7:].strip() result = Bridge.call("display_float", value) send_message(result) elif text == "/clear": result = Bridge.call("clear_display") send_message(result) elif text == "/status": result = Bridge.call("get_status") send_message(result) elif text == "/start": send_message("Commands:\n/number <value> - Show integer on display\n/float <value> - Show float on display\n/clear - Clear the display\n/status - Get current display value") App.run(user_loop=loop)

    Schnelle Schritte

    • Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihren tatsächlichen Bot-Token von BotFather.
    • Ersetzen Sie YOUR_CHAT_ID durch Ihre Telegram-Chat-ID.
    • Fügen Sie diesen Python-Code in die Python-Datei Ihrer App ein (behalten Sie die gleiche MCU-Skizze).
    • Klicken Sie auf die Run-Schaltfläche. Öffnen Sie Telegram und senden Sie Befehle an Ihren Bot.

    App Lab Konsolenausgabe

    DIYables_Apps
    Stop
    sketch.ino
    1#include "Arduino_RouterBridge.h"
    Serial Monitor
    Python
    [2026-04-29 09:15:00] Waiting for Telegram messages... [2026-04-29 09:15:08] Received: /number 2025 [2026-04-29 09:15:22] Received: /float 23.4 [2026-04-29 09:15:40] Received: /status
    Telegram
    Telegram 12:45
    Welcome to Telegram!
    ArduinoBot 10:19
    Chatting with Arduino...
    telegram-botfather
    BotFather Yesterday
    Your bot has been created.

    ArduinoBot

    bot
    Today
    /number 2025
    10:15 AM ✓✓
    OK
    10:16 AM
    /float 23.4
    10:17 AM ✓✓
    OK
    10:18 AM
    /status
    10:19 AM ✓✓
    Display shows: 23.4
    10:20 AM
    /clear
    10:21 AM ✓✓
    OK
    10:22 AM

    OpenClaw

    You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial

    Projektideen

    Sie können viele nützliche Projekte mit einem 74HC595 7-Segment-Display mit Arduino UNO Q erstellen:

    • Remote-Zähler: Senden Sie einen Zählwert über Telegram an das Display — nützlich für Produktionszähler oder Event-Tallies
    • Live-Temperaturanzeige: Holen Sie sich Temperatur von einem Sensor auf der MCU und zeigen Sie sie über Bridge auf dem 7-Segment-Display an
    • Countdown-Timer: Python sendet einen Startwert über Bridge, und die MCU zählt auf dem Display bis Null herunter
    • Internet-Uhr: Python ruft die aktuelle Zeit über NTP ab und sendet sie an die MCU, um sie im HH.MM-Format anzuzeigen
    • Score-Anzeige: Verwenden Sie Telegram, um einen Live-Score auf dem 7-Segment-Display für Spiele oder Wettbewerbe zu aktualisieren

    Fordern Sie sich selbst heraus

    Bereit, weitere Herausforderungen mit dem 74HC595 7-Segment-Display auf Arduino UNO Q zu meistern? Versuchen Sie diese Herausforderungen:

    • Einfach: Ändern Sie die MCU-Skizze so, dass beim Start 88.88 angezeigt wird, indem Sie die Gleitkommazahl-Anzeigemethode mit einem Dezimalpunkt verwenden.
    • Mittel: Verwenden Sie die Bridge, um einen /count <start> <end> Telegram-Befehl zu implementieren, der das Display mit 1-Sekunden-Intervallen von <start> bis <end> zählen lässt.
    • Fortgeschrittene: Erstellen Sie eine Telegram-gesteuerte Stoppuhr: /start beginnt mit der Sekunde auf dem Display zu zählen, /stop friert sie ein, und /reset löscht sie auf Null zurück.

    ※ 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!