6.1 - Abstandsmessung¶
Das Ultraschall-Sensormodul arbeitet nach dem Prinzip von Sonar- und Radarsystemen, um den Abstand zu einem Objekt zu ermitteln.
Benötigte Bauteile
Für dieses Projekt benötigen wir die folgenden Komponenten.
Ein Komplettset ist definitiv praktisch, hier der Link dazu:
Bezeichnung |
INHALT DES KITS |
KAUF-LINK |
---|---|---|
Kepler Kit |
450+ |
Die Komponenten können auch einzeln über die untenstehenden Links erworben werden.
SN |
KOMPONENTENBESCHREIBUNG |
ANZAHL |
KAUF-LINK |
---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1 |
Schaltplan
Verkabelung
Code
Bemerkung
Die Datei
6.1_ultrasonic.ino
finden Sie unter dem Pfadkepler-kit-main/arduino/6.1_ultrasonic
.Alternativ können Sie den Code in die Arduino IDE kopieren.
Vergessen Sie nicht, das Board (Raspberry Pi Pico) und den richtigen Port auszuwählen, bevor Sie auf Hochladen klicken.
Sobald das Programm läuft, wird die serielle Monitoranzeige den Abstand des Ultraschallsensors zum vorausliegenden Hindernis ausgeben.
Wie funktioniert es?
Für die Anwendung des Ultraschallsensors können wir direkt die Unterfunktion überprüfen.
float readSensorData(){// ...}
Ein PING
wird durch einen HIGH-Puls von 2 oder mehr Mikrosekunden ausgelöst. (Geben Sie vorher einen kurzen LOW
-Puls aus, um einen sauberen HIGH
-Puls zu gewährleisten.)
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
Der Echo-Pin wird verwendet, um das Signal von PING zu lesen, ein HIGH
-Puls, dessen Dauer die Zeit (in Mikrosekunden) von der Aussendung des Pings bis zum Empfang des Echos des Objekts ist.
microsecond = pulseIn(echoPin, HIGH);
Die Schallgeschwindigkeit beträgt 340 m/s oder 29 Mikrosekunden pro Zentimeter.
Dies gibt die vom Ping zurückgelegte Strecke an, hin und zurück, also teilen wir durch 2, um den Abstand des Hindernisses zu erhalten.
float distance = microsecond / 29.00 / 2;
Beachten Sie, dass der Ultraschallsensor das Programm pausiert, während er arbeitet, was bei komplexen Projekten zu Verzögerungen führen kann.