• 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

microbit-KY-006.zip

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)