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
Masse 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

KY006-Arduino.zip

Codebeispiel Raspberry Pi

Anschlussbelegung Raspberry Pi

Raspberry Pi Sensor
GPIO 24 [Pin 18] Signal
3,3V [Pin 1] * +V *
Masse [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

KY006-RPi.zip

Zu starten mit dem Befehl:

sudo python3 KY006-RPi.py

Codebeispiel Micro:Bit

Anschlussbelegung Micro:Bit:

Micro:Bit Sensor
Pin 0 Signal
3V +V
Masse GND

Da dieser Sensor über PWM gesteuert wird muss dieser an Pin 0 des Micro:Bits angeschlossen werden.

Beispielprogramm Download

microbit-KY-006.zip