Piezo-Summer (Buzzer)
AktuatorErzeugt Toene durch einen Piezo-Kristall. Mit der Arduino-Funktion tone() kann man verschiedene Frequenzen abspielen — sogar einfache Melodien! Es gibt zwei Arten: aktive (piepen von selbst) und passive (brauchen ein Signal).
Tipps:
Passiver Buzzer = flexibel (verschiedene Toene moeglich). Aktiver Buzzer = nur ein Ton (piept wenn Strom fliesst). Den Unterschied erkennt man: beim passiven sieht man die gruene Platine, beim aktiven ist die Oberseite versiegelt.
Technische Daten
| Kategorie | Ton/Akustik |
|---|---|
| Schnittstelle | Digital/PWM |
| Pinbelegung | Signal (+), GND (-) |
| Anzahl Pins | 2 |
| Messbereich | Frequenz: ca. 20 Hz bis 20 kHz |
| Betriebsspannung | 3.0V – 5.0V |
| Stromverbrauch | 30.0 mA |
Anschluss
Arduino Uno R3
Pins:
D8=Signal (+), GND=GND (-)
Hinweise: Plus-Seite hat eine Markierung oder laengeres Bein. tone(pin, frequenz) zum Spielen.
Codebeispiele
Toene und eine Melodie spielen Anfaenger
Mit tone(pin, frequenz) erzeugen wir Toene verschiedener Hoehe. Hohe Frequenz = hoher Ton, niedrige Frequenz = tiefer Ton. Wir spielen einzelne Toene und dann 'Alle meine Entchen'.
Benoetigte Bibliotheken: Keine (tone() ist eingebaut)
// ============================================
// Piezo-Summer: Toene und Melodie spielen
// ============================================
// Anschluss: Signal (+)=Pin 8, GND (-)=GND
#define BUZZER_PIN 8
// Noten-Frequenzen (in Hz)
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 494
#define NOTE_C5 523
void setup() {
Serial.begin(9600);
Serial.println("Piezo-Demo: Toene und Melodie");
// === Einzelne Toene ===
Serial.println("Tonleiter C-Dur:");
int tonleiter[] = {NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4,
NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5};
for (int i = 0; i < 8; i++) {
tone(BUZZER_PIN, tonleiter[i]); // Ton starten
delay(300); // 300ms halten
noTone(BUZZER_PIN); // Ton stoppen
delay(50); // Kurze Pause zwischen Toenen
}
delay(1000);
// === Melodie: Alle meine Entchen ===
Serial.println("Melodie: Alle meine Entchen");
int melodie[] = {NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_G4,
NOTE_A4, NOTE_A4, NOTE_A4, NOTE_A4, NOTE_G4};
int dauer[] = {400, 400, 400, 400, 800, 800,
400, 400, 400, 400, 800};
for (int i = 0; i < 11; i++) {
tone(BUZZER_PIN, melodie[i]);
delay(dauer[i]);
noTone(BUZZER_PIN);
delay(50);
}
Serial.println("Fertig!");
}
void loop() {
// Nichts — Melodie spielt nur einmal beim Start
}
Projekte mit diesem Bauteil
Probleme mit Piezo-Summer (Buzzer)?
KI-Lernhelfer fragen