ESP32 C3 Super Mini - Ultraschallsensor

Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 C3 Super Mini mit dem HC-SR04 Ultraschallsensor verwenden, um Entfernungen genau zu messen. Perfekt für Einsteiger, die ihren Arduino-Projekten eine Abstandsmessung hinzufügen möchten!

In diesem Tutorial lernen Sie:

ESP32 C3 Super Mini - Ultraschallsensor

Erforderliche Hardware

1×ESP32 C3 Super Mini
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×Ultraschallsensor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Überblick über Ultrasonic Sensor

Der HC-SR04 ist ein Abstandssensor, der die Entfernung zu Objekten mithilfe von Ultraschallwellen misst.

Wichtige technische Daten und Merkmale:

  • Betriebsspannung: 5V DC
  • Messbereich: 2cm bis 400cm (0,8 Zoll bis 157 Zoll)
  • Genauigkeit: Bis zu 3mm
  • Messwinkel: 15 Grad
  • Trigger-Eingang: 10µS TTL-Impuls
  • Berührungslose Messung: Sicheres Erkennen von Objekten ohne physischen Kontakt
  • Perfekt für Einsteiger: Einfach anzuschließen und mit einfachem Arduino-Code zu programmieren
  • Günstig und zuverlässig: Ideal, um die Grundlagen der Abstandsmessung zu lernen

Pinbelegung des Ultraschallsensors

Der HC-SR04 Ultraschallsensor hat vier Anschlusspins:

  • VCC: Mit der 5V-Stromversorgung verbinden
  • GND: Mit Masse (0V) verbinden
  • TRIG: Empfängt einen Trigger-Impuls vom ESP32 C3 Super Mini, um die Messung zu starten
  • ECHO: Sendet einen Impuls an den ESP32 zurück, dessen Dauer proportional zur gemessenen Entfernung ist
Pinbelegung des Ultraschallsensors
image source: diyables.io

Funktionsweise des Ultraschallsensors

Siehe How Ultrasonic Sensor Work

Schaltplan zwischen Ultraschallsensor und ESP32 C3 Super Mini

So schließen Sie den HC-SR04 Ultraschallsensor an Ihr ESP32 C3 Super Mini Board an:

  • Hinweis: Der HC-SR04 benötigt 5V, die über USB oder eine externe Stromquelle über den Vin-Pin bereitgestellt werden können.
Schaltplan ESP32 C3 Super Mini Ultraschallsensor

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Ultraschallsensor Pin ESP32 C3 Super Mini Pin
VCC 5V
GND GND
TRIG D1
ECHO D10

Wie man den Ultraschallsensor programmiert

Die Programmierung des HC-SR04 Ultraschallsensors mit dem ESP32 C3 Super Mini umfasst drei einfache Schritte:

Schritt 1: Trigger-Impuls senden

  • Erzeugen Sie mit den Funktionen digitalWrite() und delayMicroseconds() einen 10-Mikrosekunden-Impuls am TRIG-Pin
  • Beispiel mit Pin D1:
digitalWrite(D1, HIGH); delayMicroseconds(10); digitalWrite(D1, LOW);

Schritt 2: Dauer des Echo-Impulses messen

  • Lesen Sie die Impulsdauer am ECHO-Pin mit der Funktion pulseIn() aus
  • Die Impulsdauer entspricht der Zeit, die der Schall zum Objekt und zurück benötigt
  • Beispiel mit Pin D10:
duration_us = pulseIn(D10, HIGH);

Schritt 3: Entfernung berechnen

  • Rechnen Sie die Impulsdauer in eine Entfernung in Zentimetern um
  • Formel: Entfernung = 0,017 × Dauer (Schall breitet sich mit ~340 m/s aus, geteilt durch 2 für Hin- und Rückweg)
distance_cm = 0.017 * duration_us;

ESP32 C3 Super Mini Code

Der folgende Code zeigt, wie Sie Entfernungsmessungen vom HC-SR04 Ultraschallsensor auslesen und im Seriellen Monitor anzeigen:

Was dieser Code macht:

  • Initialisiert die TRIG- und ECHO-Pins am ESP32 C3 Super Mini
  • Sendet alle 500 Millisekunden Ultraschallimpulse
  • Misst die Zeit, bis das Echo zurückkommt
  • Berechnet die Entfernung in Zentimetern
  • Zeigt die Entfernungswerte im Seriellen Monitor an
/* * Dieser ESP32 C3 Super Mini Code wurde von newbiely.de entwickelt * Dieser ESP32 C3 Super Mini Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-c3/esp32-c3-super-mini-ultrasonic-sensor */ #define TRIG_PIN 1 // The ESP32 C3 SuperMini pin connected to Ultrasonic Sensor's TRIG pin #define ECHO_PIN 10 // The ESP32 C3 SuperMini pin connected to Ultrasonic Sensor's ECHO pin float duration_us, distance_cm; void setup() { // begin serial port Serial.begin (115200); // Configure the trigger pin to output mode pinMode(TRIG_PIN, OUTPUT); // Configure the echo pin to input mode pinMode(ECHO_PIN, INPUT); } void loop() { // Produce a 10-microsecond pulse to the TRIG pin. digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // Measure the pulse duration from the ECHO pin duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance distance_cm = 0.017 * duration_us; // print the value to Serial Monitor Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); delay(500); }

Schnelle Schritte

  • Neu beim ESP32 C3 Mini? Absolvieren Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Mini, um Ihre Entwicklungsumgebung einzurichten.
  • Arduino IDE installieren: Wenn Sie den ESP32 C3 Super Mini zum ersten Mal verwenden, lesen Sie wie Sie die Umgebung für den ESP32 C3 Super Mini in der Arduino IDE einrichten.
  • Code kopieren: Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  • Board anschließen: Verbinden Sie den ESP32 C3 Super Mini über ein USB-Kabel mit Ihrem Computer.
  • Board und Port auswählen: Wählen Sie in der Arduino IDE das richtige Board und den richtigen COM-Port.
  • Code hochladen: Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf Ihren ESP32 C3 Super Mini hochzuladen.
So laden Sie ESP32 C3 Super Mini Code in der Arduino IDE hoch
  • Seriellen Monitor öffnen: Klicken Sie auf das Symbol des Seriellen Monitors, um die Entfernungswerte anzuzeigen.
So öffnen Sie den Seriellen Monitor in der Arduino IDE
  • Baudrate einstellen: Stellen Sie sicher, dass der Serielle Monitor auf 115200 Baud eingestellt ist.
  • Sensor testen: Bewegen Sie Ihre Hand in verschiedenen Abständen vor dem Ultraschallsensor.
  • Ergebnisse ansehen: Beobachten Sie, wie sich die Entfernungsmessungen im Seriellen Monitor in Echtzeit aktualisieren.
  • Profi-Tipp: Halten Sie Objekte mindestens 2cm vom Sensor entfernt, um genaue Messwerte zu erhalten, und vermeiden Sie weiche Oberflächen wie Stoff, die Schallwellen absorbieren.

Zeilenweise Code-Erklärung

Der obige ESP32 C3 Super Mini Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!

Ausgabe im Seriellen Monitor

Wenn Sie Ihre Hand vor dem HC-SR04 Ultraschallsensor bewegen, sehen Sie Entfernungswerte wie diese:

∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
distance: 19.4 cm distance: 17.6 cm distance: 16.9 cm distance: 14.2 cm distance: 12.8 cm distance: 15.3 cm distance: 18.7 cm distance: 23.5 cm distance: 27.4 cm distance: 26.9 cm distance: 24.3 cm distance: 25.6 cm distance: 23.1 cm distance: 20.8 cm
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

Wie man Störungen aus den Entfernungsmessungen des Ultraschallsensors filtert

Ultraschallsensoren können aufgrund von Umgebungseinflüssen manchmal verrauschte oder uneinheitliche Messwerte liefern.

Siehe How to Filter Noise from Distance Measurements of Ultrasonic Sensor

Warum Filtern wichtig ist:

  • Umgebungseinflüsse (Temperatur, Luftfeuchtigkeit)
  • Oberflächenbeschaffenheit und Winkel des Objekts
  • Elektrisches Rauschen
  • Mehrfachreflexionen an nahen Objekten

Anwendungs- und Projektideen

Hier sind praktische Einsatzmöglichkeiten für den ESP32 C3 Super Mini mit dem HC-SR04 Ultraschallsensor:

  • Einparkhilfe: Bauen Sie ein Abstandswarnsystem für Autos oder das Parken in der Garage
  • Automatischer Mülleimer: Erstellen Sie einen berührungslosen Deckelöffner, der die Nähe einer Hand erkennt
  • Wasserstandsüberwachung: Messen Sie den Wasserstand in Tanks berührungslos
  • Hindernisvermeidender Roboter: Ermöglichen Sie Robotern, Objekte zu erkennen und ihnen auszuweichen
  • Sicherheitsalarm: Lösen Sie Warnungen aus, wenn Objekte einen bestimmten Bereich betreten
  • Höhenmessgerät: Bauen Sie ein digitales Gerät zur Höhenmessung
  • Intelligente Türklingel: Erkennen Sie, wenn sich jemand Ihrer Tür nähert

Video-Tutorial

Sehen Sie sich das folgende Video für eine visuelle Schritt-für-Schritt-Anleitung zu diesem Projekt an.

Fordern Sie sich heraus

Bereit, Ihre Fähigkeiten mit dem Ultraschallsensor auf die nächste Stufe zu bringen? Probieren Sie diese Aufgaben aus:

  • Einfach: Ändern Sie den Code so, dass die Entfernung in Zoll statt in Zentimetern angezeigt wird
  • Einfach: Fügen Sie eine LED hinzu, die leuchtet, wenn sich ein Objekt innerhalb von 10cm befindet
  • Mittel: Erstellen Sie ein abstandsabhängiges Warnsystem mit verschiedenen Pieptonmustern über einen Summer
  • Mittel: Zeigen Sie die Entfernung auf einem LCD-Bildschirm statt im Seriellen Monitor an
  • Fortgeschritten: Bauen Sie ein Array aus mehreren Sensoren, um die Position eines Objekts im 2D-Raum zu erkennen
  • Fortgeschritten: Implementieren Sie einen Medianfilter, um verrauschte Messwerte zu glätten und die Genauigkeit zu verbessern

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!