Le buzzer passif 16 ohms 2 kHz ne contient aucun oscillateur : ce n’est pas un composant qui bipe tout seul, mais un transducteur qui traduit en son la fréquence qu’on lui envoie. Branché sur une sortie de microcontrôleur, il joue exactement ce que le programme décide — un bip court, une sirène qui monte et descend, une note de musique, un petit air.
C’est la contrepartie d’un branchement un peu plus soigné : il faut lui fournir un signal alternatif, et tenir compte de son impédance très basse. Deux broches, une résistance série, et la fonction tone() de l’Arduino : rien à installer, rien à régler.
Passif ou actif : ne pas confondre les deux
Les deux familles partagent le même boîtier cylindrique noir et le même écartement de broches, mais ne se pilotent pas du tout de la même façon :
- Un buzzer actif contient son propre oscillateur : il sonne dès qu’il reçoit 3 à 5 V continu. La fréquence est fixée en usine, elle ne se règle pas.
- Un buzzer passif — celui de cette page — n’a ni oscillateur ni fréquence propre à imposer : c’est le programme qui produit le signal. Il résonne autour de 2 kHz, mais il sait aussi jouer 1 kHz, 800 Hz ou une gamme complète.
Le test qui tranche se fait en cinq secondes : appliquez 3 à 5 V continu entre les deux broches. Un buzzer actif sonne franchement ; un buzzer passif reste muet — tout au plus un petit « clic » à la mise sous tension. Au dos, le modèle passif laisse voir une petite carte verte avec les pistes, là où le modèle actif est scellé.
Pour un son fixe, sans réglage et sans bibliothèque, prenez plutôt le buzzer 16 ohms 2 kHz actif : les deux références existent chez nous et le montage diffère complètement.
Caractéristiques techniques
| Type | Buzzer passif — transducteur sans oscillateur, pilotage externe obligatoire |
|---|---|
| Impédance annoncée | 16 ohms |
| Fréquence de résonance | Environ 2 kHz — c’est là que le son est le plus fort |
| Plage utile de pilotage | Quelques centaines de hertz à plusieurs kilohertz ; le volume faiblit nettement en s’éloignant de la résonance |
| Signal de commande | Signal carré d’amplitude logique, produit par tone() sur une sortie numérique 5 V ou 3,3 V |
| Boîtier | Cylindrique, plastique noir ; petite carte verte visible au dos |
| Connexion | Deux broches rigides traversantes — soudure ou plaque d’essai |
| Polarité | À respecter : une broche positive, une broche négative |
| Commande du volume | Par la résistance série ou par un transistor, selon le niveau sonore voulu |
Sa particularité : 16 ohms, et la résistance série qui va avec
Une sortie numérique d’Arduino ne peut fournir que quelques dizaines de milliampères — 40 mA en pointe absolue, et l’usage recommandé reste en dessous de 20 mA. Or un buzzer de 16 ohms branché directement sur du 5 V demanderait plus de 300 mA au moment de chaque transition. Relié entre la broche D9 et la masse, il sonne, mais la sortie travaille alors très au-delà de ce qu’elle supporte.
- Une résistance de 100 ohms en série ramène la pointe autour de 43 mA et la consommation moyenne sous la limite recommandée. Le son reste clair et parfaitement audible — c’est la solution la plus simple, et une valeur entre 100 et 220 ohms convient également.
- Un transistor en interrupteur (voir la variante plus bas) laisse passer le courant du buzzer hors du microcontrôleur et donne le maximum de volume.
- Le branchement direct, broche contre broche, ne doit rester qu’un essai de dépannage de quelques secondes, pour vérifier que le composant fonctionne.
Le rôle de cette résistance est aussi acoustique : elle atténue légèrement le son, c’est le prix à payer pour un montage qui tient. Si vous trouvez le volume insuffisant, ne retirez pas la résistance — passez plutôt par le transistor.
Mini-projet : sirène et petit air sur Arduino
Le programme qui suit produit d’abord une sirène montante et descendante, puis joue une courte phrase musicale. Il n’utilise que la fonction tone(), livrée avec l’IDE Arduino.
Ce qu’il faut
| Le son | Le buzzer passif de cette page |
|---|---|
| Le cerveau | Uno R3 + câble USB |
| Le support | Plaque d’essai 400 points |
| Les liaisons | 10 × fil mâle-mâle 10 cm |
| La protection | Une résistance 220 ohms (100 à 220 ohms conviennent) |
Le câblage
Arduino D9 | → une patte de la résistance |
|---|---|
| Autre patte de la résistance | → broche positive du buzzer |
| Broche négative du buzzer | → Arduino GND |
La polarité n’est pas une option ici : inversé, le transducteur ne sonne pas. Repérez la broche positive sur le boîtier ou sur la carte du dessous, et si vous avez un doute, faites un essai de quelques secondes dans un sens, puis dans l’autre.
Le programme
À copier dans l’IDE Arduino, puis à téléverser sur la carte :
/*
* Buzzer passif 16 ohms 2 kHz - sirene et petit air
* Carte : Arduino Uno R3
* Montage : D9 vers resistance 220 ohms, puis buzzer, puis GND
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte PIN_BUZZER = 9;
// Frequences des notes utilisees, en hertz.
const int NOTE_DO = 262;
const int NOTE_MI = 330;
const int NOTE_SOL = 392;
// L air joue : les notes, puis les durees en millisecondes.
const int notes[8] = { NOTE_DO, NOTE_MI, NOTE_SOL, NOTE_MI, NOTE_DO, NOTE_MI, NOTE_SOL, 0 };
const int durees[8] = { 250, 250, 250, 250, 350, 200, 600, 120 };
const byte NB_NOTES = 8;
// Sirène : la frequence monte par pas de 25 Hz, puis redescend.
void jouerSirene(int basse, int haute) {
int f = basse;
while (f != haute) {
tone(PIN_BUZZER, f);
delay(6);
f = f + 25;
}
while (f != basse) {
tone(PIN_BUZZER, f);
delay(6);
f = f - 25;
}
noTone(PIN_BUZZER);
}
void setup() {
// 1) La sirene, de 1000 Hz a 2000 Hz et retour.
jouerSirene(1000, 2000);
delay(600);
// 2) Le petit air, note par note.
byte i = 0;
while (i != NB_NOTES) {
if (notes[i] == 0) {
noTone(PIN_BUZZER); // une note a 0 signifie un silence
} else {
tone(PIN_BUZZER, notes[i]);
}
delay(durees[i]);
i = i + 1;
}
noTone(PIN_BUZZER);
}
void loop() {
// Rien a faire : la sequence est jouee une seule fois.
delay(4000);
}Comment ça marche
tone(broche, frequence)fait osciller la sortie à la fréquence demandée, et le buzzer la transforme en son.noTone(broche)arrête tout : sur un buzzer passif, c’est la seule façon de faire silence entre deux notes.- La sirène repose sur un pas de 25 Hz toutes les 6 millisecondes : la montée de 1000 à 2000 Hz dure environ un quart de seconde, ce qui donne un son continu et non un sifflement haché.
- Dans le tableau, une note égale à zéro sert de silence. La boucle
whilejoue les notes dans l’ordre en lisant les deux tableaux — modifier la mélodie consiste simplement à changer les valeurs des huit cases. - Un seul son à la fois : la fonction
tone()ne produit qu’une note par carte. Pour un accord, il faut plusieurs buzzers ou une sortie audio dédiée. delay()bloque le programme pendant la durée de la note. C’est sans conséquence ici, mais un montage qui doit continuer à mesurer pendant la musique emploieramillis()pour gérer le rythme sans rien interrompre.
Pour aller plus loin
- Un vrai carillon de porte — jouez deux notes longues à la suite dans
setup(), et déclenchez le montage avec un mini bouton poussoir lu enINPUT_PULLUP. - Une alarme de présence — la note de 2 kHz est la plus forte : jouez-la en alternance avec un silence court, à la suite d’un capteur de mouvement PIR.
- Une réponse au bruit — un module de capteur de son détecte un claquement de mains : le programme peut répondre par un bip de confirmation.
- De la musique, encore — cherchez les fréquences des notes (base 440 Hz pour le la) et remplissez les tableaux : le même programme couvre trois octaves sans modification de câblage.
Variante : plus fort avec un transistor
Quand le montage doit couvrir une pièce entière, le buzzer ne doit plus tirer son courant de la broche de l’Arduino. Un transistor 2N2222 monté en interrupteur règle la question : la base reçoit le signal par une résistance de 1 kΩ, l’émetteur va à la masse, et le buzzer se place entre la sortie 5V et le collecteur. Le programme reste exactement le même — tone() pilote la base au lieu du buzzer.
Dans ce montage, conservez malgré tout une résistance de 47 à 100 ohms en série avec le buzzer : elle limite le courant et protège le transducteur comme le transistor.
Questions fréquentes
Il est branché, mais il ne sonne pas. Pourquoi ?
Un buzzer passif est muet tant que personne ne lui envoie de fréquence : alimenté en continu, il reste silencieux. Vérifiez dans l’ordre que le programme appelle bien tone(), que la broche annoncée dans le code est celle où le buzzer est réellement relié, que noTone() ne suit pas immédiatement, et que la polarité est bonne. Un son de 5 millisecondes est également presque inaudible : une note doit durer au moins quelques dizaines de millisecondes pour s’entendre.
Peut-on le brancher directement sur une sortie numérique, sans résistance ?
Pour un essai de quelques secondes, oui. Pour un montage qui fonctionne des heures, non : à 16 ohms, la sortie est sollicitée bien au-delà de sa limite. La résistance de 100 à 220 ohms en série coûte un peu de volume et met la broche à l’abri — c’est le compromis à retenir sur tout montage durable.
Est-ce que tone() consomme une ressource particulière ?
Sur une carte Arduino Uno, elle utilise un des compteurs internes du microcontrôleur, mais aucune broche supplémentaire, et elle n’empêche pas l’usage des sorties PWM ordinaires. Retenez seulement qu’une carte ne peut produire qu’une seule note à la fois : appeler tone() sur une deuxième broche interrompt la première note.
Le son est trop aigu ou trop faible, comment le corriger ?
La fréquence choisie fait tout. Le rendement de ce transducteur culmine vers 2 kHz ; en dessous, le son devient plus grave et plus doux, et nettement en dessous de 400 Hz il s’affaiblit beaucoup. Pour une alarme, restez entre 2000 et 2500 Hz, en alternance avec des silences courts : c’est le signal le plus perçant et le plus économe.
Faut-il un condensateur ou une diode en plus ?
Rien n’est nécessaire pour un simple montage piloté par la carte : le transducteur et sa résistance série suffisent. Un montage à transistor, lui, se contente du transistor, de sa résistance de base et de la résistance série. Sur les buzzers qui contiennent une bobine, une diode de roue libre placée en parallèle protège le transistor ; elle ne gêne jamais le fonctionnement, elle est donc sans risque même si le boîtier est piézoélectrique.
À combiner avec
Si vous partez de zéro, le KIT Starter contient déjà la carte Uno, la plaque d’essai, les fils, des résistances et un buzzer : c’est la base la plus rapide pour essayer les codes sonores de cette page. Le Kit Arduino Uno maroc en couvre davantage, et pour compléter un montage de détection, le photorésistance ne fonctionnera que de nuit — de quoi faire taire le buzzer le jour.







