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.

À propos du buzzer actif 12V

Le buzzer actif 12V peut produire un son fort, ce qui convient pour le système d'alarme.

Brochage

Schéma de brochage du buzzer actif 12V Arduino

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

Schéma de câblage du buzzer actif 12V Arduino

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.

Schéma de câblage du buzzer actif 12V Arduino (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.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-buzzer */ #define RELAY_PIN 4 // the Arduino pin that controls the buzzer via relay // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin D4 as an output. pinMode(RELAY_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(RELAY_PIN, HIGH); // turn on buzzer 2 seconds delay(2000); digitalWrite(RELAY_PIN, LOW); // turn off buzzer 5 seconds delay(5000); }

É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

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

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 code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-buzzer */ #define MOSFET_PIN 9 // The Arduino pin 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'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.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
Alarm: fast beeps Alarm: long beep Quiet Alarm: fast beeps Alarm: long beep Quiet
Ln 11, Col 1
Arduino Uno 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 Arduino - Buzzer piézoélectrique.. Pour un buzzer ou une sirène AC, utilisez le relais.

Vidéo

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