Capteur à ultrasons MicroPython HC-SR04 – ESP32 et Thonny IDE

Capteur A Ultrasons Micropython Hc Sr04 Esp32 Et Thonny Ide



MicroPython est largement utilisé avec les microcontrôleurs et les systèmes embarqués. Nous pouvons écrire du code et des bibliothèques dans MicroPython IDE et interfacer plusieurs capteurs. Cet article vous guidera sur la mesure de la distance à l'aide de l'ESP32 avec capteur HC-SR04.

ESP32 avec capteur à ultrasons HC-SR04 utilisant MicroPython

L'interfaçage de l'ESP32 avec les ultrasons ne nécessite que la connexion de deux fils. À l'aide de capteurs à ultrasons, nous pouvons mesurer la distance de l'objet et déclencher des réponses basées sur ce système, telles que des systèmes d'évitement de collision de véhicules.









En utilisant MicroPython qui est un langage conçu pour ESP32 et d'autres microcontrôleurs, nous pouvons interfacer plusieurs capteurs comme le HC-SR04 . Le code MicroPython sera écrit pour calculer le temps mis par l'onde SONAR pour aller du capteur à l'objet et revenir à l'objet. Plus tard, en utilisant la formule de distance, nous pouvons calculer la distance de l'objet.



Voici quelques points forts du capteur HC-SR04 :





Les caractéristiques Évaluer
Tension de fonctionnement 5V CC
Courant de fonctionnement 15mA
Fréquence de fonctionnement 40KHz
Ma gamme 2cm/ 1 pouce
Portée maximale 400cm/ 13 pieds
Précision 3 millimètres
Angle de mesure <15 degrés

Brochage HC-SR04 HC-SR04 contient les éléments suivants quatre épingles :

  • Vcc : Connectez-vous à la broche ESP32 Vin
  • Terre : Connectez-vous à GND
  • Trigonométrie: Broche pour recevoir le signal de contrôle de la carte ESP32
  • Écho: Renvoyez le signal. La carte microcontrôleur reçoit ce signal pour calculer la distance en utilisant le temps



Comment fonctionne les ultrasons

Une fois le capteur HC-SR04 connecté à ESP32, un signal à la Trigonométrie la broche sera générée par la carte. Une fois le signal reçu sur la broche de déclenchement du capteur HC-SR04, une onde ultrasonore sera générée qui quittera le capteur et frappera l'objet ou le corps de l'obstacle. Après l'avoir frappé, il rebondira à la surface de l'objet.

  Une image contenant du texte Description générée automatiquement

Une fois que l'onde réfléchie revient à l'extrémité de réception du capteur, une impulsion de signal à la broche d'écho sera générée. ESP32 reçoit le signal de broche d'écho et calcule la distance entre l'objet et le capteur à l'aide Distance-Formule.

  Description textuelle générée automatiquement

La distance totale calculée doit être divisée par deux à l'intérieur du code ESP32 car la distance que nous obtenons à l'origine est égale à la distance totale du capteur à l'objet et de retour à l'extrémité de réception du capteur. La distance réelle est donc le signal qui équivaut à la moitié de cette distance.

Schématique

Voici le schéma d'interfaçage de l'ESP32 avec le capteur à ultrasons :

  Une image contenant du texte, électronique Description générée automatiquement

Connectez le déclencheur et la broche d'écho du capteur avec GPIO 5 et GPIO 18 d'ESP32 respectivement. Connectez également les broches ESP32 GND et Vin aux broches du capteur.

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

Matériel

Les composants suivants sont nécessaires pour programmer le capteur à ultrasons :

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

  Une image contenant du texte Description générée automatiquement

Comment configurer Ultrasonic HC-SR04 avec ESP32 à l'aide de MicroPython

Avant de pouvoir programmer ESP32 avec un capteur à ultrasons, nous devons y installer une bibliothèque. Connectez la carte ESP32 au PC. Suivez les étapes pour terminer la configuration ESP32 avec capteur à ultrasons dans Thonny IDE en utilisant MicroPython.

Étape 1: Ouvrez maintenant Thonny IDE. Créer un nouveau fichier dans la fenêtre de l'éditeur Aller à : Fichier>Nouveau ou appuyez sur Ctrl + N .

Une fois le nouveau fichier ouvert, collez le code suivant dans la fenêtre de l'éditeur Thonny IDE.

importer machine , temps
de machine importer Broche

classer HCSR04 :

# echo_timeout_us est basé sur la limite de portée des puces (400 cm)
définitivement __chaud__ ( soi , trigger_pin , echo_pin , echo_timeout_us = 500 * deux * 30 ) :

soi . echo_timeout_us = echo_timeout_us
# Broche de déclenchement d'initialisation (sortie)
soi . gâchette = Broche ( trigger_pin , mode = Broche. DEHORS , tirer = Aucun )
soi . gâchette . évaluer ( 0 )

# Broche d'écho d'initialisation (in)
soi . écho = Broche ( echo_pin , mode = Broche. DANS , tirer = Aucun )

définitivement _send_pulse_and_wait ( soi ) :

soi . gâchette . évaluer ( 0 ) # Stabiliser le capteur
temps . dors_nous ( 5 )
soi . gâchette . évaluer ( 1 )
# Envoyez une impulsion de 10us.
temps . dors_nous ( dix )
soi . gâchette . évaluer ( 0 )
essayer :
pulse_time = machine. time_pulse_us ( soi . écho , 1 , soi . echo_timeout_us )
revenir pulse_time
à l'exception OSErreur comme ex:
si ex. arguments [ 0 ] == 110 : # 110 = ETIMEDOUT
soulever OSErreur ( 'Hors de portée' )
soulever ex

définitivement distance_mm ( soi ) :

pulse_time = soi ._send_pulse_and_wait ( )

millimètre = durée_impulsion * 100 // 582
revenir millimètre

définitivement distance_cm ( soi ) :

pulse_time = soi ._send_pulse_and_wait ( )

cms = ( pulse_time / deux ) / 29.1
revenir cms

Étape 2: Après avoir écrit le bibliothèque code dans la fenêtre de l'éditeur, nous devons maintenant l'enregistrer dans le périphérique MicroPython.

  Texte, application Description générée automatiquement

Étape 3: Aller à : Fichier>Enregistrer ou appuyez sur Ctrl + S .

  Interface utilisateur graphique, application, Teams Description générée automatiquement

Étape 4: Une nouvelle fenêtre apparaîtra. Assurez-vous que l'ESP32 est connecté au PC. Sélectionnez le périphérique MicroPython pour enregistrer le fichier de bibliothèque.

  Interface utilisateur graphique, application Description générée automatiquement

Étape 5 : Enregistrez le fichier de bibliothèque à ultrasons avec le nom hcsr04.py et cliquez D'ACCORD .

  Interface utilisateur graphique, application Description générée automatiquement

Maintenant, la bibliothèque de capteurs à ultrasons hcsr04 est ajoutée avec succès à la carte ESP32. Nous pouvons maintenant appeler des fonctions de bibliothèque dans le code pour mesurer la distance de différents objets.

Code pour capteur à ultrasons utilisant MicroPython

Pour le code du capteur à ultrasons, créez un nouveau fichier ( Ctrl + N ). Dans la fenêtre de l'éditeur, entrez le code ci-dessous et enregistrez-le dans le main.py ou boot.py dossier. Ce code imprimera la distance de tout objet qui se trouve devant HC-SR04.

  Interface utilisateur graphique, texte, application Description générée automatiquement

Le code a commencé par appeler des bibliothèques importantes telles que HCSR04 et temps bibliothèque avec dormir donner des délais.

Ensuite, nous avons créé un nouvel objet avec un nom capteur . Cet objet prend trois arguments différents : trigger, echo et timeout. Ici, le délai d'attente est défini comme le temps maximum après que le capteur soit hors de portée.

capteur = HCSR04 ( trigger_pin = 5 , echo_pin = 18 , echo_timeout_us = 10000 )

Pour mesurer et enregistrer la distance, un nouvel objet nommé distance est créé. Cet objet permettra d'économiser la distance en cm.

distance = capteur. distance_cm ( )

Écrivez le code suivant pour obtenir les données en mm.

distance = capteur. distance_mm ( )

Ensuite, nous avons imprimé le résultat sur le shell MicroPython IDE.

imprimer ( 'Distance:' , distance , 'cm' )

A la fin un délai de 1 sec est donné.

dormir ( 1 )

Le code complet est donné ci-dessous :

de hcsr04 importer HCSR04
de temps importer dormir
#ESP32
capteur = HCSR04 ( trigger_pin = 5 , echo_pin = 18 , echo_timeout_us = 10000 )
#ESP8266
#capteur = HCSR04(trigger_pin=12, echo_pin=14, echo_timeout_us=10000)
tandis que Vrai :
distance = capteur. distance_cm ( )
imprimer ( 'Distance:' , distance , 'cm' )
dormir ( 1 )

Après avoir écrit et enregistré du code dans l'appareil MicroPython, j'exécute maintenant le capteur à ultrasons main.py code de fichier. Cliquez sur le bouton de lecture ou appuyez sur F5 .

  Interface utilisateur graphique, texte, application, chat ou SMS Description générée automatiquement

Sortie du capteur à ultrasons lorsque 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 de l'IDE Arduino.

  Une image contenant du texte Description générée automatiquement

La distance de l'objet est indiquée dans le terminal shell. Maintenant l'objet est placé à 5 cm du capteur à ultrasons.

Sortie du capteur à ultrasons lorsque l'objet est loin

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

  Une image contenant du texte Description générée automatiquement

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

  Interface utilisateur graphique, application, Word Description générée automatiquement

Conclusion

La mesure de la distance a une excellente application en matière de robotique et d'autres projets, il existe différentes façons de mesurer la distance. HC-SR04 avec ESP32 peut mesurer la distance de différents objets. Ici, cet article couvrira toutes les étapes nécessaires pour intégrer et commencer à mesurer la distance avec ESP32.