Raspberry Pi - Ultraschallsensor - LED

Diese Anleitung zeigt Ihnen, wie Sie Raspberry Pi und einen Ultraschallsensor zur Steuerung einer LED verwenden. Im Detail:

Benötigte Hardware

1×Raspberry Pi 5
1×Ultraschallsensor
1×LED Kit
1×LED (red)
1×LED Module
1×220 Ohm Widerstand
1×Breadboard (Steckplatine)
1×Jumper Wires (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 Ultraschallsensor

Falls Sie nicht mit LED und Ultraschallsensor vertraut sind (einschließlich Pinout, Funktionalität und Programmierung), können Ihnen die folgenden Tutorials helfen:

Schaltplan

Raspberry Pi Ultraschallsensor LED 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

Schnellanleitung

  • 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.
  • Wenn Sie Raspberry Pi zum ersten Mal verwenden, lesen Sie wie man 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 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-Script-Datei ultrasonic_sensor_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-ultrasonic-sensor-led 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 = 14 ECHO_PIN = 15 # Define the GPIO pin for the LED LED_PIN = 16 # Set up the ultrasonic sensor pins GPIO.setup(TRIG_PIN, GPIO.OUT) GPIO.setup(ECHO_PIN, GPIO.IN) # Set up the LED pin as an output GPIO.setup(LED_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 LED if distance < DISTANCE_THRESHOLD: print("Distance below threshold. Turning on the LED.") GPIO.output(LED_PIN, GPIO.HIGH) else: print("Distance above threshold. Turning off the LED.") GPIO.output(LED_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-Script aus, indem Sie folgenden Befehl im Terminal eingeben:
python3 ultrasonic_sensor_led.py
  • Bewegen Sie Ihre Hand oder ein Objekt langsam aus großer Entfernung in Richtung des Ultraschallsensors. Beobachten Sie die Terminal-Ausgabe, welche die vom Ultraschallsensor gemessene Entfernung anzeigt. * Überprüfen Sie den LED-Status:
    • Wenn Sie sich dem Sensor nähern und die Entfernung unter den definierten Schwellenwert fällt, sollte die LED einschalten.
    • Wenn Sie sich vom Sensor entfernen und die Entfernung über den Schwellenwert steigt, sollte die LED ausschalten.

    Das Script 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 empfindlich gegenüber Störungen. Wenn Sie den Ultraschallsensor in einer realen Anwendung verwenden möchten, ist es notwendig, Störungen für den Ultraschallsensor herauszufiltern. Für weitere Informationen zur Filterung von Störungen bei Entfernungsmessungen eines Ultraschallsensors lesen Sie bitte dieses Tutorial.

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!