Distance de mesure avec Esptop 10 en utilisant Arduino IDE

Distance de mesure avec Esptop 10 en utilisant Arduino IDE

ESP32 est une carte IoT basée sur un microcontrôleur couramment utilisée. Il s'agit d'une carte de microcontrôleur à faible coût et à faible puissance qui peut contrôler plusieurs appareils et peut également agir comme esclave dans un projets IoT. ESP32 améliore l'expérience des utilisateurs avec le monde IoT car il a intégré les modules Wi-Fi et Bluetooth.

Comme nous parlons des applications sans fil d'ESP32, nous pouvons également intégrer des capteurs externes pour effectuer différentes tâches telles que la mesure de la distance d'objets à l'aide de capteurs à ultrasons. Maintenant, parlons de la façon de faire cela en détail.

ESP32 avec capteur à ultrasons HC-SR04

ESP32 peut être facilement intégré à un capteur à ultrasons. Nous avons juste besoin de deux fils pour mesurer une distance d'objet sans avoir besoin d'une règle ou d'une bande de mesure. Il a une vaste application où il est difficile d'utiliser d'autres moyens pour mesurer la distance. Plusieurs capteurs sont disponibles qui peuvent être intégrés à ESP32.

HC-SR04 est un capteur à ultrasons largement utilisé avec ESP32. Ce capteur détermine à quelle distance est un objet. Il utilise le sonar pour déterminer la distance de l'objet. Normalement, il a une bonne gamme de détection avec une précision de 3 mm, mais il est parfois difficile de mesurer la distance des matériaux doux comme le tissu. Il a un émetteur et un récepteur intégrés. Le tableau suivant décrit les spécifications techniques de ce capteur.

Caractéristiques Valeur
Tension de fonctionnement 5V DC
Courant de fonctionnement 15m
Fréquence de fonctionnement 40 kHz
Gamme min 2 cm / 1 pouce
Gamme maximale 400 cm / 13 pieds
Précision 3 mm
Angle de mesure <15 degree

Pinout HC-SR04

Le capteur à ultrasons HC-SR04 a quatre épingles:

  • VCC: Connectez cette broche à la broche VIN ESP32
  • GND: Connectez cette broche avec ESP32 GND
  • Trigonométrie: Cette broche reçoit le signal de contrôle de la broche numérique ESP32
  • Écho: Cette broche renvoie une impulsion ou un signal à ESP32. Le signal d'impulsion arrière reçue est mesuré pour calculer la distance.

Comment fonctionne Ultrasonic

Une fois le capteur à ultrasons connecté à ESP32, le microcontrôleur générera une impulsion de signal sur le Trigonométrie broche. Après que les capteurs reçoivent une entrée à la broche de trig, une onde ultrasonique est automatiquement générée. Cette vague émise frappera la surface d'un obstacle ou d'un objet dont nous devons mesurer la distance. Après cela, l'onde à ultrasons rebondira à la borne du récepteur du capteur.

Le capteur à ultrasons détectera l'onde réfléchie et calculera le temps total pris par l'onde du capteur à l'objet et de retour au capteur. Le capteur à ultrasons générera une impulsion de signal à la broche d'écho qui est connectée aux broches numériques ESP32 une fois que l'ESP32 reçoit le signal de la broche d'écho, il calcule la distance totale entre l'objet et le capteur en utilisant Formule de distance.

Ici, nous avons divisé la distance avec 2 car la vitesse de multiplication avec le temps donnera la distance totale de l'objet au capteur et du dos au capteur après avoir réfléchi à la surface de l'objet. Pour obtenir une vraie distance, nous divinsons cette distance en moitié.

Circuit

Interface ESP32 avec capteur à ultrasons utilisant les quatre broches comme indiqué dans l'image ci-dessous:

La configuration suivante sera suivie pour connecter ESP32 avec un capteur à ultrasons. Les épingles de trig et d'écho seront connectées aux broches GPIO 5 et 18 de l'ESP32.

Capteur à ultrasons HC-SR04 Broche ESP32
Trigonométrie GPIO 5
Écho GPIO 18
GND GND
VCC Vin

Matériel

Pour l'interfaçage ESP32 avec un capteur à ultrasons, un équipement suivant est requis:

  • ESP32
  • HC-SR04
  • Planche à pain
  • Fils de cavalier

Code dans Arduino IDE

Pour programmer ESP32, nous utiliserons Arduino IDE, car ESP32 et Arduino ont beaucoup en commun dans la programmation, il est donc préférable d'utiliser le même logiciel pour les programmer. Open Arduino IDE et saisissez le code suivant:

const int trig_pin = 5;
const int echo_pin = 18;
#Define Sound_Speed ​​0.034 / * Définir la vitesse du son dans CM / US * /
longue durée;
float dist_cm;
void setup()
En série.commencer (115200); / * Communication série commence * /
pinMode (Trig_pin, sortie); / * La broche de déclenchement 5 est définie comme une sortie * /
pinMode (echo_pin, entrée); / * Echopin 18 est défini comme une entrée * /

VOID LOOP ()
DigitalWrite (TRIG_PIN, LOW); / * la broche de déclenchement est effacée * /
DelayMicrosecondes (2);
DigitalWrite (TRIG_PIN, HIGH); / * La broche de déclenchement est réglée haut pour 10 microsecondes * /
DelayMicrosecondes (10);
DigitalWrite (TRIG_PIN, LOW);
durée = pulsein (echo_pin, high); / * lit l'Echopin et renvoie le temps de trajet en microsecondes * /
dist_cm = durée * Sound_Speed ​​/ 2; / * formule de calcul de distance * /
En série.print ("Distance d'objet en (cm):"); / * Imprime la distance dans le moniteur en série * /
En série.println (dist_cm);
retard (1000);

Le code ci-dessus explique le fonctionnement du capteur à ultrasons avec le module ESP32. Ici, nous avons commencé notre code en définissant des épingles déclencheurs et écho. La broche 5 et la broche 18 de l'ESP32 sont définies respectivement sous forme de déclencheur et d'écho.

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

La vitesse du son est définie comme 0.034 cm / États-Unis à 20 ° C. Nous prenons des valeurs en CM / US pour plus de précision.

#Define Sound_Speed ​​0.034

Ensuite, nous initialisons deux variables durée et Dist_cm comme suit

longue durée;
float dist_cm;

La variable de durée permettra d'économiser le temps de trajet des vagues à ultrasons. DIST_CM économisera la distance mesurée.

Dans le installation() Partie d'abord la communication initialisée en définissant le taux de bauds. Deux broches définies plus tôt seront désormais déclarées comme entrée et sortie. Goupille de déclenchement 5 est défini sous forme de sortie pendant l'écho 18 est défini en entrée.

En série.commencer (115200);
pinMode (Trig_pin, sortie);
pinMode (echo_pin, entrée);

Dans le boucle() Partie du code D'abord, nous effacerons la broche de déclenchement en la réglant bas et donner un retard de 2 microsecondes, puis nous définirons cette broche comme élevé pour 10 microsecondes. La raison pour laquelle nous faisons cela est d'assurer la lecture correcte tout en mesurant la distance, cela nous donnera une impulsion élevée propre.

DigitalWrite (TRIG_PIN, LOW); / * la broche de déclenchement est effacée * /
DelayMicrosecondes (2);
DigitalWrite (TRIG_PIN, HIGH); / * La broche de déclenchement est réglée haut pour 10 microsecondes * /
DelayMicrosecondes (10);
DigitalWrite (TRIG_PIN, LOW);

Ensuite en utilisant pulsation fonction, nous lirons le temps de trajet des ondes sonores. pulsation La fonction lit une entrée comme élevée ou faible. Il renvoie la longueur d'impulsion en microsecondes en utilisant cette longueur d'impulsion Nous pouvons calculer le temps total pris par l'onde du capteur au corps de l'objet et le retour à la fin de la fin du capteur.

durée = pulsein (echo_pin, high);

Ensuite, en utilisant la formule de vitesse, nous avons calculé la distance totale de l'objet:

dist_cm = durée * Sound_Speed ​​/ 2;

La distance mesurée par objet est imprimée sur le moniteur en série:

En série.print ("Distance d'objet en (cm):");
En série.println (dist_cm);

Quand l'objet est proche

Placez maintenant un objet près du capteur à ultrasons et vérifiez la distance mesurée sur la fenêtre du moniteur série d'Arduino IDE.

Sortir

La distance de l'objet est indiquée dans la borne de sortie. Maintenant, l'objet est placé à 5 cm du capteur à ultrasons.

Quand l'objet est loin

Maintenant, pour vérifier notre résultat, nous placerons des objets loin du capteur et vérifierons le fonctionnement du capteur à ultrasons. Placer des objets comme indiqué dans l'image ci-dessous:

Sortir

La fenêtre de sortie nous donnera une nouvelle distance et comme nous pouvons le voir, l'objet est loin du capteur, donc la distance mesurée est à 15 cm du capteur à ultrasons.

Conclusion

La distance de mesure a une excellente application en ce qui concerne la robotique et d'autres projets, il existe différentes façons de mesurer la distance L'une des méthodes largement utilisées pour mesurer la distance avec ESP32 est l'utilisation d'un capteur à ultrasons. Ici, cet article couvrira toutes les étapes dont on a besoin pour intégrer et commencer à mesurer les capteurs avec ESP32.