Himbeer-Pi

So messen Sie die Entfernung mit Raspberry Pi

So messen Sie die Entfernung mit Raspberry Pi
Sie können die Entfernung mit dem Ultraschallsensor HC-SR04 mit Raspberry Pi messen. Der HC-SR04-Sensor kann Entfernungen von 2 mm messen (.02m) bis 400cm (4m). Es sendet 8 Bursts von 40-KHz-Signalen und wartet dann darauf, dass es auf ein Objekt trifft und zurückreflektiert wird. Die Zeit, die die Ultraschallwelle mit 40 KHz benötigt, um sich hin und her zu bewegen, wird verwendet, um den Abstand zwischen dem Sensor und dem Objekt auf ihrem Weg zu berechnen. So funktioniert der HC-SR04 Sensor im Grunde.

In diesem Artikel zeige ich Ihnen, wie Sie mit einem HC-SR04-Ultraschallsensor den Abstand zwischen Ihrem Sensor und einem Objekt auf seinem Weg mit Raspberry Pi messen. Lass uns anfangen.

Komponenten, die Sie benötigen:

Um die Entfernung mit Raspberry Pi und dem HC-SR04-Sensor erfolgreich zu messen, benötigen Sie,

Ich habe einen speziellen Artikel zur Installation von Raspbian auf Raspberry Pi geschrieben, den Sie unter https://linuxhint . nachlesen können.com/install_raspbian_raspberry_pi/ bei Bedarf you.

HC-SR04 Pinbelegung:

Der HC-SR04 hat 4 Pins. VCC, TRIGGER, ECHO, GROUD.

Abb1: HC-SR04 Pinbelegung (https://www.Mäusefänger.com/ds/2/813/HCSR04-1022824.pdf)

Der VCC-Pin sollte mit dem +5V-Pin des Raspberry Pi verbunden werden, der Pin 2 . ist. Der GROUND-Pin sollte mit dem GND-Pin des Raspberry Pi verbunden werden, der Pin 4 . ist.

Die TRIGGER- und ECHO-Pins sollten mit den GPIO-Pins des Raspberry Pi verbunden werden. Während der TRIGGER-Pin direkt mit einem der GPIO-Pins des Raspberry Pi verbunden werden kann, benötigt der ECHO-Pin eine Spannungsteilerschaltung.

Schaltplan:

Verbinden Sie den Ultraschallsensor HC-SR04 wie folgt mit Ihrem Raspberry Pi:

Abb2: Ultraschallsensor HC-SR04 an Raspberry Pi angeschlossen.

Wenn alles verbunden ist, sieht es so aus:

Abb3: HC-SR04 Ultraschallsensor verbunden mit Raspberry Pi auf Steckbrett.

Abb4: HC-SR04 Ultraschallsensor verbunden mit Raspberry Pi auf Steckbrett.

Schreiben eines Python-Programms zum Messen von Entfernungen mit HC-SR04:

Verbinden Sie sich zuerst mit Ihrem Raspberry Pi über VNC oder SSH. Öffnen Sie dann eine neue Datei (sagen wir Entfernung.py) und geben Sie die folgenden Codezeilen ein:

Hier importiert Zeile 1 die Himbeer-Pi-GPIO-Bibliothek.

Zeile 2 importiert die Zeitbibliothek.

Innerhalb der Versuchen Block, der eigentliche Code zum Messen der Entfernung mit HC-SR04 wird geschrieben.

Das schließlich block wird verwendet, um die GPIO-Pins mit . zu bereinigen GPIO.Aufräumen() Methode, wenn das Programm beendet wird.

Innerhalb der Versuchen blockieren, auf Zeile 5, GPIO.setmode (GPIO.TAFEL) wird verwendet, um das Definieren von Pins zu erleichtern. Jetzt können Sie Pins durch physikalische Nummern wie auf der Raspberry Pi-Platine referenzieren.

Auf Linie 7 und 8, pinTrigger ist eingestellt auf 7 und pinEcho ist eingestellt auf 11. Das AUSLÖSEN Pin von HC-SR04 ist mit Pin 7 verbunden und ECHO Pin von HC-SR04 ist mit Pin 11 des Rapsberry Pi . verbunden. Beides sind GPIO-Pins.

Auf Linie 10, pinTrigger ist für OUTPUT eingerichtet mit GPIO.Konfiguration() Methode.

Auf Linie 11, pinEcho ist für INPUT eingerichtet mit GPIO.Konfiguration() Methode.

Die Zeilen 13-17 werden zum Zurücksetzen verwendet pinTrigger (indem Sie es auf logisch 0) setzen und die pinTrigger 10ms auf logisch 1 und dann auf logisch 0. In 10 ms sendet der HC-SR04-Sensor 8 40-KHz-Impulse.

Die Zeilen 19-24 werden verwendet, um die Zeit zu messen, die benötigt wird, bis die 40-KHz-Impulse von einem Objekt und zurück zum HC-SR04-Sensor reflektiert werden.

In Zeile 25 wird der Abstand mit der Formel gemessen,

Distanz = Deltazeit * Geschwindigkeit (340M/S) / 2

=> Distanz = Deltazeit * (170M/S)

Ich habe die Entfernung in Zentimetern statt in Metern berechnet, um genau zu sein. Die von mir berechnete Entfernung wird auch auf 2 Nachkommastellen gerundet.

Schließlich wird in Zeile 27 das Ergebnis ausgegeben. Das ist es, ganz einfach.

Führen Sie nun das Python-Skript mit dem folgenden Befehl aus:

$ Python3-Distanz3.py

Wie Sie sehen können, beträgt die gemessene Entfernung 8.40 cm.

Abb.5: Objekt bei ca. 8 . platziert.40cm vom Sensor entfernt.

Ich habe mich etwas weiter zum Objekt bewegt, der gemessene Abstand beträgt 21.81cm. Es funktioniert also wie erwartet.

Abb.6: Objekt bei ca. 21 . platziert.81 cm vom Sensor entfernt.

So messen Sie mit dem Raspberry Pi mit dem Ultraschallsensor HC-SR04 Entfernungen.  Siehe den Code für die Entfernung.py unten:

RPi importieren.GPIO als GPIO
Importzeit
Versuchen:
GPIO.setmode (GPIO.TAFEL)
pinTrigger = 7
pinEcho = 11
 
GPIO.setup(pinTrigger, GPIO.AUS)
GPIO.setup(pinEcho, GPIO.IM)
 
GPIO.Ausgang (pinTrigger, GPIO.NIEDRIG)
GPIO.Ausgang (pinTrigger, GPIO.HOCH)
 
Zeit.schlafen(0.00001)
GPIO.Ausgang (pinTrigger, GPIO.NIEDRIG)
 
während GPIO.Eingang(pinEcho)==0:
pulseStartTime = Zeit.Zeit()
während GPIO.Eingang(pinEcho)==1:
pulseEndTime = Zeit.Zeit()
 
pulseDuration = pulseEndTime - pulseStartTime
Distanz = Runde(pulseDuration * 17150, 2)
 
print("Abstand: %.2f cm" % (Entfernung))
schließlich:
GPIO.Aufräumen()
So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...
Beste Spiele zum Spielen mit Handtracking
Oculus Quest hat kürzlich die großartige Idee des Hand-Trackings ohne Controller vorgestellt. Mit einer ständig steigenden Anzahl von Spielen und Akti...
So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...