ESP32 C3 Super Mini - Buzzer Piézo

Un buzzer piézo est le moyen le plus simple d'ajouter du son à un projet ESP32 C3 Super Mini. Il coûte très peu, n'a besoin que d'une seule broche GPIO et peut émettre des bips, des alarmes ou même jouer une chanson.

Dans ce tutoriel, vous apprendrez :

ESP32 C3 Super Mini - Buzzer Piézo

Matériel Requis

1×ESP32 C3 Super Mini
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Buzzer piézo actif 3-24V
1×Module buzzer piézo actif
1×Module buzzer piézo passif
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: Connecteur d'alimentation DC

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À Propos du Buzzer Piézo

Le buzzer piézo est un petit composant sonore qui transforme un signal électrique en bip, en tonalité ou en musique.

Caractéristiques Principales :

  • Une seule broche de signal : Une seule broche GPIO de l'ESP32 C3 Super Mini est nécessaire
  • Très bon marché : L'un des composants de sortie les moins chers que vous puissiez acheter
  • Puissant pour sa taille : Facile à entendre dans une pièce
  • Deux types : Buzzer nu, ou module buzzer avec un circuit de commande intégré
  • Code simple : La fonction tone() fait tout le travail difficile

Spécifications Techniques :

  • Tension de fonctionnement : 3V à 24V pour le buzzer actif 3V-24V
  • Tension du module : 3,3V ou 5V
  • Courant : Faible à 3,3V, sans danger pour une broche GPIO
  • Plage de tonalités : Environ 200 Hz à 5000 Hz donne le meilleur son
  • Type de signal : Une onde carrée (PWM) provenant de l'ESP32 C3 Super Mini

Deux façons d'utiliser le buzzer 3V-24V :

  • Directement sur une broche GPIO : Vous obtenez un bip normal. Idéal pour les clics de clavier et les sons d'état.
  • Via un relais et une alimentation 12V : Vous obtenez un son très fort. Idéal pour les alarmes et les avertissements.

Remarque : Pour la version 12V puissante, consultez le tutoriel ESP32 C3 Super Mini - Buzzer.

Brochage du Buzzer Piézo

Un buzzer piézo nu possède deux broches.

  • Broche positive (+) : L'ESP32 C3 Super Mini envoie le signal de commande à cette broche (directement, ou via un relais)
  • Broche négative (-) : Connectez cette broche à GND (0V)
Brochage du Buzzer Piézo

Un module buzzer piézo possède trois broches.

  • Broche GND : Connectez à GND (0V)
  • Broche VCC : Connectez au 3,3V
  • Broche I/O : Reçoit le signal d'une broche GPIO de l'ESP32 C3 Super Mini

Comment Fonctionne le Buzzer Piézo

Voir Comment fonctionne le buzzer piézo

Schéma de Câblage entre le Buzzer Piézo et l'ESP32 C3 Super Mini

Connectez la broche de signal du buzzer à GPIO7 sur l'ESP32 C3 Super Mini.

  • Remarque : Les broches GPIO de l'ESP32 C3 Super Mini fonctionnent uniquement en 3,3V. N'envoyez jamais de 5V vers une broche GPIO.
  • Remarque : Vérifiez la polarité du buzzer nu. La broche (+) a une patte plus longue ou une marque +.
  • Remarque : N'utilisez pas GPIO8 ou GPIO9. Ce sont des broches de démarrage sur cette carte.
  • Remarque : Si le son est faible, utilisez le module buzzer. Son circuit de commande fournit plus de courant qu'une broche GPIO.
  • Le schéma de câblage entre le buzzer piézo et l'ESP32 C3 Super Mini
Schéma de Câblage ESP32 C3 Super Mini Buzzer Piézo

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

Broche du Buzzer Broche de l'ESP32 C3 Super Mini
Positive (+) GPIO7
Négative (-) GND

J'ai transformé le schéma de câblage ci-dessus en ce dessin artistique qui le fait ressembler à un canard. Si vous l'aimez, partagez-le !

Schéma de Câblage Canard ESP32 C3 Super Mini Buzzer Piézo

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

  • Le schéma de câblage entre le module buzzer piézo et l'ESP32 C3 Super Mini
Schéma de Câblage ESP32 C3 Super Mini Module Buzzer Piézo

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

Broche du Module Broche de l'ESP32 C3 Super Mini
GND GND
VCC 3.3V
I/O GPIO7

Code ESP32 C3 Super Mini

Ce sketch joue une courte mélodie sur le buzzer piézo à l'aide de la fonction tone().

Ce que Fait ce Code :

  • Définit GPIO7 comme broche de signal du buzzer
  • Lit les noms de notes comme NOTE_C4 depuis un fichier pitches.h
  • Joue chaque note avec tone() pendant une durée définie
  • Attend un court instant entre les notes pour que vous puissiez entendre chacune d'elles
  • Appelle noTone() pour arrêter le son après chaque note

Étapes Rapides

Suivez ces étapes pour exécuter l'exemple de buzzer piézo avec l'ESP32 C3 Super Mini.

  • Nouveau avec l'ESP32 C3 Super Mini ? Suivez d'abord notre tutoriel ESP32 C3 Super Mini - Premiers pas pour configurer votre environnement de développement.
  • Câblez les composants : Suivez le schéma de câblage ci-dessus.
  • Connectez la carte : Branchez l'ESP32 C3 Super Mini à votre ordinateur avec un câble USB Type-C.
  • Ouvrez l'IDE : Lancez Arduino IDE sur votre ordinateur.
  • Sélectionnez la carte : Assurez-vous que l'ESP32 C3 Super Mini est sélectionné dans Outils > Carte.
  • Sélectionnez le port : Choisissez le port COM de votre carte.
  • Copiez le code : Copiez le code ci-dessous et collez-le dans Arduino IDE.
/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-piezo-buzzer */ #include "pitches.h" #define BUZZZER_PIN 7 // The ESP32 C3 SuperMini pin connected to piezo buzzer int melody[] = { NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4 }; int noteDurations[] = { 4, 8, 8, 4, 4, 4, 4, 4 }; void setup() { for (int thisNote = 0; thisNote < 8; thisNote++) { int noteDuration = 1000 / noteDurations[thisNote]; tone(BUZZZER_PIN, melody[thisNote], noteDuration); int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); noTone(BUZZZER_PIN); } } void loop() { }
  • Créez le fichier pitches.h dans Arduino IDE en :
    • Cliquant sur le bouton situé juste sous l'icône du moniteur série et en choisissant Nouvel Onglet, ou en utilisant les touches Ctrl+Shift+N.
    Arduino IDE 2 ajoute un fichier
    • Donnant au fichier le nom pitches.h et en cliquant sur le bouton OK.
    Arduino IDE 2 ajoute le fichier pitches.h
    • Copiant le code ci-dessous et en le collant dans le nouveau fichier pitches.h.
    /************************************************* * Public Constants *************************************************/ #define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS1 58 #define NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_A2 110 #define NOTE_AS2 117 #define NOTE_B2 123 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 220 #define NOTE_AS3 233 #define NOTE_B3 247 #define NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_A4 440 #define NOTE_AS4 466 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define NOTE_A5 880 #define NOTE_AS5 932 #define NOTE_B5 988 #define NOTE_C6 1047 #define NOTE_CS6 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define NOTE_AS6 1865 #define NOTE_B6 1976 #define NOTE_C7 2093 #define NOTE_CS7 2217 #define NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_AS7 3729 #define NOTE_B7 3951 #define NOTE_C8 4186 #define NOTE_CS8 4435 #define NOTE_D8 4699 #define NOTE_DS8 4978
    • Téléversez le code : Cliquez sur le bouton Téléverser dans Arduino IDE.
    Comment téléverser le code ESP32 C3 Super Mini sur Arduino IDE
    • Écoutez : Le buzzer joue la mélodie une fois après le démarrage de la carte.
    • Ouvrez le Moniteur Série : Réglez le débit en bauds sur 115200 si vous ajoutez vos propres lignes Serial.print().
    • Astuce de Pro : Vous n'entendez rien ? Inversez les deux pattes du buzzer. Un buzzer nu ne fonctionne que dans un seul sens.

Modifier le Code ESP32 C3 Super Mini

Modifions le code ESP32 C3 Super Mini pour jouer la chanson Jingle Bells.

  • Seuls deux tableaux changent : int melody[] et int noteDurations[]
  • melody[] : La liste des notes à jouer, dans l'ordre
  • noteDurations[] : La durée de chaque note. 4 est une noire, 8 est une croche
  • Tout le reste reste identique : Même broche GPIO7, mêmes appels à tone()
/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini 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-c3/esp32-c3-super-mini-piezo-buzzer */ #include "pitches.h" #define BUZZZER_PIN 7 // The ESP32 C3 SuperMini pin connected to piezo buzzer // notes in the melody: int melody[] = { NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_G5, NOTE_C5, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, NOTE_F5, NOTE_F5, NOTE_F5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_D5, NOTE_D5, NOTE_E5, NOTE_D5, NOTE_G5 }; // note durations: 4 = quarter note, 8 = eighth note, etc, also called tempo: int noteDurations[] = { 8, 8, 4, 8, 8, 4, 8, 8, 8, 8, 2, 8, 8, 8, 8, 8, 8, 8, 16, 16, 8, 8, 8, 8, 4, 4 }; void setup() { // iterate over the notes of the melody: int size = sizeof(noteDurations) / sizeof(int); for (int thisNote = 0; thisNote < size; thisNote++) { // to calculate the note duration, take one second divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1000 / noteDurations[thisNote]; tone(BUZZZER_PIN, melody[thisNote], noteDuration); // to distinguish the notes, set a minimum time between them. // The note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(BUZZZER_PIN); } } void loop() { // no need to repeat the melody. }

Applications/Idées de Projets

Un buzzer piézo ajoute du son à presque n'importe quel projet ESP32 C3 Super Mini.

  • Alarme de Porte : Émettre un bip lorsqu'un capteur de porte ou un capteur de mouvement est déclenché
  • Retour des Boutons : Jouer un court clic à chaque appui sur un bouton
  • Minuteur de Cuisine : Jouer une mélodie lorsque le compte à rebours atteint zéro
  • Capteur de Stationnement : Émettre des bips plus rapides à mesure qu'un capteur à ultrasons voit un objet se rapprocher
  • Boîte à Musique : Stocker plusieurs mélodies et en choisir une avec un bouton
  • Alerte de Batterie Faible : Jouer une tonalité d'avertissement lorsque la tension de la batterie baisse

Mettez-vous au Défi

Essayez ces petites tâches pour en apprendre davantage sur le son avec l'ESP32 C3 Super Mini.

  • Facile : Changez la mélodie pour jouer "Joyeux Anniversaire" avec les notes de pitches.h
  • Facile : Déplacez le code de la mélodie de setup() vers loop() pour qu'elle se répète indéfiniment
  • Moyen : Ajoutez un bouton sur GPIO6 pour que la mélodie ne joue que lorsque vous appuyez dessus
  • Moyen : Réalisez une sonnette avec un carillon à deux notes et une courte pause avant la sonnerie suivante
  • Avancé : Construisez un émetteur de code Morse qui épelle un court message texte
  • Avancé : Balayez la tonalité de 200 Hz à 4000 Hz pour trouver la fréquence la plus forte de votre buzzer

Commentaires

Tutoriels connexes

※ 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 !