Tutoriel ESP32 27/55 - Mesure de distance avec un capteur ultrasonique | Kit d'apprentissage IoT ESP32 de SunFounder

Tutoriel ESP32 27/55 - Mesure de distance avec un capteur ultrasonique | Kit d'apprentissage IoT ESP32 de SunFounder

Dans ce tutoriel, nous allons apprendre à utiliser un capteur de distance ultrasonique avec l'ESP32 pour mesurer des distances et afficher les résultats sur un écran. Nous explorerons également comment activer un buzzer lorsqu'un objet est détecté dans une plage spécifique. Ce projet met en évidence la polyvalence du microcontrôleur ESP32, qui intègre des capacités Wi-Fi et Bluetooth, le rendant adapté à diverses applications IoT.

principe_ultrasonique

Tout au long de ce guide, vous trouverez des explications sur les composants matériels, des instructions de câblage et des extraits de code pour vous aider à mettre en œuvre le projet avec succès. Pour plus de clarté, veuillez vous référer à la vidéo (dans la vidéo à 00:00).

Matériel expliqué

Les composants principaux de ce projet comprennent le microcontrôleur ESP32, le capteur ultrasonique (HC-SR04) et un buzzer. Le capteur ultrasonique se compose de deux parties principales : un émetteur qui émet des ondes ultrasoniques et un récepteur qui écoute les ondes réfléchies. En mesurant le temps nécessaire aux ondes pour revenir, nous pouvons calculer la distance jusqu'à un objet.

L'ESP32 sert de contrôleur central, traitant les données du capteur ultrasonique et contrôlant le buzzer en fonction de la distance mesurée. Le buzzer retentira lorsque la distance détectée est inférieure à un seuil défini, indiquant qu'un objet est trop proche.

Détails de la fiche technique

Fabricant HC-SR04
Numéro de pièce HC-SR04
Tension logique/IO 5 V
Tension d'alimentation 5 V
Courant de sortie (par canal) 16 mA
Courant de pointe (par canal) ...
Directives sur la fréquence PWM ...
Seuils logiques d'entrée ...
Chute de tension / RDS(on)/ saturation ...
Limites thermiques ...
Paquet ...
Notes / variantes Plage de mesure : 2 cm à 400 cm

  • Assurez une alimentation électrique adéquate de 5 V pour le capteur.
  • Maintenez un chemin dégagé pour les ondes ultrasonores afin d'éviter les interférences.
  • Utilisez des fils courts pour minimiser le retard de signal et le bruit.
  • Assurez-vous que les connexions des broches sont correctes pour éviter toute mauvaise communication.
  • Testez le capteur dans différents environnements pour vérifier sa précision.

Instructions de câblage

ESP32-27_ultrasonic_wiring

Pour connecter le capteur ultrasonique à l'ESP32, branchez la broche VCC du capteur à la broche 5V de l'ESP32. Ensuite, connectez la broche GND du capteur à une des broches de terre (GND) de l'ESP32. La broche de déclenchement (Trig) du capteur doit être connectée à GPIO 26 sur l'ESP32, tandis que la broche écho (Echo) doit être connectée à GPIO 25. Ce montage permet à l'ESP32 d'envoyer un signal au capteur et de recevoir le signal écho pour calculer la distance.

ESP32-27_schéma_ultrasonique

Pour le buzzer, connectez la patte positive (longue) au GPIO 12 sur l'ESP32 et la patte négative (courte) à la masse. Assurez-vous que toutes les connexions sont sécurisées pour éviter tout fil lâche pendant le fonctionnement. Si vous utilisez une plaque d'essai, alignez correctement les connexions du buzzer pour éviter les erreurs de câblage. Assurez-vous de consulter la vidéo pour confirmer le câblage (dans la vidéo à 05:12).

Exemples de code et guide étape par étape

Le code initialise les broches pour le capteur ultrasonique et met en place la communication série. La fonction principale,readSensorData(), est responsable de l'envoi d'un signal de déclenchement et de la mesure du temps de réponse depuis la broche d'écho.

const int echoPin = 25;
const int trigPin = 26;

void setup() {
  Serial.begin(115200);
  pinMode(echoPin, INPUT);
  pinMode(trigPin, OUTPUT);
  Serial.println("Ultrasonic sensor:");  
}

Le code définitechoPinettrigPinen tant que constantes pour les broches connectées au capteur ultrasonique. Dans lesetup()fonction, nous initialisons la communication série et définissons les modes de broche en conséquence.

float readSensorData() {
  digitalWrite(trigPin, LOW); 
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH); 
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  
  unsigned long microsecond = pulseIn(echoPin, HIGH);
  float distance = microsecond / 29.00 / 2;
  return distance;
}

Cet extrait montre lereadSensorData()fonction, qui envoie une impulsion de 10 microsecondes au broche de déclenchement. Elle mesure ensuite le temps nécessaire pour que la broche d'écho reçoive le signal de retour, calcule la distance et renvoie cette valeur.

Enfin, la fonction de boucle lit en continu la distance et l'affiche sur le moniteur série. Si la distance est inférieure à 20 cm, le buzzer sera activé.

Démonstration / À quoi s'attendre

Lorsque vous exécutez le programme, l'ESP32 affichera la distance mesurée en centimètres sur le moniteur série. Si un objet entre dans un rayon de 20 cm du capteur, le buzzer émettra un son. Ce comportement peut être testé en plaçant des objets à différentes distances devant le capteur. Faites attention à la polarité inversée et assurez-vous que les connexions sont réalisées comme spécifié pour éviter tout problème de fonctionnement (dans la vidéo à 08:00).

Horodatages de la vidéo

  • 00:00 Début
  • 1:46 Introduction au capteur ultrasonique
  • 6:02 Explication du câblage
  • 7:37 Code Arduino ESP32 expliqué
  • 11:33 Sélection de la carte ESP32 et du port COM dans l'IDE Arduino
  • 13:15 Démonstration de la mesure de la distance
  • 16:43 Action de virement avec distance : buzzer

Images

ESP32-27_ultrasonic_wiring
ESP32-27_ultrasonic_wiring
ESP32-27_ultrasonic_schematic
ESP32-27_ultrasonic_schematic
ultrasonic_principle
ultrasonic_principle
827-ESP32 Tutorial 27/55- Arduino code for ultrasonic sensor
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Fichiers📁

Aucun fichier disponible.