Raspberry Pi 2 mit Ultraschall-Sensor

Ihr möchtet mit dem Raspberry Pi den Abstand oder die Entfernung messen? Das geht ganz einfach und günstig mit sogenannten Ultraschallsensoren. Der wohl verbreiteste Ultasonic-Sensor ist der HC-SR04, der ursprünglich für die Nutzung mit dem Arduino konzipiert wurde. Diesen Sensor kann man mit zusätzlichen Widerständen allerdings auch problemlos am Raspberry Pi nutzen. In der nachfolgenden Anleitung beziehen wir uns auf das aktuelle Modell „Raspberry Pi 2“, der Sensor funktioniert natürlich auch problemlos mit dem Pi der 1.Generation wie auch mit dem Raspberry Pi Zero. 

Was wird benötigt?

Zunächst benötigen wir natürlich einen Raspberry Pi mit Netzteil sowie eine MicroSD-Karte mit einem installierten Raspbian. Außerdem benötigen wir den Ultraschall-Sensor „HC-SR04“ sowie 2 Widerstände mit 330 Ohm sowie 470 Ohm. Zusätzlich benötigen wir noch Verbindungskabel und falls nicht schon vorhanden einen Lötkolben inkl. Lötzinn. Auch in diesem Beitrag finden sie direkt weiter unten eine Einkaufsliste vor, falls noch ein Teil fehlen sollte.

Einkaufsliste:

Raspberry Pi 2 – Kosten ca. 40 Euro – siehe z.B. bei Amazon*.

Netzteil + Gehäuse – Kosten ca. 12 Euro – siehe z.B. bei Amazon*.

MicroSD Karte – Kosten ca. 7 Euro – siehe z.B. bei Amazon*.

Ultraschallsensor – Kosten ca. 5 Euro (3x nur 9 Euro) – siehe z.B. bei Amazon*.

Verbindungskabel – Kosten ca. 6 Euro – siehe z.B. bei Amazon*.

Widerstand 330 Ohm – Kosten ca. 3 Euro (30er Packung) – siehe z.B. bei Amazon*.

Widerstand 470 Ohm – Kosten ca. 3 Euro (20er Packung) – siehe z.B. bei Amazon*.

Lötkolben + Lötzinn – Kostenpunkt ca. 15 Euro – siehe z.B. bei Amazon*.

Raspberry Ultrasonic

Ultraschallsensor anschließen

Wie ihr oben schon erkennen könnt, haben wir die Widerstände direkt aufgelötet und ein Kabel etwas beschnitten. Als erstes sollte man die Widerstände anlöten – der 330 Ohm Resistor muss an Echo-Port des Ultraschallsensors festgelötet werden – anschließend lötet ihr den 470 Ohm Widerstand an den Ground-Ausgang. Entfernt nun bei einem Verbindungskabel den Plastikanschluss und lötet die Widerstände sowie das Kabel an einem gemeinsamen Punkt fest.

Plan Ultraschall Sensor Raspberry

Damit sind die Lötarbeiten auch schon abgeschlossen und es geht jetzt an das Verbinden der restlichen Ports. Nehmt ein neues Verbindungskabel für die (im Schaltplan) rechte Seite des Ground-Ausgangs und verbindet es mit dem Pin 14 eures Raspberry Pi 2. Anschließend könnt ihr mit einem neuen Kabel den Trigger-Port mit Pin 16 (GIPO 23) eures Raspberrys verbinden. Zu guter letzt müsst ihr noch für die Stromversorgung des Ultraschallmoduls sorgen, dazu nehmt ein weiteres Kabel und schließt es an Pin 2 (5V-Versorgung) an.

Ultrasonic Sensor

Funktionstest

Damit sollte die Verbindung eures Ultraschallmoduls abgeschlossen sein und wir können zum Funktionstest ein kleines Testprogramm schreiben. Das folgende Programm wurde in Python geschrieben, solltet ihr zum Anschluss des Sensors andere GIPO’s benutzt haben so müsst ihr diese entsprechend im nachfolgenden Programm korrigieren:

#!/usr/bin/python
#
# ultraschall.py

import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)

GPIO_TRIGGER = 23
GPIO_ECHO = 24

print "Ultraschall Messung"

# Pins festlegen
GPIO.setup(GPIO_TRIGGER,GPIO.OUT) # Trigger-Port
GPIO.setup(GPIO_ECHO,GPIO.IN)     # Echo-Port

GPIO.output(GPIO_TRIGGER, False)

time.sleep(0.5)

GPIO.output(GPIO_TRIGGER, True)
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
start = time.time()
while GPIO.input(GPIO_ECHO)==0:
  start = time.time()

while GPIO.input(GPIO_ECHO)==1:
  stop = time.time()

elapsed = stop-start

distance = elapsed * 34000

distance = distance / 2

print "Abstand: %.1f" % distance

GPIO.cleanup()

Anschließend speichert die Python-Datei noch unter dem Dateinamen „ultraschall.py“ ab und / oder ladet das Programm auf euren Raspberry. Nun könnt ihr die Ultraschall-Messung ganz einfach über einen Shell-Befehl starten:

sudo python ultraschall.py

Wenn ihr alles richtig gemacht habt, seht ihr nun das Messergebnis eures Ultraschallsensors. Zum weiteren Testen könnt ihr auch einen Gegenstand etwas annähern und wieder entfernen. Der Sensor kann einen Abstand zwischen 2cm und 4,5 Metern erfassen – die Genauigkeit der Messung liegt bei bis zu 0,3 cm (wobei man hier mehrere Messungen hintereinander oder durch mehrere Sensoren vornehmen sollte). In kürze demonstrieren wir euch außerdem noch weitere Versuche und Ansteuerungsmöglichkeiten mit diesem Sensor, entsprechende weiterführende Artikel werden dann hier verlinkt werden.



Der HC-SR04 Sensor wurde ursprünglich für den Arduino konzipiert, doch man kann ihn ganz einfach auch am Raspberry Pi nutzen.
Datum:
31.01.2016, 17:13 Uhr
Aktualisiert:
31.01.2016, 17:16 Uhr
Autor:
Stefan Kröll
Comments:
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

* gesponserter Link
Blogverzeichnis - Bloggerei.de