Bemerkung
Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Vertiefen Sie sich in Raspberry Pi, Arduino und ESP32 zusammen mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Probleme nach dem Verkauf und technische Herausforderungen mit Hilfe unserer Community und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezielle Rabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Promotionen und Giveaways: Nehmen Sie an Verlosungen und Feiertagsaktionen teil.
👉 Bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
6.1 Messung von Entfernungen mit einem Ultraschallsensor
In dieser Lektion lernen wir, wie man einen Ultraschallsensormodul mit dem Raspberry Pi Pico 2 verwendet, um die Entfernung zu einem Objekt zu messen. Ultraschallsensoren werden häufig in Robotik und Automatisierungssystemen zur Objekterkennung und Entfernungsmessung eingesetzt.
Was Sie benötigen
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
ARTIKEL IN DIESEM KIT |
LINK |
|---|---|---|
Newton Lab Kit |
450+ |
Sie können sie auch einzeln über die unten stehenden Links kaufen.
SN |
KOMPONENTE |
MENGE |
LINK |
|---|---|---|---|
1 |
1 |
||
2 |
Micro USB Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
1 |
Verständnis des Ultraschallsensors
Der Ultraschallsensor funktioniert, indem er einen kurzen Ultraschallimpuls vom Trig-Pin aussendet und das Echo am Echo-Pin hört. Indem die Zeit gemessen wird, die das Echo zur Rückkehr benötigt, können wir die Entfernung zu einem Objekt unter Verwendung der Schallgeschwindigkeit berechnen.

Triggerimpuls: Ein 10-Mikrosekunden-Hochimpuls am Trig-Pin startet die Messung.
Ultraschallburst: Der Sensor sendet einen 8-Zyklen-Ultraschallburst bei 40 kHz aus.
Echoempfang: Der Echo-Pin wird hochgeschaltet und bleibt hoch, bis das Echo zurückempfangen wird.
Zeitmessung: Durch Messung der Zeit, die der Echo-Pin hoch bleibt, können wir die Entfernung berechnen.
Schaltplan

Verdrahtungsplan

Schreiben des Codes
Wir werden ein Programm schreiben, das den Ultraschallsensor auslöst, die Echozeit misst und die Entfernung zu einem Objekt berechnet. Die Entfernung wird auf dem Seriellen Monitor ausgegeben.
Bemerkung
Sie können die Datei
6.1_ultrasonic.inoausnewton-lab-kit/arduino/6.1_ultrasonicöffnen.Oder kopieren Sie diesen Code in Arduino IDE.
Wählen Sie das Raspberry Pi Pico 2 Board und den richtigen Port, dann klicken Sie auf „Upload“.
// Define the connection pins
const int trigPin = 17; // GPIO 17 -> Trig
const int echoPin = 16; // GPIO 16 -> Echo
void setup() {
// Initialize serial communication at 115200 baud
Serial.begin(115200);
// Initialize the sensor pins
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
long duration;
float distance;
// Trigger the sensor by setting Trig HIGH for 10 microseconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Read the Echo pin, returns the duration in microseconds
duration = pulseIn(echoPin, HIGH);
// Calculate the distance in centimeters
distance = duration * 0.034 / 2;
// Print the distance to the Serial Monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500); // Wait for half a second before the next measurement
}
Nach dem Hochladen des Codes sollte der Serielle Monitor die Entfernungsmessungen in Zentimetern anzeigen.
Entfernung: 25.3 cm
Entfernung: 24.8 cm
Entfernung: 24.5 cm
Platzieren Sie ein Objekt in unterschiedlichen Entfernungen vom Sensor. Bewegen Sie das Objekt näher und weiter, um Änderungen in den Entfernungsmessungen zu beobachten.
Verständnis des Codes
Definition der Anschlusspins:
trigPin: Sendet den Ultraschallimpuls.echoPin: Empfängt das Echo des Ultraschallimpulses.
const int trigPin = 17; // GPIO 17 -> Trig const int echoPin = 16; // GPIO 16 -> Echo
Setup-Funktion:
Serielle Kommunikation: Ermöglicht die Kommunikation zwischen dem Pico und dem Computer für Debugging.
Pinmodi: Setzt den
Trig-Pin alsOUTPUTund denEcho-Pin alsINPUT.
void setup() { // Initialize serial communication at 115200 baud Serial.begin(115200); // Initialize the sensor pins pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); }
Loop-Funktion:
Sensor auslösen: Setzt den
Trig-Pin für 10 Mikrosekunden aufHIGH, um den Ultraschallimpuls zu senden. Setzt denTrig-Pin aufLOW, um den Impuls zu beenden.digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW);
Echo lesen: Misst die Dauer (in Mikrosekunden), die der
Echo-Pin aufHIGHbleibt, was die Zeit für die Rückkehr des Echos anzeigt.duration = pulseIn(echoPin, HIGH);
Entfernung berechnen: Wandelt die Zeit in Entfernung (cm/Mikrosekunde) um. Teilt durch 2, um den Hin- und Rückweg des Impulses zu berücksichtigen.
distance = duration * 0.034 / 2;
Serienausgabe: Gibt die berechnete Entfernung auf dem Seriellen Monitor zur Echtzeitüberwachung aus.
Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm");
Verzögerung: Fügt eine Verzögerung von 500 Millisekunden hinzu, um das Überfluten des Seriellen Monitors zu verhindern und Zeit zwischen den Messungen zu lassen.
Fehlersuche
Keine Anzeigen:
Stellen Sie sicher, dass die Trig- und Echo-Pins korrekt verbunden sind.
Überprüfen Sie, ob der Sensor mit Strom versorgt wird (VCC- und GND-Anschlüsse).
Stellen Sie sicher, dass der Serielle Monitor auf die richtige Baudrate eingestellt ist.
Falsche Messungen:
Stellen Sie sicher, dass die Berechnungen im Code korrekt sind.
Überprüfen Sie, ob die Schallgeschwindigkeitskonstante (0.034) für Ihre Umgebung geeignet ist (Feuchtigkeit und Temperatur können die Schallgeschwindigkeit beeinflussen).
Sensorinterferenzen:
Stellen Sie sicher, dass keine Hindernisse oder reflektierende Oberflächen vorhanden sind, die die Ultraschallimpulse stören könnten.
Platzieren Sie den Sensor nicht in der Nähe anderer Ultraschallgeräte, die falsche Messungen verursachen könnten.
Weiterführende Untersuchungen
Integration mit LEDs oder Displays:
Verwenden Sie mehrere LEDs, um einen visuellen Entfernungsindikator zu erstellen.
Integrieren Sie ein 7-Segment- oder LCD-Display, um die Entfernung numerisch anzuzeigen.
Erstellen eines Näherungsalarm-Systems:
Legen Sie Schwellenwerte fest, um Alarme auszulösen (z. B. Soundalarme, wenn Objekte zu nah kommen).
Bau eines einfachen hindernisvermeidenden Roboters:
Verwenden Sie den Ultraschallsensor, um Hindernisse zu erkennen und sie zu umfahren.
Fazit
In dieser Lektion haben Sie gelernt, wie man einen Ultraschallsensormodul mit dem Raspberry Pi Pico verwendet, um die Entfernung zu einem Objekt zu messen. Indem Sie Ultraschallimpulse auslösen und die Echozeit messen, können Sie die Entfernung naher Objekte genau bestimmen. Dieses Projekt dient als Grundlage für komplexere Anwendungen in Robotik, Automatisierung und interaktiven Systemen.