ESP32 S3 - Capteur à ultrasons - Buzzer piézoélectrique
Ce tutoriel vous montre comment utiliser l'ESP32 S3 avec un capteur à ultrasons et un buzzer piézoélectrique pour construire un système d'alerte audio déclenché par la proximité. Vous allez implémenter deux applications pratiques — l'une qui produit un son continu quand un objet est détecté à proximité, et l'autre qui joue une mélodie musicale quand l'objet entre dans la zone de détection.
Ce que vous allez construire :
- Un circuit ESP32 S3 avec un capteur à ultrasons et un buzzer piézoélectrique câblés à la carte
- Application 1 : le buzzer sonne automatiquement quand un objet est proche du capteur et s'arrête quand l'objet s'éloigne
- Application 2 : le buzzer joue une mélodie musicale chaque fois qu'un objet entre dans la plage de détection
- Une base pour des projets réels d'alerte de proximité, de capteur de stationnement, et de sécurité
Matériel nécessaire
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du buzzer piézoélectrique et du capteur à ultrasons
Le capteur à ultrasons mesure la distance en émettant une impulsion sonore et en chronométrant son écho, tandis que le buzzer piézoélectrique convertit des signaux électriques en tonalités audibles qui alertent l'utilisateur quand un objet entre dans la zone de détection. Ensemble sur l'ESP32 S3, ils forment une boucle complète de détection et de réponse — le capteur transmet des données de distance à la carte, la carte les évalue par rapport à un seuil, et le buzzer fournit un retour audio immédiat. Ce schéma est la base des alarmes de proximité, des capteurs de stationnement, et des robots évitant les obstacles.
Spécifications clés
Pour des informations détaillées sur chaque composant, référez-vous à ces tutoriels ESP32 S3 dédiés :
- ESP32 S3 - Buzzer piézoélectrique — apprenez à générer des tonalités et des mélodies
- ESP32 S3 - Capteur à ultrasons — comprenez la mesure de distance et le chronométrage de l'écho
Notez que ce tutoriel utilise un buzzer 3–5V, mais vous pouvez l'adapter pour un buzzer 12V. Apprenez-en plus dans le ESP32 S3 - Buzzer.
Schéma de câblage
Connectez le capteur à ultrasons et le buzzer piézoélectrique à votre ESP32 S3 en suivant le schéma ci-dessous. Vérifiez chaque connexion avant de mettre la carte sous tension pour éviter tout court-circuit accidentel.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Les fils de connexion sont pratiques pour un test rapide, mais pas pour un montage final. Placez la carte ESP32 S3 sur une carte à bornier à vis pour ESP32 S3, puis serrez chaque fil sous une vis. Voir le schéma ci-dessous pour la version avec borniers à vis.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Une carte d'extension GPIO pour ESP32 S3 convient aussi. En plus des broches S, 3,3V et GND de chaque GPIO, elle a des broches 3,3V et 5V supplémentaires :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Notes de sécurité
Les broches GPIO de l'ESP32 S3 fonctionnent en logique 3,3V, mais la broche VCC du capteur à ultrasons HC-SR04 nécessite 5V pour un fonctionnement fiable — connectez VCC à la broche 5V de la carte, pas au 3,3V. Les lignes TRIG et ECHO fonctionnent en logique 3,3V sur la plupart des modules, donc elles se connectent directement aux broches GPIO de l'ESP32 S3 sans convertisseur de niveau. Un buzzer piézoélectrique nu consomme un courant minime depuis une broche GPIO et est sûr en 3,3V, mais ne connectez jamais un buzzer haute tension directement sans un relais ou un circuit pilote.
| Composant | Broche | Broche ESP32 S3 |
|---|---|---|
| Capteur à ultrasons | VCC | 5V |
| Capteur à ultrasons | GND | GND |
| Capteur à ultrasons | TRIG | GPIO8 |
| Capteur à ultrasons | ECHO | GPIO9 |
| Buzzer piézoélectrique | Positif (+) | GPIO42 |
| Buzzer piézoélectrique | Négatif (-) | GND |
Code ESP32 S3 - Son simple
Le croquis suivant lit le capteur à ultrasons à chaque itération de boucle, calcule la distance à l'objet le plus proche, et pilote le buzzer piézoélectrique selon que cette distance est en dessous d'un seuil fixé. Quand l'objet est proche, le buzzer sonne en continu ; quand l'objet s'éloigne, le buzzer s'arrête immédiatement. Ce couplage direct entre la lecture du capteur et la sortie du buzzer est la forme la plus simple d'audio déclenché par proximité que vous puissiez implémenter sur l'ESP32 S3.
Étapes rapides
- Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Câblez les composants : suivez le schéma de câblage montré ci-dessus.
- Connectez l'ESP32 S3 : utilisez un câble USB Type-C pour vous connecter à votre ordinateur.
- Configurez Arduino IDE : si c'est la première fois que vous utilisez l'ESP32 S3, voir comment configurer l'environnement pour ESP32 S3 sur Arduino IDE.
- Sélectionnez votre carte : choisissez la carte ESP32 S3 et son port COM dans Arduino IDE.
- Téléversez le code : copiez le code ci-dessus et téléversez-le sur votre ESP32 S3.

- Bougez votre main devant le capteur à ultrasons.
- Écoutez le buzzer : le buzzer piézoélectrique sonnera quand votre main est proche et s'arrêtera quand vous l'éloignez.
- Astuce pro : si le capteur donne des lectures erratiques, assurez-vous que les fils TRIG et ECHO ne longent pas des fils d'alimentation — gardez les lignes de signal séparées pour réduire le bruit.
Sortie du Serial Monitor
Ouvrez le Serial Monitor d'Arduino IDE à 9600 bauds pour observer les relevés de distance et l'état du buzzer en temps réel.
Explication du code ligne par ligne
Le code ESP32 S3 ci-dessus contient une explication ligne par ligne. Merci de lire les commentaires dans le code !
Code ESP32 S3 - Mélodie
Le croquis suivant joue une mélodie musicale complète via le buzzer piézoélectrique chaque fois qu'un objet entre dans la plage de détection du capteur à ultrasons. Il utilise un fichier d'en-tête compagnon pitches.h qui associe des noms de notes comme NOTE_C4 et NOTE_G3 à leurs fréquences en Hz, gardant le tableau de mélodie facile à lire et à modifier pour n'importe quel air que vous choisissez.
Étapes rapides
- Nouveau sur ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
- Téléversez le croquis de mélodie : copiez le code ci-dessus et collez-le dans Arduino IDE.
- Créez le fichier pitches.h dans Arduino IDE en :
- Cliquant soit sur le bouton juste en dessous de l'icône du moniteur série et en choisissant New Tab, soit en utilisant les touches Ctrl+Shift+N.
- Donnant au fichier le nom pitches.h et en cliquant sur le bouton OK
- Copiant le code ci-dessous et en le collant dans le fichier pitches.h créé.
- Compilez et téléversez : cliquez sur le bouton Upload dans Arduino IDE.
- Bougez votre main devant le capteur à ultrasons pour entrer dans la zone de détection.
- Écoutez la mélodie : le buzzer piézoélectrique joue l'air complet du début à la fin chaque fois qu'un objet est détecté.
- Astuce pro : la fonction delay() à l'intérieur de la boucle de mélodie bloque le reste du code pendant la lecture. Pour éviter ce blocage, remplacez-la par la bibliothèque ezBuzzer, conçue pour jouer des mélodies sans bloquer le reste du code.



Sortie du Serial Monitor
Ouvrez le Serial Monitor d'Arduino IDE à 9600 bauds pour observer la lecture de la mélodie déclenchée par la détection de proximité.
Explication du code ligne par ligne
Le code ESP32 S3 ci-dessus contient une explication ligne par ligne. Merci de lire les commentaires dans le code !
※ Note:
Le code ci-dessus utilise la fonction delay(). Cela bloque le reste du code pendant la lecture de la mélodie. Pour éviter de bloquer le reste du code, utilisez plutôt la bibliothèque ezBuzzer. Cette bibliothèque est conçue pour faire biper ou jouer une mélodie sur le buzzer sans bloquer le reste du code.
Idées d'applications
La combinaison capteur à ultrasons et buzzer piézoélectrique de l'ESP32 S3 est un composant polyvalent pour des dizaines de projets sensibles à la proximité. Voici quelques idées pour stimuler votre imagination :
- Capteur de stationnement : construisez une aide au stationnement de voiture qui bipe plus vite à mesure qu'un véhicule se rapproche d'un mur ou d'un obstacle.
- Alarme intrusion : créez une alerte de sécurité qui émet une tonalité forte chaque fois que quelqu'un entre dans une zone surveillée.
- Canne d'assistance pour malvoyants : attachez le capteur à une canne et alertez l'utilisateur des obstacles avec des motifs de buzzer.
- Alerte de niveau de liquide : montez le capteur au-dessus d'un réservoir et déclenchez le buzzer quand le niveau de liquide descend en dessous d'un seuil.
- Sonnette de proximité : jouez automatiquement une mélodie de carillon quand un visiteur s'approche de votre porte.
- Robot évitant les obstacles : utilisez le buzzer comme avertissement sonore pendant que le robot navigue autour des objets.
Section vidéo
Regardez la vidéo pas à pas de ce projet ESP32 S3 ci-dessous.
Mettez-vous au défi
Maintenant que vous avez un circuit ESP32 S3 fonctionnel avec capteur à ultrasons et buzzer piézoélectrique, poussez vos compétences plus loin avec ces défis classés par difficulté :
- Débutant : changez le seuil de distance afin que le buzzer s'active seulement quand un objet est à moins de 5 cm au lieu de la valeur par défaut.
- Débutant : faites biper le buzzer trois fois brièvement au lieu de sonner en continu quand un objet est détecté.
- Intermédiaire : faites varier la fréquence de tonalité du buzzer selon la distance — une tonalité plus aiguë pour les objets plus proches et plus grave pour les objets plus éloignés.
- Intermédiaire : utilisez la bibliothèque ezBuzzer pour jouer une mélodie en arrière-plan sans bloquer la boucle de mesure de distance.
- Avancé : ajoutez un écran OLED qui affiche le relevé de distance en direct à côté de l'état du buzzer.
- Avancé : implémentez une alarme multi-zones avec trois seuils de distance qui déclenchent des motifs de buzzer différents pour chaque zone.