ESP32 S3 - Capteur de mouvement - Buzzer piezo
Ce tutoriel vous montre comment connecter un capteur de mouvement HC-SR501 et un buzzer piezo à une carte ESP32 S3 et la programmer pour réagir au mouvement par du son. Vous allez construire deux projets pratiques : l'un qui joue une simple tonalité lorsqu'un mouvement est détecté, et l'autre qui joue une mélodie complète déclenchée par le mouvement.
Ce que vous allez construire :
- Une alerte sonore simple déclenchée par le mouvement, utilisant l'ESP32 S3 et le capteur HC-SR501
- Un lecteur de mélodie déclenché par le mouvement, utilisant un buzzer piezo passif
- Un arrêt automatique du son lorsqu'aucun mouvement n'est détecté
- Une base pour des systèmes de sécurité et de notification réels
Matériel requis
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 piezo et du capteur de mouvement
Le HC-SR501 est un capteur de mouvement infrarouge passif (PIR) qui détecte le mouvement en mesurant le rayonnement infrarouge émis par des corps chauds comme les humains ou les animaux. Le buzzer piezo convertit les signaux électriques en tonalités audibles, ce qui en fait un dispositif de sortie idéal pour les alertes déclenchées par le mouvement. Ensemble, ces deux composants forment le cœur de nombreux systèmes de sécurité et de notification pratiques.
Nous avons des tutoriels spécifiques sur le buzzer piezo et le capteur de mouvement. Chaque tutoriel contient des informations détaillées et des instructions étape par étape sur le brochage du matériel, le principe de fonctionnement, le câblage vers l'ESP32 S3 et le code ESP32 S3. Apprenez-en plus aux liens suivants :
Caractéristiques principales
- Tension de fonctionnement du HC-SR501 : 5V–20V DC
- Portée de détection du HC-SR501 : jusqu'à 7 mètres (ajustable)
- Angle de détection du HC-SR501 : jusqu'à 120°
- Tension du buzzer piezo actif : 3–24V DC
- Buzzer piezo passif : nécessite un signal PWM pour produire des tonalités et des mélodies
Veuillez noter que ce tutoriel utilise un buzzer 3–5V, mais vous pouvez l'adapter pour un buzzer 12V. Vous pouvez en apprendre plus sur les options de buzzer dans le ESP32 S3 - Buzzer.
Schéma de câblage
Connectez le capteur de mouvement HC-SR501 et le buzzer piezo à votre ESP32 S3 en suivant les schémas ci-dessous, en veillant à respecter la bonne polarité pour les deux composants.
Le schéma de câblage avec alimentation depuis le câble USB

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Les fils des modules et les fils épais tiennent souvent mal dans les connecteurs femelles. Une carte à bornier à vis pour ESP32 S3 règle ce problème. Branchez-y la carte ESP32 S3 et vissez les fils. Voici le montage avec la carte à bornier à 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.
Le schéma de câblage avec alimentation depuis un adaptateur 5V

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Vous voulez un montage plus propre et plus sûr ? La carte ESP32 S3 se branche sur une carte à bornier à vis pour ESP32 S3, qui transforme chaque broche en bornier à vis. Les broches ne changent pas. Branchez simplement chaque fil sur le bornier à vis correspondant :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Vous pouvez aussi utiliser une carte d'extension GPIO pour ESP32 S3. Chaque GPIO a ses propres broches S, 3,3V et GND, et les fils des modules s'y branchent directement :

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Notes de sécurité
Le capteur HC-SR501 nécessite 5V–20V sur sa broche VCC, tandis que les broches GPIO de l'ESP32 S3 fonctionnent en logique 3,3V. Le signal de sortie du capteur est typiquement de 3,3V, ce qui est compatible avec les entrées de l'ESP32 S3. Vérifiez toujours que la borne positive du buzzer est connectée à la broche GPIO désignée et que la borne négative est connectée à GND pour éviter une polarité inversée.
Réglage initial
| Réglage de la portée de détection | Vissez-le complètement dans le sens horaire. |
| Réglage du délai | Vissez-le complètement dans le sens antihoraire. |
| Sélecteur de déclenchement répété | Placez le cavalier comme sur l'image ci-dessous. |

Code ESP32 S3 - Son simple
Le code suivant programme l'ESP32 S3 pour surveiller le capteur de mouvement HC-SR501 et activer immédiatement le buzzer piezo chaque fois qu'un mouvement est détecté. Lorsqu'aucun mouvement n'est présent, le buzzer reste silencieux, créant un système d'alerte audible simple. Téléversez ce sketch sur votre ESP32 S3 et testez-le en agitant la main devant le capteur.
Étapes rapides
- Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Effectuez le câblage comme montré dans le schéma ci-dessus.
- Connectez la carte ESP32 S3 à votre PC via un câble USB Type-C.
- Ouvrez l'Arduino IDE sur votre PC.
- Sélectionnez la bonne carte ESP32 S3 et le bon port COM.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Compilez et téléversez le code sur la carte ESP32 S3 en cliquant sur le bouton Upload dans l'Arduino IDE.
- Agitez la main devant le capteur.
- Écoutez le son du buzzer piezo.
- Astuce pro : Ajustez les potentiomètres de sensibilité et de délai du HC-SR501 pour régler finement la portée de détection et la durée pendant laquelle le buzzer sonne après l'arrêt du mouvement.
Explication du code ligne par ligne
Le code ESP32 S3 ci-dessus contient une explication ligne par ligne. Veuillez lire les commentaires dans le code !
Code ESP32 S3 - Mélodie
Le code suivant étend le projet en jouant une mélodie musicale complète via un buzzer piezo passif chaque fois que le HC-SR501 détecte un mouvement. Cette approche utilise le contrôle de fréquence PWM pour générer des notes musicales distinctes, et la lecture s'arrête automatiquement lorsqu'aucun mouvement n'est détecté. Suivez les étapes ci-dessous pour configurer le fichier d'en-tête des tonalités requis par ce sketch.
Étapes rapides
- Nouveau sur ESP32 S3 ? Terminez d'abord notre guide ESP32 S3 - Premiers pas.
- Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
- Créez le fichier pitches.h dans l'Arduino IDE en :
- Cliquant sur le bouton juste en dessous de l'icône du moniteur série et en choisissant New Tab, ou 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 le code sur la carte ESP32 S3 en cliquant sur le bouton Upload dans l'Arduino IDE.
- Agitez la main devant le capteur.
- Écoutez la mélodie du buzzer piezo.
- Astuce pro : Essayez de remplacer le tableau de mélodie par votre propre séquence de notes dans le sketch pour personnaliser l'air de l'alerte.
Explication du code ligne par ligne
Le code ESP32 S3 ci-dessus contient une explication ligne par ligne. Veuillez 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.
Sortie du moniteur série
Ouvrez le Serial Monitor dans l'Arduino IDE (réglez le débit en bauds sur 9600) après avoir téléversé le code. Vous devriez voir une sortie similaire aux lectures suivantes, avec des horodatages reflétant les moments où le mouvement est détecté et disparaît.
Applications
Les systèmes de buzzer déclenchés par le mouvement construits avec l'ESP32 S3 sont des composants pratiques et polyvalents pour une large gamme de projets réels dans des environnements domestiques, de bureau et industriels.
- Alerte de sécurité domestique : Faites sonner une alarme lorsqu'un intrus entre dans une pièce ou une zone restreinte.
- Système de sonnette : Faites biper automatiquement quand quelqu'un approche d'une porte ou d'une entrée.
- Moniteur de sécurité enfant : Alertez les parents quand un enfant entre dans une zone dangereuse comme un escalier ou une zone de piscine.
- Accueil client en magasin : Jouez une tonalité de bienvenue quand un client entre dans un magasin.
- Détection d'animaux sauvages : Déclenchez un buzzer quand des animaux approchent d'un jardin ou d'une zone protégée.
- Indicateur d'occupation de bureau : Faites sonner une alerte quand quelqu'un entre dans une salle de réunion inoccupée.
Vidéo
Regardez le tutoriel vidéo étape par étape pour ce projet ESP32 S3 ci-dessous.
Défis
Ces défis sont conçus pour approfondir votre compréhension de l'ESP32 S3, de la détection de mouvement et du contrôle du buzzer au-delà des bases présentées dans ce tutoriel.
- Débutant : Modifiez le code afin que le buzzer bipe trois fois (impulsions courtes) au lieu de sonner en continu lorsqu'un mouvement est détecté.
- Intermédiaire : Ajoutez un indicateur LED en plus du buzzer afin que la lumière et le son s'activent ensemble lorsqu'un mouvement est détecté, et s'éteignent tous les deux lorsque le mouvement s'arrête.
- Avancé : Implémentez une fonction de mise en silence basée sur l'horloge interne de l'ESP32 S3 afin que le buzzer soit désactivé pendant les heures de nuit (par exemple, 22h à 7h) même lorsqu'un mouvement est détecté.