KY-006 Module Buzzer passif
Contrôlé par des signaux PWM de différentes fréquences, le buzzer piézo passif peut être utilisé pour générer différents sons.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit
Ce module permet de générer différents sons en pilotant le buzzer pièze passif avec des signaux PWM. Les signaux PWM sont des signaux électriques spéciaux qui peuvent être envoyés à différentes fréquences afin de produire différents sons. Le buzzer peut produire des sons dans une plage de 1,5 kHz à 2,5 kHz. Il fonctionne avec une tension de 3,3 V à 5 V et est petit et compact, avec des dimensions de 18,5 x 15 mm. Ce module est idéal si vous avez besoin de signaux acoustiques ou de sons d'alarme dans vos projets, et il est facile à intégrer.
Données techniques | |
---|---|
Tension de service | 3,3 V - 5 V |
Zone de génération de sons | 1,5 kHz - 2,5 kHz |
Dimensions | 18,5 x 15 mm |
Affectation des broches
Arduino | Capteur |
---|---|
Pin 8 | Signal |
- | +V |
GND | GND |
Exemple de code
Il s'agit d'un exemple de programme qui génère un signal d'alarme sur le buzzer au moyen d'une tension rectangulaire.
Pour charger l'exemple de code suivant sur votre Arduino, nous vous recommandons d'utiliser l'IDE Arduino. Dans l'IDE, vous pouvez choisir le port et la carte qui conviennent à votre appareil.
Copiez le code ci-dessous dans votre IDE. Pour télécharger le code sur votre Arduino, il vous suffit de cliquer sur le bouton " Upload ".
int buzzer = 8 ; // Déclaration de la broche de sortie du buzzer
void setup() {
pinMode(buzzer, OUTPUT); // Initialisation comme broche de sortie
}
void loop() {
unsigned char i;
while(1) {
// Dans ce programme, le buzzer est commandé en alternance avec deux fréquences différentes.
// Le signal est constitué d'une tension rectangulaire.
// L'activation et la désactivation du buzzer génèrent alors un son qui correspond à peu près à la fréquence.
// La fréquence est définie par la longueur des phases d'allumage et d'extinction.
// 1.Fréquence
for(i = 0; i <80; i++) {
digitalWrite(buzzer, HIGH);
delay(1);
digitalWrite(buzzer, LOW);
delay(1);
}
// 1 seconde de pause
delay(1000);
// 2.Fréquence
for(i = 0; i <100; i++) {
digitalWrite(buzzer, HIGH);
delay(2) ;
digitalWrite(buzzer, LOW);
delay(2);
}
// 1 seconde de pause
delay(1000);
}
}
Ce module permet de générer différents sons en pilotant le buzzer piézo passif avec des signaux PWM. Les signaux PWM sont des signaux électriques spéciaux qui peuvent être envoyés à différentes fréquences afin de produire différents sons. Le buzzer peut produire des sons dans une plage de 1,5 kHz à 2,5 kHz. Il fonctionne avec une tension de 3,3 V à 5 V et est petit et compact, avec des dimensions de 18,5 x 15 mm. Ce module est idéal si vous avez besoin de signaux acoustiques ou de sons d'alarme dans vos projets, et il est facile à intégrer.
Données techniques | |
---|---|
Tension de service | 3,3 V - 5 V |
Zone de génération de sons | 1,5 kHz - 2,5 kHz |
Dimensions | 18,5 x 15 mm |
Affectation des broches
Raspberry Pi | Capteur |
---|---|
GPIO 24 [Pin 18] | Signal |
3,3V [Pin 1] * | +V * |
GND [Pin 6] | GND |
*Pour éviter une chute de la tension d'alimentation, le capteur sur le Raspberry Pi doit également être connecté à +3,3V car l'alimentation via la broche de signal peut ne pas être suffisante.
Exemple de code
Exemple de programmation dans le langage de programmation Python.
Le programme d'exemple utilise le logiciel PWM pour créer une tension carrée avec une fréquence définissable sur la broche de sortie.
En l'allumant et en l'éteignant, un son est généré au niveau du buzzer, qui correspond approximativement à la fréquence de la tension rectangulaire.
from gpiozero import PWMOutputDevice
# On déclare ici la broche de sortie à laquelle le buzzer est connecté.
buzzer = PWMOutputDevice(24, frequency=500, initial_value=0.5)
# Le programme attend que l'utilisateur entre une nouvelle fréquence PWM.
# En attendant, le buzzer fonctionne à la fréquence précédemment introduite (valeur de départ 500Hz).
try:
while True:
print("----------------------------------------")
aktuelle_frequenz = buzzer.frequency
print(f"Fréquence actuelle : {aktuelle_frequenz:.0f}")
neue_frequenz = int(input("Veuillez saisir une nouvelle fréquence (50-5000) : "))
buzzer.frequency = neue_frequenz
# Nettoyage après la fin du programme
except KeyboardInterrupt:
buzzer.close()
print("Programme terminé")
Ce module permet de générer différents sons en pilotant le buzzer piézo passif avec des signaux PWM. Les signaux PWM sont des signaux électriques spéciaux qui peuvent être envoyés à différentes fréquences afin de produire différents sons. Le buzzer peut produire des sons dans une plage de 1,5 kHz à 2,5 kHz. Il fonctionne avec une tension de 3,3 V à 5 V et est petit et compact, avec des dimensions de 18,5 x 15 mm. Ce module est idéal si vous avez besoin de signaux acoustiques ou de sons d'alarme dans vos projets, et il est facile à intégrer.
Données techniques | |
---|---|
Tension de service | 3,3 V - 5 V |
Zone de génération de sons | 1,5 kHz - 2,5 kHz |
Dimensions | 18,5 x 15 mm |
Affectation des broches
Micro:Bit | Sensor |
---|---|
Pin 0 | Signal |
3V | +V |
GND | GND |
Exemple de code
Ceci est un exemple MakeCode pour Micro:Bit qui fait essentiellement la même chose que les exemples des deux autres variantes. Cependant, cet exemple est plus proche de celui du Raspberry Pi que de celui de l'Arduino.
Comme ce capteur est contrôlé par PWM, il doit être connecté à la broche 0 du Micro:bit puisque c'est là que se trouve la broche PWM du Micro:bit.
Veuillez noter que le capteur ne doit être connecté qu'à la broche 0 du Micro:Bit.
input.onButtonPressed(Button.A, function () {
music.playMelody("C F D G E A F B ", 500)
})
Téléchargement d'un exemple de programme
Ce module permet de générer différents sons en pilotant le buzzer piézo passif avec des signaux PWM. Les signaux PWM sont des signaux électriques spéciaux qui peuvent être envoyés à différentes fréquences afin de produire différents sons. Le buzzer peut produire des sons dans une plage de 1,5 kHz à 2,5 kHz. Il fonctionne avec une tension de 3,3 V à 5 V et est petit et compact, avec des dimensions de 18,5 x 15 mm. Ce module est idéal si vous avez besoin de signaux acoustiques ou de sons d'alarme dans vos projets, et il est facile à intégrer.
Données techniques | |
---|---|
Tension de service | 3,3 V - 5 V |
Zone de génération de sons | 1,5 kHz - 2,5 kHz |
Dimensions | 18,5 x 15 mm |
Affectation des broches
Raspberry Pi Pico | Capteur |
---|---|
GPIO15 | Signal |
- | +V |
GND | GND |
Exemple de code
Voici un exemple de programme qui joue une chanson au buzzer.
Pour charger l'exemple de code suivant sur votre Pico, nous vous recommandons d'utiliser l'IDE Thonny. Il vous suffit de commencer par sélectionner Run > Configure interpreter ... > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico).
Copiez maintenant le code ci-dessous dans votre IDE et cliquez sur Run.
# Charger les bibliothèques
from machine import Pin, PWM
from utime import sleep
# Initialisation de GPIO15 comme broche PWM
buzzer = PWM(Pin(15))
# Définir les différents pitches
tones = {
"B0": 31,
"C1": 33,
"CS1": 35,
"D1": 37,
"DS1": 39,
"E1": 41,
"F1": 44,
"FS1": 46,
"G1": 49,
"GS1": 52,
"A1": 55,
"AS1": 58,
"B1": 62,
"C2": 65,
"CS2": 69,
"D2": 73,
"DS2": 78,
"E2": 82,
"F2": 87,
"FS2": 93,
"G2": 98,
"GS2": 104,
"A2": 110,
"AS2": 117,
"B2": 123,
"C3": 131,
"CS3": 139,
"D3": 147,
"DS3": 156,
"E3": 165,
"F3": 175,
"FS3": 185,
"G3": 196,
"GS3": 208,
"A3": 220,
"AS3": 233,
"B3": 247,
"C4": 262,
"CS4": 277,
"D4": 294,
"DS4": 311,
"E4": 330,
"F4": 349,
"FS4": 370,
"G4": 392,
"GS4": 415,
"A4": 440,
"AS4": 466,
"B4": 494,
"C5": 523,
"CS5": 554,
"D5": 587,
"DS5": 622,
"E5": 659,
"F5": 698,
"FS5": 740,
"G5": 784,
"GS5": 831,
"A5": 880,
"AS5": 932,
"B5": 988,
"C6": 1047,
"CS6": 1109,
"D6": 1175,
"DS6": 1245,
"E6": 1319,
"F6": 1397,
"FS6": 1480,
"G6": 1568,
"GS6": 1661,
"A6": 1760,
"AS6": 1865,
"B6": 1976,
"C7": 2093,
"CS7": 2217,
"D7": 2349,
"DS7": 2489,
"E7": 2637,
"F7": 2794,
"FS7": 2960,
"G7": 3136,
"GS7": 3322,
"A7": 3520,
"AS7": 3729,
"B7": 3951,
"C8": 4186,
"CS8": 4435,
"D8": 4699,
"DS8": 4978
}
# Définir la chanson à jouer dans une liste
song = ["E5","G5","A5","P","E5","G5","B5","A5","P","E5","G5","A5","P","G5","E5"]
# Fonction de réglage de la fréquence de sortie
def playtone(frequency):
buzzer.duty_u16(1000)
buzzer.freq(frequency)
# Fonction d'arrêt du buzzer
def bequiet():
buzzer.duty_u16(0)
# Fonction de sortie de la chanson à jouer
def playsong(mysong):
for i in range(len(mysong)):
if (mysong[i] == "P"):
bequiet()
else:
playtone(tones[mysong[i]])
sleep(0.3)
bequiet()
# Sortie de la chanson définie
playsong(song)