In diesem Projekt werden wir das Ultraschallsensormodul HC-SR04 an Raspberry Pi anschließen, um die Entfernung zu messen. Wir haben zuvor einen Ultraschallsensor mit Raspberry Pi verwendet, um einen Roboter zur Vermeidung von Hindernissen zu bauen. Bevor Sie fortfahren, informieren Sie sich über den Ultraschallsensor.
Ultraschallsensor HC-SR04:
Mit dem Ultraschallsensor wird der Abstand mit hoher Genauigkeit und stabilen Messwerten gemessen. Es kann Entfernungen von 2 cm bis 400 cm oder von 1 Zoll bis 13 Fuß messen. Es sendet eine Ultraschallwelle mit einer Frequenz von 40 kHz in der Luft aus. Wenn das Objekt in die Quere kommt, springt es zurück zum Sensor. Indem Sie die Zeit verwenden, die benötigt wird, um das Objekt zu treffen und zurück zu kommen, können Sie die Entfernung berechnen.
Der Ultraschallsensor verwendet eine Technik namens "ECHO". "ECHO" ist einfach eine reflektierte Schallwelle. Sie haben ein ECHO, wenn der Ton nach Erreichen einer Sackgasse wieder reflektiert wird.
Das HCSR04-Modul erzeugt eine Schallschwingung im Ultraschallbereich, wenn wir den 'Trigger'-Pin für etwa 10 us hoch stellen, wodurch ein Schallstoß von 8 Zyklen mit Schallgeschwindigkeit gesendet wird und nach dem Auftreffen auf das Objekt vom Echo-Pin empfangen wird. Abhängig von der Zeit, die die Schallvibration benötigt, um zurück zu kommen, liefert sie eine geeignete Impulsausgabe. Wenn das Objekt weit entfernt ist, dauert es länger, bis ECHO gehört wird, und die Ausgangsimpulsbreite ist groß. Und wenn sich das Hindernis in der Nähe befindet, ist der ECHO schneller zu hören und die Ausgangsimpulsbreite ist kleiner.
Wir können die Entfernung des Objekts basierend auf der Zeit berechnen, die die Ultraschallwelle benötigt, um zum Sensor zurückzukehren. Da die Zeit und Geschwindigkeit des Schalls bekannt sind, können wir die Entfernung nach den folgenden Formeln berechnen.
- Entfernung = (Zeit x Schallgeschwindigkeit in Luft (343 m / s)) / 2.
Der Wert wird durch zwei geteilt, da sich die Welle über dieselbe Strecke vorwärts und rückwärts bewegt. Die Zeit zum Erreichen des Hindernisses beträgt also nur die Hälfte der Gesamtzeit
Abstand in Zentimeter = 17150 * T.
Wir haben zuvor viele nützliche Projekte mit diesem Ultraschallsensor und Arduino durchgeführt. Überprüfen Sie diese unten:
- Arduino-basierte Entfernungsmessung mit Ultraschallsensor
- Türalarm mit Arduino und Ultraschallsensor
- IOT-basierte Müllcontainerüberwachung mit Arduino
Erforderliche Komponenten:
Hier verwenden wir Raspberry Pi 2 Model B mit Raspbian Jessie OS. Alle grundlegenden Hardware- und Softwareanforderungen wurden bereits erläutert. Sie können sie in der Einführung zu Raspberry Pi und zum Blinken der Raspberry PI-LED nachschlagen, um loszulegen.
- Raspberry Pi mit vorinstalliertem Betriebssystem
- Ultraschallsensor HC-SR04
- Stromversorgung (5V)
- 1KΩ Widerstand (3 Stück)
- 1000uF Kondensator
- 16 * 2 Zeichen LCD
Schaltungserklärung:
Die Verbindungen zwischen Raspberry Pi und LCD sind in der folgenden Tabelle aufgeführt:
LCD-Verbindung |
Himbeer-Pi-Verbindung |
GND |
GND |
VCC |
+ 5V |
VEE |
GND |
RS |
GPIO17 |
R / W. |
GND |
DE |
GPIO27 |
D0 |
GPIO24 |
D1 |
GPIO23 |
D2 |
GPIO18 |
D3 |
GPIO26 |
D4 |
GPIO5 |
D5 |
GPIO6 |
D6 |
GPIO13 |
D7 |
GPIO19 |
In dieser Schaltung haben wir 8-Bit-Kommunikation (D0-D7) verwendet, um LCD mit Raspberry Pi zu verbinden. Dies ist jedoch nicht obligatorisch. Wir können auch 4-Bit-Kommunikation (D4-D7) verwenden, aber mit 4-Bit-Kommunikationsprogramm wird ein Bit Komplex für Anfänger, also einfach mit 8-Bit-Kommunikation. Hier haben wir 10 Pins LCD an Raspberry Pi angeschlossen, wobei 8 Pins Datenpins und 2 Pins Steuerpins sind.
Unten sehen Sie den Schaltplan für die Verbindung von HC-SR04-Sensor und LCD mit Raspberry Pi zur Messung der Entfernung.
Wie in der Abbildung gezeigt, verfügt der Ultraschallsensor HC-SR04 über vier Stifte.
- PIN1-VCC oder + 5V
- PIN2-TRIGGER (10us Hoher Impuls, der den Sensor anweist, die Entfernung zu erfassen)
- PIN3-ECHO (Bietet eine Impulsausgabe, deren Breite die Entfernung nach dem Trigger darstellt.)
- PIN4-BODEN
Der Echo-Pin liefert einen + 5V-Ausgangsimpuls, der nicht direkt an Raspberry Pi angeschlossen werden kann. Wir werden also die Spannungsteilerschaltung (gebaut mit R1 und R2) verwenden, um + 3,3 V Logik anstelle von + 5 V Logik zu erhalten.
Arbeitserklärung:
Die vollständige Arbeit von Raspberry Pi Distance Measure geht wie folgt:
1. Auslösen des Sensors durch Hochziehen des Auslösestifts für 10 us.
2. Der Sensor sendet eine Schallwelle. Nach Erhalt des ECHO liefert das Sensormodul einen zur Entfernung proportionalen Ausgang.
3. Wir zeichnen die Zeit auf, zu der der Ausgangsimpuls von LOW nach HIGH wechselt und wann er erneut von HIGH nach LOW geht.
4. Wir haben Start- und Stoppzeit. Wir werden die Entfernungsgleichung verwenden, um die Entfernung zu berechnen.
5. Die Entfernung wird im 16x2 LCD-Display angezeigt.
Dementsprechend haben wir das Python-Programm für Raspberry Pi geschrieben, um die folgenden Funktionen auszuführen:
1. Trigger an Sensor senden
2. Notieren Sie die Start- und Stoppzeit des vom Sensor ausgegebenen Impulses.
3. Berechnen Sie die Entfernung mithilfe von START und STOP.
4. Anzeigen des auf dem 16 * 2-LCD erhaltenen Ergebnisses.
Das vollständige Programm und das Demo-Video finden Sie unten. Das Programm wird durch die Kommentare gut erklärt. Wenn Sie Zweifel haben, können Sie dies im Kommentarbereich unten erfragen.