Raspberry Pi - Ultraschallsensor - Relais

Dieses Tutorial zeigt Ihnen, wie Sie Raspberry Pi und einen Ultraschallsensor zur Steuerung eines Relais verwenden. Im Detail:

Durch das Anschließen eines Relais an eine Glühbirne, LED-Streifen, Motor oder Stellantrieb... können wir den Raspberry Pi und Ultraschallsensor zur Steuerung von Glühbirne, LED-Streifen, Motor oder Stellantrieb... verwenden.

Hardware Erforderlich

1×Raspberry Pi 5
1×Ultraschallsensor
1×Relais
1×(Optional) Magnetschloss
1×12V Netzteil
1×DC-Strombuchse
1×Jumper-Kabel
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 Ultraschallsensor

Falls Sie nicht mit Relais und Ultraschallsensor vertraut sind (Pinout, Funktionsweise, Programmierung...), schauen Sie sich die folgenden Tutorials an:

Schaltplan

Raspberry Pi Ultraschallsensor Relais Schaltplan

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

Raspberry Pi Code

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 zum ersten Mal einen Raspberry Pi verwenden, lesen Sie wie Sie den Raspberry Pi einrichten
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi unter Verwendung des integrierten SSH-Clients auf Linux und macOS oder PuTTY auf Windows. Siehe wie Sie Ihren PC über SSH mit Raspberry Pi verbinden.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit dem folgenden Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Erstellen Sie eine Python-Skriptdatei ultrasonic_sensor_relay.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-ultrasonic-sensor-relay import RPi.GPIO as GPIO import time # Set the GPIO mode to BCM GPIO.setmode(GPIO.BCM) # Define the GPIO pins for the ultrasonic sensor TRIG_PIN = 23 ECHO_PIN = 24 # Define the GPIO pin for the relay RELAY_PIN = 18 # Set up the ultrasonic sensor pins GPIO.setup(TRIG_PIN, GPIO.OUT) GPIO.setup(ECHO_PIN, GPIO.IN) # Set up the relay pin as an output GPIO.setup(RELAY_PIN, GPIO.OUT) # Define the distance threshold in cm (adjust as needed) DISTANCE_THRESHOLD = 20 # 20 cm def get_distance(): # Send a trigger signal GPIO.output(TRIG_PIN, GPIO.HIGH) time.sleep(0.00001) GPIO.output(TRIG_PIN, GPIO.LOW) # Wait for the echo response pulse_start = time.time() pulse_end = time.time() while GPIO.input(ECHO_PIN) == GPIO.LOW: pulse_start = time.time() while GPIO.input(ECHO_PIN) == GPIO.HIGH: pulse_end = time.time() # Calculate the distance in centimeters pulse_duration = pulse_end - pulse_start speed_of_sound = 34300 # Speed of sound in cm/s distance = (pulse_duration * speed_of_sound) / 2 return distance try: while True: # Get the distance from the ultrasonic sensor distance = get_distance() print("Distance:", distance, "cm") # If the distance is below the threshold, turn on the relay if distance < DISTANCE_THRESHOLD: print("Distance below threshold. Turning on the relay.") GPIO.output(RELAY_PIN, GPIO.HIGH) else: print("Distance above threshold. Turning off the relay.") GPIO.output(RELAY_PIN, GPIO.LOW) # Add a small delay to avoid excessive readings time.sleep((0.1) except KeyboardInterrupt: # Clean up the GPIO on exiting the script GPIO.cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
python3 ultrasonic_sensor_relay.py
  • Bewegen Sie Ihre Hand oder ein Objekt langsam aus der Ferne in Richtung des Ultraschallsensors.
  • Überprüfen Sie die Terminal-Ausgabe, die die vom Ultraschallsensor gemessene Entfernung anzeigt.
  • Überprüfen Sie den Relais-Zustand:
    • Wenn Sie sich dem Sensor nähern und die Entfernung unter den definierten Schwellenwert fällt, sollte sich das Relais einschalten.
    • Wenn Sie sich vom Sensor entfernen und die Entfernung über den Schwellenwert steigt, sollte sich das Relais ausschalten.

    Das Skript läuft in einer Endlosschleife 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!

    ※ Notiz:

    Der obige Code ist für Bildungszwecke gedacht. Der Ultraschallsensor ist sehr störanfällig. Wenn Sie planen, den Ultraschallsensor in einer realen Anwendung zu verwenden, ist es notwendig, Störungen für den Ultraschallsensor herauszufiltern. Für weitere Informationen zum Filtern von Störungen bei Entfernungsmessungen eines Ultraschallsensors, schauen Sie sich dieses Tutorial 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!