Micropython HC-SRTOP 10 Sensor ultrasonore - Esptop 10 et Thonny IDE

Micropython HC-SRTOP 10 Sensor ultrasonore - Esptop 10 et Thonny IDE

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

ESP32 avec capteur à ultrasons HC-SR04 utilisant Micropython

Interfaçage ESP32 avec ultrasonic nécessite simplement que deux fils soient connectés. À l'aide de capteurs à ultrasons, nous pouvons mesurer la distance des objets et peut déclencher des réponses en fonction de ce système tels que les systèmes d'évitement de la collision des 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 qui calcule le temps pris par l'onde de sonar pour atteindre du capteur à l'objet et retour à l'objet. Plus tard en utilisant la formule de distance, nous pouvons calculer la distance de l'objet.

Voici quelques points forts principaux du capteur HC-SR04:

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-SR04HC-SR04 contient le suivant quatre broches:

  • VCC: Connectez-vous à la broche VIN ESP32
  • GND: Connectez-vous à GND
  • Trigonométrie: Pin pour recevoir le signal de contrôle de la carte ESP32
  • Écho: Signal de retour. La carte de microcontrôleur reçoit ce signal pour calculer la distance en utilisant le temps

Comment fonctionne Ultrasonic

Une fois que le capteur HC-SR04 est connecté à ESP32 un signal au niveau du Trigonométrie La broche sera générée par la carte. Une fois le signal reçu à la broche Trig du capteur HC-SR04, une onde à ultrasons sera générée qui quitte le capteur et frappe l'objet ou le corps d'obstacle. Après avoir frappé, il rebondira à la surface de l'objet.

Une fois que l'onde réfléchie atteint le capteur recevant fin 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 en utilisant Formule de distance.

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 à la fin du capteur de réception. La distance réelle est donc le signal qui équivaut à la moitié de cette distance.

Schématique

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

Connectez la gâchette et la broche d'écho du capteur avec GPIO 5 et GPIO 18 de ESP32 respectivement. Connectez également la broche GND et VIN ESP32 avec des broches de capteur.

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

Matériel

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

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

Comment configurer Ultrasonic HC-SR04 avec ESP32 en utilisant 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 un capteur à ultrasons dans Thonny IDE à l'aide de Micropython.

Étape 1: Maintenant ouvert Thonny IDE. Créer un nouveau fichier dans la fenêtre de l'éditeur allez à: Fichier> Nouveau ou presser Ctrl + n.

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

Importer la machine, l'heure
à partir de la broche d'importation de machine
classe HCSR04:
# echo_timeout_us est basé dans la limite de plage de puces (400 cm)
def __init __ (self, Trigger_pin, echo_pin, echo_timeout_us = 500 * 2 * 30):
soi.echo_timeout_us = echo_timeout_us
# Pin de déclenchement init (Out)
soi.Trigger = bro (Trigger_pin, mode = broche.Out, put = aucun)
soi.déclencher.valeur (0)
# Init Echo Pin (IN)
soi.echo = bro (echo_pin, mode = broche.Dans, pull = aucun)
def _send_pulse_and_wait (self):
soi.déclencher.valeur (0) # stabiliser le capteur
temps.sleep_us (5)
soi.déclencher.valeur (1)
# Envoyez une impulsion 10US.
temps.sleep_us (10)
soi.déclencher.valeur (0)
essayer:
pulse_time = machine.Time_pulse_us (Self.écho, 1, soi.echo_timeout_us)
retourner pulse_time
Sauf Oseror comme Ex:
Si ex.args [0] == 110: # 110 = etimedout
élever Oserror («hors de portée»)
élever ex
DEF Distance_mm (self):
pulse_time = self._send_pulse_and_wait ()
mm = pulse_time * 100 // 582
retour mm
DEF Distance_cm (self):
pulse_time = self._send_pulse_and_wait ()
cms = (pulse_time / 2) / 29.1
Retour CMS

Étape 2: Après avoir écrit le bibliothèque Code à l'intérieur de la fenêtre de l'éditeur maintenant, nous devons l'enregistrer à l'intérieur du périphérique Micropython.

Étape 3: Aller à: Fichier> Enregistrer ou presser Ctrl + s.

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

Étape 5: Enregistrer le fichier de bibliothèque ultrasonique avec nom HCSR04.py et cliquer D'ACCORD.

Maintenant, la bibliothèque de capteurs Ultrasonic HCSR04 est ajoutée avec succès à la carte ESP32. Maintenant, nous pouvons appeler les fonctions de bibliothèque à l'intérieur du code pour mesurer la distance de différents objets.

Code pour un capteur à ultrasons utilisant Micropython

Pour le code de capteur ultrasonique, créez un nouveau fichier (Ctrl + n). Dans la fenêtre de l'éditeur, entrez le code ci-dessous et enregistrez-le à l'intérieur du principal.py ou botte.py déposer. Ce code imprimera la distance de tout objet qui vient devant HC-SR04.

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

Ensuite, nous avons créé un nouvel objet avec un nom capteur. Cet objet prend trois arguments différents: Trigger, écho et délai d'expiration. Ici, le délai d'attente est défini comme le temps maximal après que le capteur sort de la portée.

capteur = hcsr04 (Trigger_pin = 5, echo_pin = 18, echo_timeout_us = 10000)

Pour mesurer et économiser la distance un nouvel objet nommé distance est créé. Cet objet économisera la distance en CM.

Distance = capteur.Distance_cm ()

Écrivez le code suivant pour obtenir des données dans MM.

Distance = capteur.Distance_mm ()

Ensuite, nous avons imprimé le résultat sur la coque IDE Micropython.

Imprimer ('Distance:', Distance, 'CM')

À la fin, un délai de 1 seconde est donné.

sommeil (1)

Le code complet est donné ci-dessous:

à partir de HCSR04 Import HCSR04
à partir de temps pour sommeil
# ESP32
capteur = hcsr04 (Trigger_pin = 5, echo_pin = 18, echo_timeout_us = 10000)
# ESP8266
#Sensor = HCSR04 (Trigger_pin = 12, echo_pin = 14, echo_timeout_us = 10000)
Bien que vrai:
Distance = capteur.Distance_cm ()
Imprimer ('Distance:', Distance, 'CM')
sommeil (1)

Après avoir écrit et enregistré du code à l'intérieur du dispositif MicropyThon, j'exécute maintenant le capteur à ultrasons principal.py code de fichier. Cliquez sur le bouton de lecture ou appuyez sur F5.

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 d'Arduino IDE.

La distance de l'objet est indiquée dans la borne de la coque. 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 placerons des objets loin du capteur et vérifierons le fonctionnement du capteur à ultrasons. Placer des objets comme indiqué dans l'image ci-dessous:

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 d'envoie. 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. HC-SR04 avec ESP32 peut mesurer la distance de différents objets. Ici, cet article couvrira toutes les étapes dont on a besoin pour intégrer et commencer à mesurer la distance avec ESP32.