Raspberry Pi - Taster - LED

In diesem Tutorial wird Ihnen erklärt, wie Sie den Raspberry Pi und einen Taster verwenden, um die LED zu steuern. Wir werden zwei verschiedene Anwendungen kennenlernen:

Anwendung 1 - Der Zustand der LED ist mit dem Zustand des Knopfes synchronisiert. Im Detail:

Anwendung 2 - Der Zustand der LED wird bei jedem Drücken des Tasters umgeschaltet. Genauer gesagt:

In der Anwendung 2 müssen wir den Knopf entprellen, um sicherzustellen, dass er ordnungsgemäß funktioniert. Wir werden herausfinden, warum das wichtig ist, indem wir vergleichen, wie sich die LED verhält, wenn wir den Raspberry-Pi-Code mit und ohne Entprellung des Knopfs verwenden.

Erforderliche Hardware

1×Raspberry Pi 5
1×Breadboard-Taster mit Kappe
1×Breadboard-Taster-Kit
1×Panel-Drucktaster
1×Taster-Modul
1×LED Kit
1×LED (red)
1×LED Module
1×220Ω Resistor
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit
1×(Empfohlen) HDMI-Touchscreen-Monitor für Raspberry Pi

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.

Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.

Über LED und Taster

Wenn Sie mit LED und Knopf (einschließlich Pinbelegung, Funktionsweise und Programmierung) nicht vertraut sind, können Ihnen die folgenden Tutorials helfen:

Verdrahtungsdiagramm

Raspberry Pi Taster-LED-Verdrahtungsdiagramm

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

Anwendung 1 - Der LED-Zustand ist mit dem Zustand des Tasters synchronisiert.

Schnelle Schritte

  • Stellen Sie sicher, dass Raspbian oder ein anderes mit dem Raspberry Pi kompatibles Betriebssystem auf Ihrem Pi installiert ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie einige Bibliotheken installieren müssen.
  • Wenn dies das erste Mal ist, dass Sie den Raspberry Pi verwenden, siehe wie man den Raspberry Pi einrichtet
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe wie Sie Ihren PC über SSH mit dem Raspberry Pi verbinden.
  • Stellen Sie sicher, dass die Bibliothek RPi.GPIO installiert ist. Falls nicht, installieren Sie sie mit dem folgenden Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Erstelle eine Python-Skriptdatei button_led.py und füge 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-button-led import RPi.GPIO as GPIO # Constants won't change. They're used here to set pin numbers: BUTTON_PIN = 16 # The number of the pushbutton pin LED_PIN = 18 # The number of the LED pin # Variables will change: button_state = 0 # Variable for reading the pushbutton status # Set up GPIO GPIO.setmode(GPIO.BCM) # Use BCM GPIO numbering GPIO.setup(LED_PIN, GPIO.OUT) # Initialize the LED pin as an output GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Initialize the pushbutton pin as a pull-up input try: while True: # Read the state of the pushbutton value: button_state = GPIO.input(BUTTON_PIN) # Control LED according to the state of the button if button_state == GPIO.LOW: # If the button is pressed GPIO.output(LED_PIN, GPIO.HIGH) # Turn on LED else: # Otherwise, the button is not pressed GPIO.output(LED_PIN, GPIO.LOW) # Turn off LED except KeyboardInterrupt: # Clean up GPIO on program exit GPIO.cleanup()
  • Speichere die Datei und führe das Python-Skript aus, indem du den folgenden Befehl im Terminal ausführst:
python3 button_led.py
  • Drücken Sie den Knopf und halten Sie ihn einige Sekunden lang gedrückt.
  • Beobachten Sie die Veränderung des LED-Zustands. Sie werden sehen, dass der LED-Zustand mit dem Zustand des Knopfes übereinstimmt.

Das Skript läuft in einer Endlosschleife, bis du im Terminal Ctrl + C drückst.

Code-Erklärung

Schau dir die Zeilen-für-Zeile-Erklärung an, die in den Kommentaren des Quellcodes enthalten ist!

Anwendung 2 - Knopf schaltet LED um

Schnelle Schritte

  • Erstellen Sie eine Python-Skriptdatei button_toggle_led.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-button-led import RPi.GPIO as GPIO import time # Constants won't change BUTTON_PIN = 16 # The number of the pushbutton pin LED_PIN = 18 # The number of the LED pin # Variables will change led_state = GPIO.LOW # The current state of the LED prev_button_state = GPIO.LOW # The previous state of the button button_state = GPIO.LOW # The current state of the button # Set up GPIO GPIO.setmode(GPIO.BCM) # Use BCM GPIO numbering GPIO.setup(LED_PIN, GPIO.OUT) # Initialize the LED pin as an output GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Initialize the pushbutton pin as a pull-up input try: while True: # Read the state of the pushbutton value prev_button_state = button_state # Save the last state button_state = GPIO.input(BUTTON_PIN) # Read new state if prev_button_state == GPIO.HIGH and button_state == GPIO.LOW: time.sleep(0.1) # 100 milliseconds debounce time print("The button is pressed") # Toggle the state of the LED if led_state == GPIO.LOW: led_state = GPIO.HIGH else: led_state = GPIO.LOW # Control LED according to the toggled state GPIO.output(LED_PIN, led_state) except KeyboardInterrupt: # Clean up GPIO on program exit GPIO.cleanup()
  • Speichere die Datei und führe das Python-Skript aus, indem du den folgenden Befehl im Terminal ausführst:
python3 button_toggle_led.py
  • Drücken Sie den Knopf mehrmals und lösen Sie ihn wieder.
  • Beobachten Sie die Änderung des LED-Zustands. Sie werden sehen, dass sich der Zustand der LED jedes Mal ändert, wenn Sie den Knopf drücken.

Code-Erklärung

Schau dir die Zeilen-für-Zeile-Erklärung an, die in den Kommentaren des Quellcodes enthalten ist!

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!