Messabstand mit eSptop 10 unter Verwendung von Arduino IDE

Messabstand mit eSptop 10 unter Verwendung von Arduino IDE

ESP32 ist ein häufig verwendetes IoT -Board auf Mikrocontroller -basierten IoT. Es handelt sich um eine kostengünstige und niedrige Mikrocontroller -Platte, die mehrere Geräte steuern und auch als Sklave in einem IoT -Projekt fungieren kann. ESP32 verbessert die Erfahrung der Benutzer mit der IoT-Welt, da sie Wi-Fi- und Bluetooth-Module integriert hat.

Da wir über drahtlose Anwendungen von ESP32 sprechen. Lassen Sie uns nun darüber sprechen, wie dies im Detail geht.

ESP32 mit HC-SR04 Ultraschallsensor

ESP32 kann leicht in einen Ultraschallsensor integriert werden. Wir brauchen nur zwei Drähte, um eine Objektabstand zu messen, ohne dass ein Herrscher oder ein Maßband erforderlich ist. Es hat eine große Anwendung, bei der es schwierig ist, andere Mittel zur Messung der Entfernung zu verwenden. Mehrere Sensoren sind verfügbar, die in ESP32 integriert werden können.

HC-SR04 ist ein weit verbreiteter Ultraschallsensor mit ESP32. Dieser Sensor bestimmt, wie weit ein Objekt ist. Es verwendet Sonar, um die Objektabstand zu bestimmen. Normalerweise hat es eine gute Erkennungsbranche mit Genauigkeit von 3 mm. Es verfügt über einen eingebauten Sender und Empfänger. Die folgende Tabelle beschreibt die technischen Spezifikationen dieses Sensors.

Eigenschaften Wert
Betriebsspannung 5 V DC
Betriebsstrom 15 mA
Arbeitsfrequenz 40 kHz
Min 2 cm/ 1 Zoll
Maximale Reichweite 400 cm/ 13 Fuß
Genauigkeit 3 mm
Messwinkel <15 degree

HC-SR04 Pinout

Der Ultraschallsensor HC-SR04 hat vier Stifte:

  • VCC: Schließen Sie diesen Pin mit ESP32 Vin Pin an
  • GND: Schließen Sie diesen PIN mit ESP32 GND an
  • Trig: Dieser Pin empfängt das Steuersignal von ESP32 Digital Pin
  • Echo: Dieser Pin sendet einen Impuls oder ein Signal an ESP32 zurück. Das empfangene Impulssignal wird gemessen, um den Abstand zu berechnen.

Wie Ultraschall funktioniert

Sobald der Ultraschallsensor mit ESP32 verbunden ist, erzeugt der Mikrocontroller einen Signalimpuls auf der Trig Stift. Nachdem Sensoren eine Eingabe am Trig -Pin erhalten haben, wird automatisch eine Ultraschallwelle erzeugt. Diese emittierte Welle trifft die Oberfläche eines Hindernis oder eines Objekts, dessen Abstand wir messen müssen. Danach springt die Ultraschallwelle zum Empfängerterminal des Sensors zurück.

Der Ultraschallsensor erfasst die reflektierte Welle und berechnet die Gesamtzeit, die von der Welle vom Sensor zum Objekt und zurück zum Sensor zurückzuführen ist. Der Ultraschallsensor erzeugt einen Signalimpul Entfernungsformel.

Hier haben wir den Abstand mit 2 geteilt, weil die Multiplizierung der Geschwindigkeit mit der Zeit den Gesamtabstand von Objekt zum Sensor und zurück zum Sensor ergibt, nachdem sie von der Objektoberfläche reflektiert werden. Um eine echte Entfernung zu bekommen, teilen wir diese Entfernung in die Hälfte ein.

Schaltkreis

Schnittstelle ESP32 mit Ultraschallsensor unter Verwendung der vier Stifte wie in Bild unten gezeigt:

Die folgende Konfiguration wird zum Anschließen von ESP32 mit Ultraschallsensor befolgt. Trig- und Echo -Stifte werden am GPIO 5 und 18 Pins von ESP32 angeschlossen sein.

HC-SR04 Ultraschallsensor ESP32 PIN
Trig GPIO 5
Echo GPIO 18
GND GND
VCC Vin

Hardware

Für die Schnittstellen von ESP32 mit Ultraschallsensor folgt die Ausrüstung für die Ausrüstung:

  • ESP32
  • HC-SR04
  • Brotbrett
  • Jumperdrähte

Code in Arduino IDE

Um ESP32 zu programmieren. Öffnen Sie Arduino IDE und geben Sie den folgenden Code ein:

const int trig_pin = 5;
const int echo_pin = 18;
#define Sound_Speed ​​0.034/*Definieren Sie die Schallgeschwindigkeit in cm/us*/
lange Dauer;
float dist_cm;
void setup ()
Serie.Beginnen Sie (115200); /* Serielle Kommunikation beginnt*/
PinMode (trig_pin, Ausgabe); /* Trigger -Pin 5 wird als Ausgabe eingestellt*/
PinMode (echo_pin, Eingabe); /* Echopin 18 wird als Eingabe eingestellt*/

void Loop ()
DigitalWrite (trig_pin, niedrig); /* Triggerstift wird gelöscht*/
DelayMicrosekunden (2);
DigitalWrite (trig_pin, hoch); /*Triggerstift ist für 10 Mikrosekunden hoch eingestellt*/
DelayMicrosekunden (10);
DigitalWrite (trig_pin, niedrig);
Dauer = Pulsein (echo_pin, hoch);/*liest das Echopin und gibt die Reisezeit in Mikrosekunden*/zurück
dist_cm = duration * Sound_speed/2; /*Entfernungsberechnung Formel*/
Serie.print ("Objektabstand in (cm):"); /*Druckt den Abstand im seriellen Monitor*/
Serie.println (dist_cm);
Verzögerung (1000);

Oben Code erklärt die Arbeit des Ultraschallsensors mit ESP32 -Modul. Hier haben wir unseren Code gestartet, indem wir Trigger und Echo -Stifte definiert haben. Pin 5 und Pin 18 von ESP32 werden als Trigger- und Echo -Pin eingestellt.

const int trig_pin = 5;
const int echo_pin = 18;

Schallgeschwindigkeit ist definiert als 0.034 cm/uns bei 20ºC. Wir nehmen Werte in CM/USA für mehr Präzision ein.

#define Sound_Speed ​​0.034

Dann initialisieren wir zwei Variablen Dauer Und Dist_cm folgendermaßen

lange Dauer;
float dist_cm;

Die Dauervariable spart Ultraschallwellenreisezeit. DIST_CM speichert den gemessenen Abstand.

Im aufstellen() Teil initialisierte Kommunikation durch Definition der Baud -Rate. Zwei zuvor definierte Stifte werden nun als Eingang und Ausgabe deklariert. Stift auslösen 5 wird als Ausgabe während des Echo -Pin eingestellt 18 wird als Eingabe eingestellt.

Serie.Beginnen Sie (115200);
PinMode (trig_pin, Ausgabe);
PinMode (echo_pin, Eingabe);

Im Schleife() Zuerst ein Teil des Code. Der Grund, warum wir dies tun, besteht darin, die korrekte Lektüre bei der Messung der Entfernung zu gewährleisten. Es gibt uns einen sauberen hohen Impuls.

DigitalWrite (trig_pin, niedrig); /* Triggerstift wird gelöscht*/
DelayMicrosekunden (2);
DigitalWrite (trig_pin, hoch); /*Triggerstift ist für 10 Mikrosekunden hoch eingestellt*/
DelayMicrosekunden (10);
DigitalWrite (trig_pin, niedrig);

Als nächstes mit Pulsein Funktion Wir werden die Zeit für die Klangwellenreise lesen. Pulsein Funktion liest einen Eingang so hoch oder niedrig. Es gibt die Impulslänge in Mikrosekunden mit dieser Impulslänge zurück. Wir können die Gesamtzeit, die von der Welle vom Sensor zum Objektkörper und zurück zum Empfangsende des Sensors erfolgt, berechnen.

Dauer = Pulsein (echo_pin, hoch);

Mit der Geschwindigkeitsformel berechneten wir den Gesamtabstand des Objekts:

dist_cm = duration * Sound_speed/2;

Das von einem Objekt gemessene Abstand wird auf dem seriellen Monitor gedruckt:

Serie.print ("Objektabstand in (cm):");
Serie.println (dist_cm);

Wenn das Objekt in der Nähe ist

Platzieren Sie nun ein Objekt in der Nähe des Ultraschallsensors und überprüfen Sie den gemessenen Abstand im seriellen Monitorfenster der Arduino -IDE.

Ausgang

Die Objektabstand wird in der Ausgangsklemme gezeigt. Jetzt wird das Objekt 5 cm vom Ultraschallsensor entfernt platziert.

Wenn das Objekt weit ist

Um unser Ergebnis nun zu überprüfen. Platzieren Sie Objekte wie in Bild unten gezeigt:

Ausgang

Das Ausgangsfenster gibt uns einen neuen Abstand und wie wir sehen können, dass das Objekt weit vom Sensor entfernt ist, liegt der gemessene Abstand 15 cm vom Ultraschallsensor entfernt.

Abschluss

Die Messentfernung hat eine großartige Anwendung in Bezug. Hier wird in dieser Beschreibung alle Schritte behandelt, die Sie benötigen, um Sensoren mit ESP32 zu integrieren und zu messen.