Raspberry Pi - 10-Segment-LED-Balkenanzeige

Dieses Tutorial zeigt Ihnen, wie Sie mit dem Raspberry Pi eine 10-Segment-LED-Balkenanzeige steuern. Im Detail lernen wir:

Raspberry Pi und 10-Segment-LED-Balkenanzeige

...SUGGEST

LINK_SUGGEST_RASPBERRY_PI_LED

LINK_SUGGEST_RASPBERRY_PI_BUTTON_LED

...SUGGEST

Über die 10-Segment-LED-Balkenanzeige

10-Segment-LED-Balkenanzeige
Anzahl der Segmente 10
LED-Farbe Hellrot
Durchlassspannung ~2V pro Segment
Durchlassstrom max. 20mA pro Segment
Erforderlicher Widerstand 220Ω pro Segment

Pinbelegung der LED-Balkenanzeige

Pinbelegung der 10-Segment-LED-Balkenanzeige

Die 10-Segment-LED-Balkenanzeige hat 20 Pins:

  • Anoden-Pins (A1–A10): Diese Pins müssen über 220Ω-Widerstände mit den GPIO-Pins des Raspberry Pi verbunden werden
  • Kathoden-Pins (K1–K10): Diese Pins müssen mit Masse (0V) verbunden werden

※ Notiz:

Die Anordnung der Pins Ihrer LED-Balkenanzeige kann je nach Hersteller unterschiedlich sein. Überprüfen Sie vor der Verdrahtung immer die Ausrichtung von Anode und Kathode anhand des Datenblatts des Bauteils. Schauen Sie genau hin!

Schaltplan

Raspberry Pi LED-Balkenanzeige Schaltplan

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

Das Schaltbild unten zeigt dieselben Verbindungen ohne Steckbrett:

Raspberry Pi LED-Balkenanzeige Schaltplan (ohne Steckbrett)

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

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield
  • LED-Balkenanzeige A1 an Raspberry Pi GPIO 18 (Pin 12) über 220Ω-Widerstand
  • LED-Balkenanzeige A2 an Raspberry Pi GPIO 23 (Pin 16) über 220Ω-Widerstand
  • LED-Balkenanzeige A3 an Raspberry Pi GPIO 24 (Pin 18) über 220Ω-Widerstand
  • LED-Balkenanzeige A4 an Raspberry Pi GPIO 25 (Pin 22) über 220Ω-Widerstand
  • LED-Balkenanzeige A5 an Raspberry Pi GPIO 8 (Pin 24) über 220Ω-Widerstand
  • LED-Balkenanzeige A6 an Raspberry Pi GPIO 7 (Pin 26) über 220Ω-Widerstand
  • LED-Balkenanzeige A7 an Raspberry Pi GPIO 12 (Pin 32) über 220Ω-Widerstand
  • LED-Balkenanzeige A8 an Raspberry Pi GPIO 16 (Pin 36) über 220Ω-Widerstand
  • LED-Balkenanzeige A9 an Raspberry Pi GPIO 20 (Pin 38) über 220Ω-Widerstand
  • LED-Balkenanzeige A10 an Raspberry Pi GPIO 21 (Pin 40) über 220Ω-Widerstand
  • Alle K1–K10 (Kathoden) an Raspberry Pi GND (beliebiger GND-Pin)

※ Notiz:

Alle 10 Anoden-Pins sind entlang einer einzigen Reihe der 40-poligen Stiftleiste verdrahtet (die geradzahligen Pins: 12, 16, 18, 22, 24, 26, 32, 36, 38, 40), was die Verdrahtung übersichtlich hält. Dabei werden GPIO8 und GPIO7 verwendet, die gleichzeitig als SPI-Chip-Select-Leitungen CE0/CE1 dienen – hier unbedenklich, da dieses Projekt kein SPI nutzt. GPIO1 (der andere HAT-ID-EEPROM-Pin) und die UART-Pins (GPIO14/GPIO15) werden vollständig vermieden.

1×Raspberry Pi 5
1×10 Segment LED Bar Graph
10×220 Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit

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.

Wie man den Raspberry Pi zur Steuerung der LED-Balkenanzeige programmiert

Das folgende Skript steuert alle 10 Segmente nacheinander an – es schaltet sie einzeln von A1 bis A10 ein und anschließend in umgekehrter Reihenfolge wieder aus, während der aktuelle Zustand des Balkens im Terminal ausgegeben wird.

# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi 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/raspberry-pi/raspberry-pi-10-segment-led-bar-graph import RPi.GPIO as GPIO import time NUM_SEGMENTS = 10 LED_PINS = [18, 23, 24, 25, 8, 7, 12, 16, 20, 21] def print_bar(lit_count): bar = '*' * lit_count + ' ' * (NUM_SEGMENTS - lit_count) print("Bar: [" + bar + "]") GPIO.setmode(GPIO.BCM) for pin in LED_PINS: GPIO.setup(pin, GPIO.OUT) GPIO.output(pin, GPIO.LOW) try: while True: for i in range(NUM_SEGMENTS): GPIO.output(LED_PINS[i], GPIO.HIGH) print_bar(i + 1) time.sleep(0.1) time.sleep(0.5) for i in range(NUM_SEGMENTS - 1, -1, -1): GPIO.output(LED_PINS[i], GPIO.LOW) print_bar(i) time.sleep(0.1) time.sleep(0.5) except KeyboardInterrupt: GPIO.cleanup()

Schnelle Schritte

  1. Stellen Sie sicher, dass Raspbian oder ein anderes mit dem Raspberry Pi kompatibles Betriebssystem auf Ihrem Pi installiert ist.
  2. Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  3. Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie Bibliotheken installieren müssen.
  4. Siehe LINK_TUTORIAL_RASPBERRY_PI_GETTING_STARTED, falls Sie Ihren Raspberry Pi noch nicht eingerichtet haben.
  5. Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, zum Beispiel mit einem SSH-Client wie PuTTY.
  6. Stellen Sie sicher, dass die RPi.GPIO-Bibliothek installiert ist. Falls sie auf Ihrem System noch nicht vorhanden ist, installieren Sie sie mit:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  1. Verdrahten Sie die Bauteile gemäß dem obigen Schaltplan.
  2. Erstellen Sie eine Python-Skriptdatei LedBarGraph.py und fügen Sie den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi 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/raspberry-pi/raspberry-pi-10-segment-led-bar-graph import RPi.GPIO as GPIO import time NUM_SEGMENTS = 10 LED_PINS = [18, 23, 24, 25, 8, 7, 12, 16, 20, 21] def print_bar(lit_count): bar = '*' * lit_count + ' ' * (NUM_SEGMENTS - lit_count) print("Bar: [" + bar + "]") GPIO.setmode(GPIO.BCM) for pin in LED_PINS: GPIO.setup(pin, GPIO.OUT) GPIO.output(pin, GPIO.LOW) try: while True: for i in range(NUM_SEGMENTS): GPIO.output(LED_PINS[i], GPIO.HIGH) print_bar(i + 1) time.sleep(0.1) time.sleep(0.5) for i in range(NUM_SEGMENTS - 1, -1, -1): GPIO.output(LED_PINS[i], GPIO.LOW) print_bar(i) time.sleep(0.1) time.sleep(0.5) except KeyboardInterrupt: GPIO.cleanup()
  1. Führen Sie das Skript mit dem folgenden Befehl aus:
python3 LedBarGraph.py
  1. Überprüfen Sie die Ergebnisse im Terminal – Sie sehen die Balkenanimation als Text ausgegeben.

Raspberry Pi Konsolenausgabe

PuTTY - Raspberry Pi
Bar: [* ] Bar: [** ] Bar: [*** ] Bar: [**** ] Bar: [***** ] Bar: [****** ] Bar: [******* ] Bar: [******** ] Bar: [********* ] Bar: [**********] Bar: [********* ] Bar: [******** ] Bar: [******* ] Bar: [****** ] Bar: [***** ] Bar: [**** ] Bar: [*** ] Bar: [** ] Bar: [* ] Bar: [ ]

Das Skript animiert die LED-Balkenanzeige fortlaufend und gibt den Zustand alle 100ms aus. Sie können das Skript jederzeit beenden, indem Sie im Terminal Ctrl + C drücken – der KeyboardInterrupt-Handler setzt den GPIO-Zustand dann automatisch zurück.

Zusätzliches Wissen

Jeder GPIO-Pin des Raspberry Pi kann sicher maximal 16mA liefern oder aufnehmen, wobei für alle GPIO-Pins zusammen eine Gesamtgrenze von etwa 50mA gilt. Verwenden Sie immer einen 220Ω-Widerstand in Reihe mit jedem LED-Segment, um den Strom im sicheren Bereich zu halten und sowohl den Pi als auch die LED-Balkenanzeige vor Schäden zu schützen.

Die 10-Segment-LED-Balkenanzeige eignet sich für viele praktische Anwendungen mit dem Raspberry Pi: zur Anzeige von Batterie- oder Leistungspegeln, zur Visualisierung der Audiosignalstärke, zur Darstellung des Fortschritts eines lang laufenden Automatisierungsskripts oder als einfache Statusanzeige in Hausautomations- und IoT-Projekten, die direkt auf dem Pi laufen.

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!