Raspberry Pi - Taste - Relais

Diese Anleitung zeigt Ihnen, wie Sie den Raspberry Pi und eine Taste verwenden, um ein Relais zu steuern. Durch das Anschließen des Relais an ein Magnetschloss, eine Glühbirne, einen LED-Streifen, einen Motor oder einen Aktuator... können wir eine Taste verwenden, um diese zu steuern. Wir werden zwei verschiedene Anwendungen lernen:

Anwendung 1 - Der Relais-Zustand ist mit dem Tasten-Zustand synchronisiert. Im Detail:

Anwendung 2 - Der Relais-Zustand wird bei jedem Tastendruck umgeschaltet. Genauer gesagt:

In der Anwendung 2 müssen wir die Taste entprellen, um sicherzustellen, dass sie ordnungsgemäß funktioniert. Wir werden sehen, warum das wichtig ist, indem wir vergleichen, wie sich das Relais verhält, wenn wir den Raspberry Pi Code mit und ohne Entprellung der Taste verwenden.

Hardware-Komponenten

1×Raspberry Pi 5
1×Breadboard-Taste mit Kappe
1×Breadboard-Tasten Kit
1×Panel-Drucktaste
1×Taster-Modul
1×Relais
1×Breadboard
1×Jumper-Kabel
1×(Optional) Magnetschloss
1×(Optional) 12V Netzteil
1×(Optional) DC Strom-Buchse
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.

Über Relais und Taste

Falls Sie mit Relais und Taste (einschließlich Pinbelegung, Funktionsweise und Programmierung) nicht vertraut sind, können die folgenden Tutorials helfen:

Schaltschema

Raspberry Pi Taste Relais Schaltschema

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 Relais-Zustand ist mit dem Tasten-Zustand synchronisiert

Schnelle Schritte

  • Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi kompatibles Betriebssystem auf Ihrem Pi installiert haben.
  • 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.
  • Falls Sie den Raspberry Pi zum ersten Mal verwenden, siehe wie man den Raspberry Pi einrichtet
  • Verbinden Sie Ihren PC mit dem Raspberry Pi über SSH mit dem integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows. Siehe wie Sie Ihren PC über SSH mit dem Raspberry Pi verbinden.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Erstellen Sie eine Python-Skript-Datei button_relay.py und fügen Sie 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-relay import RPi.GPIO as GPIO # Constants won't change. They're used here to set pin numbers: BUTTON_PIN = 18 # The number of the pushbutton pin RELAY_PIN = 16 # The number of the relay 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(RELAY_PIN, GPIO.OUT) # Initialize the relay 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 relay according to the state of the button if button_state == GPIO.LOW: # If the button is pressed GPIO.output(RELAY_PIN, GPIO.HIGH) # Turn on relay else: # Otherwise, the button is not pressed GPIO.output(RELAY_PIN, GPIO.LOW) # Turn off relay except KeyboardInterrupt: # Clean up GPIO on program exit GPIO.cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal eingeben:
python3 button_relay.py
  • Drücken Sie die Taste und halten Sie sie einige Sekunden gedrückt.
  • Beobachten Sie die Veränderung im Zustand des Relais.

Sie werden sehen, dass der Relais-Zustand mit dem Tasten-Zustand synchronisiert ist.

Das Skript läuft in einer unendlichen Schleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.

Code-Erklärung

Schauen Sie sich die zeilenweise Erklärung in den Kommentaren des Quellcodes an!

Anwendung 2 - Taste schaltet Relais um

Schnelle Schritte

  • Erstellen Sie eine Python-Skript-Datei button_toggle_relay.py und fügen Sie 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-relay import RPi.GPIO as GPIO import time # Constants won't change BUTTON_PIN = 18 # The number of the pushbutton pin RELAY_PIN = 16 # The number of the relay pin # Variables will change relay_state = GPIO.LOW # The current state of the relay 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(RELAY_PIN, GPIO.OUT) # Initialize the relay 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 relay if relay_state == GPIO.LOW: relay_state = GPIO.HIGH else: relay_state = GPIO.LOW # Control relay according to the toggled state GPIO.output(RELAY_PIN, relay_state) except KeyboardInterrupt: # Clean up GPIO on program exit GPIO.cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal eingeben:
python3 button_toggle_relay.py
  • Drücken Sie die Taste mehrmals und lassen Sie sie wieder los.
  • Beobachten Sie die Veränderung im Zustand des Relais. Sie werden sehen, dass sich der Relais-Zustand jedes Mal ändert, wenn Sie die Taste drücken.

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!