Arduino - Buzzer
Dans ce tutoriel, nous allons apprendre à programmer un Arduino 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 Arduino - 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 STEM V3 (Arduino 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 a généralement deux broches :
- Broche négative (-) (noire) : doit être connectée à la masse (GND) de l'alimentation DC
- Broche positive (+) (rouge) : doit être connectée à 12V de l'alimentation DC
Comment contrôler un buzzer actif de 12V
Si un buzzer actif de 12V est alimenté par une alimentation de 12V, il émet un son. Pour contrôler un buzzer actif de 12V, nous devons utiliser un relais entre l'Arduino et le buzzer actif de 12V. L'Arduino peut contrôler le buzzer actif de 12V via le relais. Si vous ne connaissez pas le relais (brochage, fonctionnement, programmation...), apprenez-en plus sur le relais dans le Arduino - 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 Arduino - 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'Arduino | 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 le projet doit fonctionner longtemps ou être placé dans un boîtier, il vaut mieux fixer les fils avec des vis. Essayez un Screw Shield V2 ou un Proto Screw Terminal Block Shield : il se place sur la carte Arduino et chaque broche a son propre bornier à vis. Voici le schéma de câblage avec le Screw Shield V2.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code Arduino
Le code ci-dessous active le buzzer 12V pendant deux secondes et le désactive pendant cinq secondes, de manière répétée.
Étapes rapides
- Connectez Arduino au PC via le 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 télécharger le code vers Arduino
- Observez 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 | À |
|---|---|
| Broche 9 de l'Arduino | Module MOSFET PWM |
| GND de l'Arduino | 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 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 Arduino
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'Arduino.
- 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 Arduino - Buzzer piézoélectrique.. Pour un buzzer ou une sirène AC, utilisez le relais.