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

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.
Affectation des broches
Exemple de code Arduino
Affectation des broches Arduino
Arduino | Capteur |
---|---|
Pin 8 | Signal |
- | +V |
GND | GND |
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.
int buzzer = 8 ; // Déclaration de la broche de sortie vers le buzzer
void setup ()
{
pinMode (buzzer, OUTPUT) ;// Initialisation comme broche de sortie
}
void loop ()
{
unsigned char i;
while (1)
{
// Dans ce programme, le buzzer est alimenté en alternance avec deux fréquences différentes.
// Le signal a la forme d'une tension rectangulaire.
// Le buzzer émet un son qui correspond alternativement à chaque fréquance.
//Fréquence 1
for (i = 0; i <80; i++)
{
digitalWrite (buzzer, HIGH) ;
delay (1) ;
digitalWrite (buzzer, LOW) ;
delay (1) ;
}
//Fréquence 2
for (i = 0; i <100; i++)
{
digitalWrite (buzzer, HIGH) ;
delay (2) ;
digitalWrite (buzzer, LOW) ;
delay (2) ;
}
}
}
Télécharger l'exemple de programme

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.
Affectation des broches
Exemple de code Raspberry Pi
Affectation des broches Raspberry Pi
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 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.
#!/usr/bin/python
# coding=utf-8
# Les modules nécessaires sont importés et mis en place
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
# Déclaration de la broche de sortie raccordée au buzzer
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.OUT)
# Initialisation du module PWM - la fréquence de 500 Hz est prise comme valeur de départ
Frequence = 500 #In Hertz
pwm = GPIO.PWM(GPIO_PIN, Frequence)
pwm.start(50)
# Le programme attend l'entrée d'une nouvelle fréquence PWM par l'utilisateur.
# Jusque-là, le buzzer est alimenté par la tension de fréquence précédemment saisie (valeur initiale 500 Hz)
try:
while(True):
print("----------------------------------------")
print("Fréquence actuelle: %d" % Frequence)
Frequence = input("Entrez une nouvelle fréquence (50-5000):")
pwm.ChangeFrequency(Frequence)
# remise en place de tous les GPIO en entrées
except KeyboardInterrupt:
GPIO.cleanup()
Exemple de téléchargement de programme
Pour commencer avec la commande :
sudo python3 KY006-RPi.py

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.
Affectation des broches
Exemple de code Micro:Bit
Affectation des broches Micro:Bit :
Micro:Bit | Sensor |
---|---|
Pin 0 | Signal |
3V | +V |
GND | GND |
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.

Téléchargement d'un exemple de programme

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.
Affectation des broches
Exemple de code Raspberry Pi Pico
Affectation des broches Raspberry Pi Pico
Raspberry Pi Pico | Capteur |
---|---|
GPIO15 | Signal |
- | +V |
GND | GND |
Voici un exemple de programme qui joue une chanson au buzzer.
# 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 : Réglage de la fréquence à émettre
def playtone(frequency):
buzzer.duty_u16(1000)
buzzer.freq(frequency)
# Fonction : Désactiver le buzzer
def bequiet():
buzzer.duty_u16(0)
# Fonction : 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 sans fin de la chanson définie
playsong(song)