• Arduino
  • Raspberry Pi
  • Raspberry Pi Pico
  • Micro:Bit

Mit diesem Modul können Sie verschiedene Töne erzeugen, indem Sie den passiven Piezo-Buzzer mit PWM-Signalen ansteuern. PWM-Signale sind spezielle elektrische Signale, die in verschiedenen Frequenzen gesendet werden können, um unterschiedliche Töne zu erzeugen. Der Buzzer kann Töne im Bereich von 1,5 kHz bis 2,5 kHz erzeugen. Er funktioniert mit einer Spannung von 3,3 V bis 5 V und ist klein und kompakt, mit Abmessungen von 18,5 x 15 mm. Dieses Modul ist ideal, wenn Sie akustische Signale oder Alarmtöne in Ihren Projekten benötigen, und lässt sich einfach einbinden.

Technische Daten
Betriebsspannung 3,3 V - 5 V
Tonerzeugungsbereich 1,5 kHz - 2,5 kHz
Abmessungen 18,5 x 15 mm

Anschlussbelegung


Arduino Sensor
Pin 8 Signal
- +V
GND GND

Code-Beispiel

Hierbei handelt es sich um ein Beispielprogramm, welches am Buzzer ein Alarmsignal mittels einer Rechteckspannung erzeugt.

Um das folgende Codebeispiel auf Ihren Arduino zu laden, empfehlen wir die Verwendung der Arduino IDE. In der IDE können Sie den passenden Port und das richtige Board für Ihr Gerät auswählen.

Kopieren Sie den unten stehenden Code in Ihre IDE. Um den Code auf Ihren Arduino hochzuladen, klicken Sie einfach auf den Upload-Button.

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
     
    // 1.Frequenz
    for(i = 0; i <80; i++) {
      digitalWrite(buzzer, HIGH);
      delay(1);
      digitalWrite(buzzer, LOW);
      delay(1);
    }

    // 1 Sekunde Pause
    delay(1000);

    // 2.Frequenz
    for(i = 0; i <100; i++) {
      digitalWrite(buzzer, HIGH);
      delay(2) ;
      digitalWrite(buzzer, LOW);
      delay(2);
    }

    // 1 Sekunde Pause
    delay(1000);
  }
}

Mit diesem Modul können Sie verschiedene Töne erzeugen, indem Sie den passiven Piezo-Buzzer mit PWM-Signalen ansteuern. PWM-Signale sind spezielle elektrische Signale, die in verschiedenen Frequenzen gesendet werden können, um unterschiedliche Töne zu erzeugen. Der Buzzer kann Töne im Bereich von 1,5 kHz bis 2,5 kHz erzeugen. Er funktioniert mit einer Spannung von 3,3 V bis 5 V und ist klein und kompakt, mit Abmessungen von 18,5 x 15 mm. Dieses Modul ist ideal, wenn Sie akustische Signale oder Alarmtöne in Ihren Projekten benötigen, und lässt sich einfach einbinden.

Technische Daten
Betriebsspannung 3,3 V - 5 V
Tonerzeugungsbereich 1,5 kHz - 2,5 kHz
Abmessungen 18,5 x 15 mm

Anschlussbelegung


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.

Code-Beispiel

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.

from gpiozero import PWMOutputDevice

# Hier wird der Ausgangs-Pin deklariert, an dem der Buzzer angeschlossen ist.
buzzer = PWMOutputDevice(24, frequency=500, initial_value=0.5)

# Das Programm wartet auf die Eingabe einer neuen PWM-Frequenz vom Benutzer.
# Bis dahin wird der Buzzer mit der vorher eingegebenen Frequenz betrieben (Startwert 500Hz)
try:
    while True:
        print("----------------------------------------")
        aktuelle_frequenz = buzzer.frequency
        print(f"Aktuelle Frequenz: {aktuelle_frequenz:.0f}")
        neue_frequenz = int(input("Bitte neue Frequenz eingeben (50-5000): "))
        buzzer.frequency = neue_frequenz
         
# Aufräumarbeiten, nachdem das Programm beendet wurde
except KeyboardInterrupt:
    buzzer.close()
    print("Programm beendet")

Mit diesem Modul können Sie verschiedene Töne erzeugen, indem Sie den passiven Piezo-Buzzer mit PWM-Signalen ansteuern. PWM-Signale sind spezielle elektrische Signale, die in verschiedenen Frequenzen gesendet werden können, um unterschiedliche Töne zu erzeugen. Der Buzzer kann Töne im Bereich von 1,5 kHz bis 2,5 kHz erzeugen. Er funktioniert mit einer Spannung von 3,3 V bis 5 V und ist klein und kompakt, mit Abmessungen von 18,5 x 15 mm. Dieses Modul ist ideal, wenn Sie akustische Signale oder Alarmtöne in Ihren Projekten benötigen, und lässt sich einfach einbinden.

Technische Daten
Betriebsspannung 3,3 V - 5 V
Tonerzeugungsbereich 1,5 kHz - 2,5 kHz
Abmessungen 18,5 x 15 mm

Anschlussbelegung


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.

Code-Beispiel

	
		input.onButtonPressed(Button.A, function () {
		    music.playMelody("C F D G E A F B ", 500)
		})
	

Beispielprogramm Download

microbit-KY-006.zip

Mit diesem Modul können Sie verschiedene Töne erzeugen, indem Sie den passiven Piezo-Buzzer mit PWM-Signalen ansteuern. PWM-Signale sind spezielle elektrische Signale, die in verschiedenen Frequenzen gesendet werden können, um unterschiedliche Töne zu erzeugen. Der Buzzer kann Töne im Bereich von 1,5 kHz bis 2,5 kHz erzeugen. Er funktioniert mit einer Spannung von 3,3 V bis 5 V und ist klein und kompakt, mit Abmessungen von 18,5 x 15 mm. Dieses Modul ist ideal, wenn Sie akustische Signale oder Alarmtöne in Ihren Projekten benötigen, und lässt sich einfach einbinden.

Technische Daten
Betriebsspannung 3,3 V - 5 V
Tonerzeugungsbereich 1,5 kHz - 2,5 kHz
Abmessungen 18,5 x 15 mm

Anschlussbelegung


Raspberry Pi Pico Sensor
GPIO15 Signal
- +V
GND GND

Code-Beispiel

Hierbei handelt es sich um ein Beispielprogramm, welches am Buzzer einen Song abspielt.

Um das folgende Codebeispiel auf Ihren Pico zu laden, empfehlen wir die Verwendung von der Thonny IDE. Sie müssen nur zunächst unter Run > Configure interpreter … > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico) auswählen.

Kopieren Sie den untenstehenden Code nun in Ihre IDE und klicken Sie auf Run.

# 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 zum Einstellen der auszugebenen Frequenz
def playtone(frequency):
    buzzer.duty_u16(1000)
    buzzer.freq(frequency)

# Funktion zum Ausschalten des Buzzers
def bequiet():
    buzzer.duty_u16(0)

# Funktion zur 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()

# Ausgabe des definierten Songs
playsong(song)