KY-006 Passiver Piezo-Buzzer
Mit PWM-Signalen verschiedener Frequenzen angesteuert, können mit dem passiven Piezo-Buzzer verschiedene Töne erzeugt werden.
- Arduino
- Raspberry Pi
- Raspberry Pi Pico
- Micro:Bit

Mit PWM-Signalen verschiedener Frequenzen angesteuert, können mit dem passiven Piezo-Buzzer verschiedene Töne erzeugt werden.
Betriebsspannung | 3,3 V - 5 V |
Tonerzeugungsbereich | 1,5 kHz - 2,5 kHz |
Abmessungen | 18,5 x 15 mm |
Pin Belegung
Codebeispiel Arduino
Anschlussbelegung Arduino
Arduino | Sensor |
---|---|
Pin 8 | Signal |
- | +V |
GND | GND |
Hierbei handelt es sich um ein Beispielprogramm, welches am Buzzer ein Alarmsignal mittels einer Rechteckspannung erzeugt.
int buzzer = 8 ; // Deklaration des Buzzer-Ausgangspin
void setup ()
{
pinMode (buzzer, OUTPUT) ;// Initialisierung als Ausgangspin
}
void loop ()
{
unsigned char i;
while (1)
{
// In diesem Programm wird, der Buzzer abwechselnd mit zwei verschiedenen Frequenzen angesteuert
// Das Signal hierbei besteht aus einer Rechteckspannung.
// Das an- und ausmachen am Buzzer generiert dann einen Ton, der in etwa der Frequenz entspricht.
// Die Frequenz definiert sich dadurch, wie lang jeweils die An- und Aus Phase sind
//Frequenz 1
for (i = 0; i <80; i++)
{
digitalWrite (buzzer, HIGH) ;
delay (1) ;
digitalWrite (buzzer, LOW) ;
delay (1) ;
}
//Frequenz 2
for (i = 0; i <100; i++)
{
digitalWrite (buzzer, HIGH) ;
delay (2) ;
digitalWrite (buzzer, LOW) ;
delay (2) ;
}
}
}
Beispielprogramm Download

Mit PWM-Signalen verschiedener Frequenzen angesteuert, können mit dem passiven Piezo-Buzzer verschiedene Töne erzeugt werden.
Betriebsspannung | 3,3 V - 5 V |
Tonerzeugungsbereich | 1,5 kHz - 2,5 kHz |
Abmessungen | 18,5 x 15 mm |
Pin Belegung
Codebeispiel Raspberry Pi
Anschlussbelegung Raspberry Pi
Raspberry Pi | Sensor |
---|---|
GPIO 24 [Pin 18] | Signal |
3,3V [Pin 1] * | +V * |
GND [Pin 6] | GND |
*Um ein Einbruch der Versorgungsspannung zu verhindern, muss der Sensor am Raspberry Pi auch noch zusätzlich mit an +3,3V angeschlossen werden da die Versorgung über den Signalpin nicht ausreichend sein kann.
Das Beispielprogramm nutzt Software-PWM, um am Ausgangspin eine Rechteckspannung mit definierbarer Frequenz zu erstellen.
Durch das An- und Ausschalten wird am Buzzer ein Ton erzeugt, der in etwa der Frequenz der Rechteckspannung entspricht.
# Benoetigte Module werden importiert und eingerichtet
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
# Hier wird der Ausgangs-Pin deklariert, an dem der Buzzer angeschlossen ist.
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.OUT)
# Das Software-PWM Modul wird initialisiert - hierbei wird die Frequenz 500Hz als Startwert genommen
Frequenz = 500 #In Hertz
pwm = GPIO.PWM(GPIO_PIN, Frequenz)
pwm.start(50)
# Das Programm wartet auf die Eingabe einer neuen PWM-Frequenz vom Benutzer.
# Bis dahin wird der Buzzer mit der vorher eingegebenen Freuqenz betrieben (Startwert 500Hz)
try:
while(True):
print ("----------------------------------------")
print ("Aktuelle Frequenz: %d" % Frequenz)
Frequenz = int(input("Bitte neue Frequenz eingeben (50-5000): "))
pwm.ChangeFrequency(Frequenz)
# Aufraeumarbeiten nachdem das Programm beendet wurde
except KeyboardInterrupt:
GPIO.cleanup()
Beispielprogramm Download
Zu starten mit dem Befehl:
sudo python3 KY006-RPi.py

Mit PWM-Signalen verschiedener Frequenzen angesteuert, können mit dem passiven Piezo-Buzzer verschiedene Töne erzeugt werden.
Betriebsspannung | 3,3 V - 5 V |
Tonerzeugungsbereich | 1,5 kHz - 2,5 kHz |
Abmessungen | 18,5 x 15 mm |
Pin Belegung
Codebeispiel Micro:Bit
Anschlussbelegung Micro:Bit:
Micro:Bit | Sensor |
---|---|
Pin 0 | Signal |
3V | +V |
GND | GND |
Da dieser Sensor über PWM gesteuert wird muss dieser an Pin 0 des Micro:Bits angeschlossen werden.

Beispielprogramm Download

Mit PWM-Signalen verschiedener Frequenzen angesteuert, können mit dem passiven Piezo-Buzzer verschiedene Töne erzeugt werden.
Betriebsspannung | 3,3 V - 5 V |
Tonerzeugungsbereich | 1,5 kHz - 2,5 kHz |
Abmessungen | 18,5 x 15 mm |
Pin Belegung
Codebeispiel Raspberry Pi Pico
Anschlussbelegung Raspberry Pi Pico
Raspberry Pi Pico | Sensor |
---|---|
GPIO15 | Signal |
- | +V |
GND | GND |
Hierbei handelt es sich um ein Beispielprogramm, welches am Buzzer einen Song abspielt.
# Bibliotheken laden
from machine import Pin, PWM
from utime import sleep
# Initialisierung von GPIO15 als PWM Pin
buzzer = PWM(Pin(15))
# Definierung der verschiedenen Tonlagen
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
}
# Definierung des zu spielenden Songs in einer Liste
song = ["E5","G5","A5","P","E5","G5","B5","A5","P","E5","G5","A5","P","G5","E5"]
# Funktion: Einstellung der auszugebenen Frequenz
def playtone(frequency):
buzzer.duty_u16(1000)
buzzer.freq(frequency)
# Funktion: Ausschalten des Buzzers
def bequiet():
buzzer.duty_u16(0)
# Funktion: Ausgabe des zu spielenden Songs
def playsong(mysong):
for i in range(len(mysong)):
if (mysong[i] == "P"):
bequiet()
else:
playtone(tones[mysong[i]])
sleep(0.3)
bequiet()
# Endlose Ausgabe des definierten Songs
playsong(song)