Raspberry Pi - Hindernissensor

Diese Anleitung erklärt Ihnen, wie Sie den Raspberry Pi mit dem Infrarot-Hindernisvermeidungssensor verwenden. Im Detail werden wir lernen:

Hardware erforderlich

1×Raspberry Pi 5
1×IR-Hindernisvermeidungssensor
1×(Alternativ) TCRT5000 Obstacle Avoidance Sensor
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.

Über den IR-Hindernisvermeidungssensor

Der Infrarot-Hindernissensor ist in der Lage, die Anwesenheit eines Objekts vor ihm zu erkennen, indem er Infrarotsignale verwendet. Der Erkennungsbereich liegt zwischen 2 cm und 30 cm und kann mit einem eingebauten Potentiometer eingestellt werden.

Pinbelegung des Infrarot-Hindernisvermeidungssensors

Der IR-Hindernisvermeidungssensor hat drei Pins:

  • GND Pin: muss mit GND (0V) verbunden werden
  • VCC Pin: muss mit VCC (5V oder 3,3V) verbunden werden
  • OUT Pin: ist ein Ausgangs-Pin, LOW wenn ein Hindernis vorhanden ist, HIGH wenn kein Hindernis vorhanden ist. Dieser Pin sollte mit einem Raspberry Pi Eingangs-Pin verbunden werden.
IR-Hindernisvermeidungssensor Pinbelegung

Funktionsweise

Das Infrarot-Hindernis-Sensormodul hat einen eingebauten IR-Sender und IR-Empfänger. Der IR-Sender sendet das IR-Signal aus. Der IR-Empfänger sucht nach dem reflektierten IR-Signal, um zu erkennen, ob ein Objekt vorhanden ist oder nicht. Der OUT Pin des Sensors spiegelt das Vorhandensein eines Hindernisses wider:

  • Wenn sich ein Hindernis vor dem Sensor befindet, ist der OUT Pin des Sensors LOW
  • Wenn sich kein Hindernis vor dem Sensor befindet, ist der OUT Pin des Sensors HIGH

※ Notiz:

Während des Transports kann sich der Sensor verformen, was zu Fehlfunktionen führen kann. Wenn der Sensor nicht ordnungsgemäß funktioniert, justieren Sie IR-Sender und Empfänger, um sicherzustellen, dass sie parallel zueinander stehen.

Verdrahtungsdiagramm

Raspberry Pi IR-Hindernisvermeidungssensor 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

Programmierung für den IR-Hindernisvermeidungssensor

  • Initialisieren Sie den Raspberry Pi Pin in den digitalen Eingangsmodus mit der GPIO.setup() Funktion.
GPIO.setup(SENSOR_PIN, GPIO.IN)
  • Verwenden Sie die GPIO.input() Funktion, um den Zustand des Raspberry Pi Pins zu prüfen.
obstacle_state = GPIO.input(SENSOR_PIN)

Raspberry Pi Code

Zwei Ansätze können bei der Programmierung für eine Hindernisvermeidungsanwendung verfolgt werden:

  • Maßnahmen ergreifen, je nachdem ob ein Hindernis vorhanden ist oder nicht
  • Maßnahmen ergreifen basierend darauf, ob ein Hindernis erkannt oder entfernt wurde

Raspberry Pi Code zur Überprüfung, ob ein Hindernis vorhanden ist

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.
  • Wenn Sie den Raspberry Pi zum ersten Mal verwenden, siehe Raspberry Pi einrichten
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den eingebauten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe PC über SSH mit Raspberry Pi verbinden.
  • Stellen Sie sicher, dass die RPi.GPIO Bibliothek installiert ist. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Erstellen Sie eine Python-Skriptdatei obstacle_sensor.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-obstacle-sensor import RPi.GPIO as GPIO # Set the GPIO mode to BCM (Broadcom SOC channel numbering) GPIO.setmode(GPIO.BCM) # Set the pin number connected to the ir obstacle avoidance sensor SENSOR_PIN = 12 # Set the GPIO pin as an input GPIO.setup(SENSOR_PIN, GPIO.IN) try: while True: # Read the state from the ir obstacle avoidance sensor obstacle_state = GPIO.input(SENSOR_PIN) # The ir obstacle avoidance sensor outputs LOW (0) when obstacle is present, otherwise HIGH (1) if obstacle_state == GPIO.LOW: print("The obstacle is present") else: print("The obstacle is NOT present") except KeyboardInterrupt: # Clean up the GPIO settings 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 obstacle_sensor.py
  • Platzieren Sie ein Hindernis für eine gewisse Zeit vor dem Sensor und entfernen Sie es dann wieder.
  • Überprüfen Sie das Ergebnis im Terminal.
PuTTY - Raspberry Pi
The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is present The obstacle is present The obstacle is present The obstacle is present The obstacle is NOT present The obstacle is NOT present

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

Raspberry Pi Code zur Hinderniserkennung

Schnelle Schritte

  • Erstellen Sie eine Python-Skriptdatei obstacle_sensor_events.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-obstacle-sensor import RPi.GPIO as GPIO import time # Set the GPIO mode to BCM (Broadcom SOC channel numbering) GPIO.setmode(GPIO.BCM) # Set the pin number connected to the ir obstacle avoidance sensor SENSOR_PIN = 12 # Set the GPIO pin as an input GPIO.setup(SENSOR_PIN, GPIO.IN) # Variable to track the ir obstacle avoidance sensor state prev_obstacle_state = GPIO.HIGH # Assuming no obstacle initially try: while True: obstacle_state = GPIO.input(SENSOR_PIN) if obstacle_state != prev_obstacle_state: if obstacle_state == GPIO.LOW: # obstacle is detected print("An obstacle is detected") else: # An obstacle is removed print("An obstacle is removed") prev_obstacle_state = obstacle_state time.sleep(0.1) # A small delay to debounce the input except KeyboardInterrupt: # Clean up the GPIO settings 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 obstacle_sensor_events.py
  • Platzieren Sie ein Hindernis für eine Weile vor dem Sensor und entfernen Sie es dann wieder.
  • Überprüfen Sie die Ergebnisse im Terminal.
PuTTY - Raspberry Pi
An obstacle is detected An obstacle is removed

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.

Verwandte Tutorials

※ 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!