Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Schaltungen mit dem Raspberry Pi

Entfernungen mit Ultraschall messen

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Ein Ultraschallsensor sendet Impulse und berechnet aus dem Echo die Entfernung zu einem Objekt auf den Zentimeter genau.
05:25

Transkript

Mit dem Raspberry Pi können Sie auch die Entfernung zu einem Objekt messen, und zwar mit so einem Sensor hier. Der hat zwei ja auffällige Aufbauten. Das eine ist ein kleiner Lautsprecher, mit dem wird ein Ultraschallimpuls, das das menschliche Ohr nicht hören kann, ausgesendet. Und mit dieser anderen Aufbau hier, das ist ein Mikrofon, da wird einfach gemessen, wann das Echo wieder zurückkommt. Und aus dieser Zeitdifferenz kann man dann die Entfernung zu einem Objekt berechnen. Genau solche Sensoren sind auch in Autos verbaut, die anfangen zu piepsen, wenn man rückwärts irgendwo einparkt und zu nahe die Mauer ranfährt. Schauen wir uns es mal an, wie wir so einen Sensor an den Raspberry Pi anschließen. Er hat vier Anschlüsse. Ganz oben ist VCC. Das bedeutet, hier kommt Strom rein. Es ist hier in der Schaltung klassischerweise, immer das rote Kabel. Auf der anderen Seite haben wir Ground, das ist die Erdung oder die Masse, das ist das schwarze Kabel. Und in der Mitte haben wir noch zwei Datenpins trigger und echo, die dafür sorgen, dass das Ultraschallsignal ausgesendet wird und dass das Echo gemessen wird. Diese beiden Datenpins, die sind hier noch mal mit einem Widerstand an den Raspberry Pi angeschlossen. Die sollen einfach dafür sorgen, dass der Sensor keine Überspannung bekommt und Schaden nimmt. Jetzt eingeblendet sehen Sie noch mal genau eine schematische Aufstellung von diesem Aufbau, da sehen Sie noch mal, in welche Pins was, wie genau eingesteckt werden muss. Das war jetzt mal die Hardware-Seite, die ist somit fertig. Und jetzt schauen wir uns auf der Software-Seite mal an, wie wir das Ganze programmieren können. Der Sensor ist angeschlossen. Jetzt muss ich das eigentliche Programm schreiben. Es wird ein python Programm, also öffne ich einfach mal ein Editor nano, dann schreibe ich entfernung.py für python. Und das Programm habe ich schon mal im Zwischenspeicher, mit einem Rechtsklick auf meiner Maus füge ich das hier ein, und wir werden uns gleich das Programm Zeile für Zeile anschauen, aber zunächst einmal möchte ich Ihnen zeigen, wie das Programm arbeitet. Mit ˄o speichere ich das Ganze ab und mit ˄x komme ich wieder zurück auf die Kommandozeile. Und immer dann, wenn ich die GPIO-Pins ansprechen möchte, brauche ich Superuser-Rechte, also schreibe ich sudo python entfernung.py. Und Sie sehen jetzt, je näher ich meine Hand an den Sensor heran bewege, desto kleiner ist die gemessene Distanz. Und wenn ich wieder die Hand weg bewege, dann wird die Entfernung entsprechend größer angezeigt. Mit ˄c kann ich das Ganze abbrechen. Und jetzt schauen wir uns das Programm mal Zeile für Zeile an. Ich bin dazu in die Projekt-Datei gewechselt, da sehen wir das Ganze etwas bequemer. In den ersten beiden Zeilen wird zunächst einmal der python-Interpreter angesprochen, und die Kodierung festgelegt, und dann werden verschiedene Module geladen. Einerseits das Modul time für die Zeit und das Modul GPIO, um eben die Stiftleiste des Raspberrys ansprechen zu können. Dieser Sensor hat ja vier Anschlüsse, ein für die Stromversorgung, ein für die Erde, Ground, und dann eben zwei Anschlüsse. Mit dem einen kann ich steuern, dass der Ultraschallsensor ein Ultraschallimpuls aussendet. Und mit dem anderen kann ich dann das Echo messen. Welche beiden Pins ich hier verwende, das wird hier in diesen beiden Zeilen festgelegt. Dann gehen wir in die Funktion hinein MeasureDistance. Und zunächst einmal setze ich den GPIO-Trigger, in meinem Fall hier die Nummer 18, auf true. Das heißt, ich sende einen Impuls aus und dann warte ich genau 10 Mikrosekunden und dann schalte ich diesen Trigger wieder ab. Also nur einen ganz, ganz kurzen Impuls, der hier gesendet wird. Und dann drücke ich quasi auf meiner virtuellen Stoppuhr auf Start und ich speichere die aktuelle Zeit in der Variablen StartTime. Und das mache ich jetzt so lange, solange mir dieser GPIO-Echopin eine 0 zurückliefert. Und in dem Moment, in dem ich eine 1 habe, also in dem ein Echo gemessen worden ist, da drücke ich auf meiner Stoppuhr auf Stopp und ich messe jetzt, wieviel Uhr ist es denn jetzt gerade in dem Moment, in dem dieses Echo zurückkommt. Und aus dieser Differenz zwischen Startzeit und Stoppzeit, da berechne ich jetzt die Entfernung, indem ich einfach die verstrichene Zeit multipliziere und dann halbiere und aus diesem Wert kann ich jetzt eine Distanz in Zentimetern ableiten. Diese Distanz wird von dieser Funktion zurückgegeben. Und jetzt gehen wir hier in die Hauptfunktion dieses python-Programms Und da sage ich im Endeffekt nur die ganze Zeit, in der über dieses Programm läuft, da soll die Distanz gemessen werden. Und die Distanz soll einfach ausgegeben werden, und zwar soll das Ganze jede Sekunde passieren. Das war's schon im Wesentlichen mit dem Programm. Das heißt, dieser Ultraschallsensor funktioniert so, dass ein Ultraschallsignal ausgesendet wird, und der Raspberry Pi misst selbständig mit seinen Boardmitteln, wie lange dieses Signal unterwegs ist.

Schaltungen mit dem Raspberry Pi

Experimentieren Sie mit dem Raspberry Pi und entdecken Sie viele sinnvolle und spielerische Anwendungen mit dem Einplatinencomputer.

1 Std. 0 min (11 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!