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:
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:
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;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;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.034Ensuite, nous initialisons deux variables durée et Dist_cm comme suit
longue durée;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);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 * /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):");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.