ESP32 S3 - Buzzer

Apprenez à programmer votre ESP32 S3 pour contrôler un buzzer actif 12V et générer des sons forts et accrocheurs, parfaits pour les alarmes et les notifications. Ce tutoriel adapté aux débutants vous guide à travers le câblage, le code et les concepts nécessaires pour construire un projet de buzzer entièrement fonctionnel avec l'ESP32 S3.

Ce que vous allez construire :

  1. Un circuit de buzzer actif 12V contrôlé par relais, connecté à un ESP32 S3
  2. Un firmware qui allume le buzzer pendant 1 seconde et l'éteint pendant 2 secondes selon un motif d'alarme répétitif
  3. Une conception de commutation sûre et isolée qui protège votre ESP32 S3 des composants haute tension
  4. Une base que vous pouvez étendre vers des alarmes de sécurité réelles, des systèmes de notification et des dispositifs d'alerte IoT
ESP32 S3 - Buzzer

Remarque : Si vous souhaitez contrôler un buzzer actif/passif 5V, consultez ce ESP32 S3 - 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.

À propos du buzzer actif 12V

Le buzzer actif 12V est un composant électronique qui produit un son fort et puissant, bien adapté aux systèmes d'alarme et aux alertes d'attention. Contrairement aux buzzers passifs qui nécessitent un signal PWM, un buzzer actif contient un oscillateur intégré, il émet donc un son dès que l'alimentation est appliquée — aucune génération de tonalité n'est nécessaire dans votre code.

Spécifications clés

Le buzzer fonctionne sur une alimentation 12V DC et délivre un volume nettement supérieur à celui d'un buzzer piezo standard 5V, ce qui le rend idéal pour les environnements extérieurs ou les espaces bruyants. Comme l'ESP32 S3 ne délivre que 3,3V, le buzzer doit être alimenté par une source 12V externe et commuté via un module relais. Cette conception maintient également votre ESP32 S3 électriquement isolé du circuit à plus haute tension, protégeant le microcontrôleur contre les dommages.

Brochage

Le buzzer actif 12V ne possède que deux points de connexion, ce qui rend le câblage simple.

ESP32 S3 12V Active Buzzer Pinout
  1. Broche négative (-) (noire) : Connectez à GND de l'alimentation 12V DC
  2. Broche positive (+) (rouge) : Connectez au rail positif 12V de l'alimentation DC (commuté via le relais)

Comment contrôler le buzzer actif 12V

L'ESP32 S3 ne délivre qu'une logique 3,3V, ce qui est bien en dessous des 12V requis par le buzzer et dangereux à connecter directement. La solution consiste à placer un module relais entre l'ESP32 S3 et le circuit du buzzer. L'ESP32 S3 pilote la bobine du relais avec une seule broche GPIO numérique ; le relais agit alors comme un interrupteur mécanique, connectant ou déconnectant l'alimentation 12V vers le buzzer à la demande.

Important : Si vous découvrez les relais, consultez le ESP32 S3 - Relais pour comprendre le brochage, le fonctionnement et les bases de la programmation avant de continuer.

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 S3 - 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 S3 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.

Schéma de câblage

Connectez votre ESP32 S3 au buzzer actif 12V via un module relais en utilisant le schéma et le tableau ci-dessous. Gardez le câblage 12V d'un côté de la breadboard et les fils de signal de l'ESP32 S3 de l'autre pour réduire le risque d'interférence.

Notes de sécurité

Vérifiez toujours la polarité de votre alimentation 12V avant de la mettre sous tension — une polarité inversée peut endommager le buzzer de façon permanente. Éloignez le câblage 12V des lignes de signal de l'ESP32 S3 pour éviter le bruit électrique qui pourrait provoquer un comportement erratique.

ESP32 S3 12V Active Buzzer Wiring Diagram

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Broche du composant Point de connexion
Broche 2 ESP32 Broche de signal du relais (IN)
ESP32 GND GND du relais
ESP32 5V VCC du relais
COM du relais Alimentation 12V (+)
NO du relais Fil rouge (+) du buzzer
Fil noir (-) du buzzer GND (-) de l'alimentation 12V

Brancher des fils dans les connecteurs femelles est rapide, mais les fils peuvent glisser. Essayez une carte à bornier à vis pour ESP32 S3 : la carte ESP32 S3 se place dessus et chaque broche a son propre bornier à vis. Chaque fil va au bornier à vis de la même broche, comme sur l'image ci-dessous.

ESP32 S3 12V Active Buzzer Wiring Diagram (Screw Terminal)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Une autre solution est une carte d'extension GPIO pour ESP32 S3. Chaque GPIO a une broche de signal avec une broche 3,3V et une broche GND à côté, comme ci-dessous :

ESP32 S3 12V Active Buzzer Wiring Diagram (GPIO Breakout Board)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Code ESP32 S3

Le sketch suivant contrôle le buzzer actif 12V via le relais en basculant la broche GPIO 2 à intervalle fixe. Il allume le buzzer pendant 1 seconde, puis l'éteint pendant 2 secondes, en répétant indéfiniment pour produire un motif de bip d'alarme reconnaissable. La logique est volontairement simple afin que vous puissiez facilement modifier la temporisation selon votre application.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-buzzer */ #define RELAY_PIN 2 // The Arduino Nano ESP32 that connects to relay to control the 12V buzzer // The setup function runs once on reset or power-up void setup() { // initialize digital pin as an output. pinMode(RELAY_PIN, OUTPUT); } void loop() { digitalWrite(RELAY_PIN, HIGH); delay(1000); digitalWrite(RELAY_PIN, LOW); delay(2000); }

Étapes rapides

  1. Nouveau sur ESP32 S3 ? Complétez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Connecter le matériel : Câblez l'ESP32 S3, le relais, le buzzer et l'alimentation 12V selon le schéma de câblage ci-dessus.
  3. Connecter au PC : Branchez votre ESP32 S3 à votre ordinateur à l'aide du câble USB Type-C.
  4. Ouvrir l'Arduino IDE : Lancez l'Arduino IDE et sélectionnez la bonne carte et le bon port pour votre ESP32 S3.
  5. Téléverser le code : Copiez le code ci-dessus, collez-le dans l'Arduino IDE, puis cliquez sur le bouton Upload.
  6. Tester le buzzer : Écoutez le buzzer biper ON pendant 1 seconde et OFF pendant 2 secondes de manière répétée.
  7. Vérifier le fonctionnement : La LED intégrée du relais doit clignoter en synchronisation avec le son du buzzer, confirmant que le relais commute correctement.
  8. Astuce Pro : Ajustez les valeurs de delay() dans le code pour créer différents motifs de bip — des délais plus courts produisent des sons d'alarme rapides, tandis que des délais plus longs créent des bips d'avertissement lents et délibérés.

Explication du code

Les commentaires du code expliquent chaque ligne en détail. Lisez-les pour comprendre exactement comment fonctionne le contrôle du buzzer et où apporter des modifications pour vos propres projets.

Le sketch utilise quatre fonctions Arduino essentielles : pinMode() configure le GPIO 2 comme sortie numérique, digitalWrite(HIGH) active la bobine du relais pour connecter l'alimentation 12V au buzzer, digitalWrite(LOW) relâche le relais pour couper l'alimentation et faire taire le buzzer, et delay() met en pause l'exécution pour contrôler la durée de chaque état.

Applications et idées de projets

L'ESP32 S3 associé à un buzzer actif 12V ouvre la porte à une large gamme de projets pratiques et réels nécessitant des alertes sonores accrocheuses.

  1. Système d'alarme de sécurité : Déclenchez des alertes sonores fortes lorsque des capteurs de mouvement détectent une intrusion.
  2. Notifications de minuterie : Créez des minuteries de cuisine ou des buzzers d'intervalles d'entraînement impossibles à ignorer.
  3. Alertes de porte/fenêtre : Faites sonner une alarme lorsque des portes ou fenêtres s'ouvrent de façon inattendue.
  4. Détecteur de fuite d'eau : Combinez avec un capteur d'humidité pour fournir des avertissements de fuite immédiats.
  5. Avertissements de température : Associez à un capteur de température pour déclencher une alarme de surchauffe.
  6. Système de rappel : Construisez un dispositif de rappel de médicament ou de rendez-vous avec une alerte forte et impossible à manquer.
  7. Système d'alarme IoT : Utilisez le WiFi intégré de l'ESP32 S3 pour créer une alerte de sécurité contrôlée ou surveillée à distance.

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

Schéma de câblage du buzzer actif 12V avec un module MOSFET et ESP32 S3

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

De À
GPIO47 de l'ESP32 S3 Module MOSFET PWM
GND de l'ESP32 S3 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 −

Les fils des modules et les fils épais tiennent souvent mal dans les connecteurs femelles. Dans ce cas, utilisez une carte à bornier à vis pour ESP32 S3. La carte ESP32 S3 s'y branche et chaque broche a un bornier à vis. Le schéma ci-dessous montre le même câblage avec la carte à bornier à vis.

Schéma de câblage du buzzer actif 12V avec un module MOSFET et ESP32 S3 (Screw Terminal)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Ou branchez la carte ESP32 S3 sur une carte d'extension GPIO pour ESP32 S3. Le même câblage ressemble alors à ceci :

Schéma de câblage du buzzer actif 12V avec un module MOSFET et ESP32 S3 (GPIO Breakout Board)

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Le niveau 3.3V de l'ESP32 S3 suffit largement, car la LED de l'optocoupleur PC817 n'a besoin que de quelques milliampères. Sur les modules avec un « V » dans le nom (comme R8V ou R16V), GPIO47 fonctionne en 1.8V, ce qui peut être trop faible pour allumer l'optocoupleur. Sur ces cartes, choisissez un autre GPIO libre comme GPIO1, et changez le numéro de broche dans le code.

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 S3

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-buzzer */ const int MOSFET_PIN = 47; // ESP32 S3 GPIO47 connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); digitalWrite(MOSFET_PIN, LOW); // start with the buzzer OFF } void loop() { // fast alarm beeps: 10 short beeps Serial.println("Alarm: fast beeps"); for (int i = 0; i < 10; i++) { digitalWrite(MOSFET_PIN, HIGH); // turn on buzzer delay(100); digitalWrite(MOSFET_PIN, LOW); // turn off buzzer delay(100); } // one long beep Serial.println("Alarm: long beep"); digitalWrite(MOSFET_PIN, HIGH); delay(1000); digitalWrite(MOSFET_PIN, LOW); // quiet time Serial.println("Quiet"); delay(3000); }

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 S3.
  • Branchez l'adaptateur 12V.
  • Ouvrez le Moniteur Série à 9600 bauds.
  • Écoutez le buzzer : vous entendez les bips rapides sans le clic du relais.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
Alarm: fast beeps Alarm: long beep Quiet Alarm: fast beeps Alarm: long beep Quiet
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

※ 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 S3 - Buzzer piézoélectrique. Pour un buzzer ou une sirène AC, utilisez le relais.

Vidéo tutoriel

Regardez la vidéo pas à pas de ce projet ESP32 S3 ci-dessous.

Défiez-vous

Une fois votre projet de base de buzzer ESP32 S3 fonctionnel, poussez vos compétences plus loin avec ces défis progressivement plus difficiles.

  1. Débutant : Modifiez le code pour produire un motif SOS (3 bips courts, 3 bips longs, 3 bips courts).
  2. Débutant : Ajoutez un bouton-poussoir pour que le buzzer ne sonne que tant que le bouton est maintenu enfoncé.
  3. Intermédiaire : Programmez plusieurs durées de bip et pauses différentes pour créer une mélodie reconnaissable.
  4. Intermédiaire : Intégrez un capteur de mouvement PIR afin que l'alarme se déclenche automatiquement à la détection de mouvement.
  5. Avancé : Construisez une alarme contrôlée par smartphone en utilisant le WiFi de l'ESP32 S3 et la plateforme IoT Blynk.
  6. Avancé : Concevez un système d'alarme multi-zones où chaque zone possède son propre buzzer contrôlé indépendamment par l'ESP32 S3.

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !