Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
Lektion 23: Ultraschallsensor-Modul (HC-SR04)
In dieser Lektion lernen Sie, wie Sie mit einem Ultraschallsensor und Arduino Entfernungen messen. Wir werden den HC-SR04-Sensor mit dem Arduino Uno R4 Board verbinden und damit Entfernungen in Zentimetern berechnen und anzeigen. Dieses Projekt ist ideal für Anfänger und bietet praktische Erfahrungen mit der seriellen Kommunikation von Arduino und der Verarbeitung von Sensordaten. Sie erhalten wertvolle Einblicke in die Arbeit mit digitalen Signalen und das grundlegende Verständnis der Ultraschallmesstechnik.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein komplettes Kit zu kaufen. Hier ist der Link:
Name |
ITEMS IN THIS KIT |
LINK |
|---|---|---|
Universal Maker Sensor Kit |
94 |
Sie können sie auch separat über die folgenden Links kaufen.
Component Introduction |
Purchase Link |
|---|---|
Arduino UNO R3 or R4 |
|
Verkabelung
Code
Code-Analyse
Pindeklaration:
Beginnen Sie mit der Definition der Pins für den Ultraschallsensor.
echoPinundtrigPinwerden als Integer deklariert und ihre Werte entsprechend der physischen Verbindung auf dem Arduino-Board festgelegt.const int echoPin = 3; const int trigPin = 4;
setup()-Funktion:Die
setup()-Funktion initialisiert die serielle Kommunikation, legt die Pin-Modi fest und druckt eine Nachricht, um anzuzeigen, dass der Ultraschallsensor bereit ist.void setup() { Serial.begin(9600); pinMode(echoPin, INPUT); pinMode(trigPin, OUTPUT); Serial.println("Ultrasonic sensor:"); }
loop()-Funktion:Die
loop()-Funktion liest den Abstand vom Sensor und druckt ihn auf den seriellen Monitor, dann verzögert sie für 400 Millisekunden, bevor sie den Vorgang wiederholt.void loop() { float distance = readDistance(); Serial.print(distance); Serial.println(" cm"); delay(400); }
readDistance()-Funktion:Die
readDistance()-Funktion löst den Ultraschallsensor aus und berechnet den Abstand basierend auf der Zeit, die das Signal benötigt, um zurückzukommen.
Weitere Einzelheiten finden Sie im Funktionsprinzip des Ultraschallsensormoduls unter principle.
float readDistance() { digitalWrite(trigPin, LOW); // Set trig pin to low to ensure a clean pulse delayMicroseconds(2); // Delay for 2 microseconds digitalWrite(trigPin, HIGH); // Send a 10 microsecond pulse by setting trig pin to high delayMicroseconds(10); digitalWrite(trigPin, LOW); // Set trig pin back to low float distance = pulseIn(echoPin, HIGH) / 58.00; // Formula: (340m/s * 1us) / 2 return distance; }