ESP32 - Buzzer
Dans ce tutoriel, nous allons apprendre à programmer un ESP32 pour contrôler un buzzer actif de 12V afin de produire un son fort. Si vous souhaitez contrôler un buzzer actif/passif de 5V, veuillez consulter ce ESP32 - Buzzer piézoélectrique.
Il y a deux façons de piloter le buzzer 12V. Un relais est simple, mais il fait un clic à chaque commutation. Un module MOSFET fait le même travail sans bruit, et il peut commuter très vite. C'est idéal pour les bips d'alarme. Nous allons essayer les deux façons dans ce tutoriel.
Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 (ESP32 inclus) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du buzzer actif 12V
Le buzzer actif 12V peut produire un son fort, ce qui convient pour le système d'alarme.
Brochage

Le buzzer actif 12V possède généralement deux broches :
- Broche négative (-) (noire) : doit être connectée à la masse (GND) de l'alimentation CC
- Broche positive (+) (rouge) : doit être connectée à 12V de l'alimentation CC
Comment contrôler un buzzer actif de 12V
Si un buzzer actif 12V est alimenté par une alimentation 12V, il émet un son. Pour contrôler un buzzer actif 12V, nous devons utiliser un relais entre l'ESP32 et le buzzer actif 12V. L'ESP32 peut contrôler le buzzer actif 12V via le relais. Si vous ne connaissez pas le relais (brochage, fonctionnement, programmation ...), apprenez à propos du relais dans le ESP32 - Relais.
Le module MOSFET est le deuxième choix. Les broches, l'intérieur et le code du module sont expliqués dans le tutoriel ESP32 - Module MOSFET.
Relais vs module MOSFET pour un buzzer 12V
| Relais | Module MOSFET | |
|---|---|---|
| Ce qu'il peut faire | allumer ou éteindre le buzzer | allumer ou éteindre le buzzer |
| Bruit à la commutation | un clic à chaque fois, mêlé au bip | aucun bruit, on n'entend que le bip |
| Vitesse de commutation | lente, quelques millisecondes | très rapide |
| Bips rapides | le relais claque fort et s'use vite | aucun problème |
| Durée de vie | les contacts s'usent après de nombreuses commutations | rien ne bouge, donc il dure longtemps |
| Type d'alimentation | AC ou DC | DC uniquement |
| Alimentation du buzzer | toute tension admise par le relais | environ 6V ou plus |
| Isolation de l'ESP32 | oui, entre bobine et contacts | oui, par l'optocoupleur PC817 |
| Idéal pour | ON/OFF lent, par exemple ON pendant quelques secondes | alarmes avec beaucoup de bips courts |
Si le buzzer bipe lentement, le relais suffit. Si vous voulez une alarme avec beaucoup de bips courts, le module MOSFET est le meilleur choix.
Diagramme de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, consultez les instructions dans le tutoriel suivant : Comment alimenter l'ESP32..
Code ESP32
Le code ci-dessous active et désactive répétitivement le buzzer actif de 12V, le mettant en marche une seconde et l'arrêtant deux secondes.
Étapes rapides
- Si c'est la première fois que vous utilisez ESP32, consultez Installation du logiciel ESP32.
- Connectez ESP32 à PC via un câble USB
- Ouvrez Arduino IDE, sélectionnez la bonne carte et le bon port
- Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
- Cliquez sur le bouton Upload dans Arduino IDE pour charger le code sur ESP32
- Vérifiez l'état du buzzer actif 12V
Explication du code
Vous pouvez trouver l'explication dans la ligne de commentaires du code Arduino ci-dessus.
Comment faire des bips d'alarme avec le module MOSFET
Remplaçons maintenant le relais par un module MOSFET. Le buzzer fonctionne de la même façon, mais il n'y a plus de clic, donc il peut biper vite comme une vraie alarme.
Schéma de câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| De | À |
|---|---|
| GPIO18 de l'ESP32 | Module MOSFET PWM |
| GND de l'ESP32 | Module MOSFET GND |
| Adaptateur 12V + | Module MOSFET + |
| Fil rouge du buzzer (+) | Module MOSFET + (même borne que le + de l'adaptateur) |
| Fil noir du buzzer (−) | Module MOSFET LOAD |
| Adaptateur 12V − | Module MOSFET − |
La broche de l'ESP32 ne donne que 3.3V, mais cela suffit : la LED de l'optocoupleur du module n'a besoin que de quelques milliampères.
La plupart des buzzers actifs 12V ont un petit circuit à l'intérieur et n'ont pas besoin de diode de roue libre. Si votre buzzer est de type magnétique (il a une bobine à l'intérieur), ajoutez une diode 1N4007 ou 1N5819 en parallèle sur le buzzer. Le côté avec la bande (cathode) va au + du buzzer, l'autre côté va au − du buzzer.
Code ESP32
Ce que fait le buzzer : il bipe 10 fois rapidement, puis fait un long bip, puis reste silencieux pendant 3 secondes. Ensuite, il recommence.
Un buzzer actif produit son propre son. Allumez-le ou éteignez-le seulement complètement, avec digitalWrite(). N'utilisez pas analogWrite() (PWM) pour changer le volume, car le son sera faible ou bizarre.
Étapes rapides
- Faites la même préparation que dans les Étapes rapides de la partie relais ci-dessus.
- Câblez le buzzer et le module MOSFET comme sur le schéma. Laissez l'adaptateur 12V débranché.
- Téléversez le code ci-dessus sur l'ESP32.
- Branchez l'adaptateur 12V.
- Ouvrez le Moniteur Série à 9600 bauds.
- Écoutez le buzzer : vous entendez les bips rapides sans le clic du relais.
※ Note:
Le module MOSFET fonctionne uniquement en DC, et l'alimentation du buzzer doit être d'environ 6V ou plus. Pour un buzzer 5V, consultez le ESP32 - Buzzer piézoélectrique.. Pour un buzzer ou une sirène AC, utilisez le relais.