5.4.7 Projekt 4.1 Happy Birthday abspielen

bild43

1. Beschreibung

Auf der Erweiterungsplatine für das Auto befindet sich ein Audio-Leistungsverstärker, der als externe Verstärkereinheit zum Abspielen von Musik dient.

In diesem Projekt verwenden wir ihn, um ein Musikstück abzuspielen.

2. Komponentenwissen

Passiver Summer: Der Audio-Leistungsverstärker (wie der passive Summer) hat keine interne Schwingung. Beim Ansteuern müssen wir Rechtecksignale mit unterschiedlichen Frequenzen an den positiven Anschluss des Bauteils einspeisen und den negativen Anschluss auf Masse legen, damit der Verstärker Töne verschiedener Frequenzen erzeugt.

3. Steuerpin

Passiver Summer

25

\

4. Testcode

#include <BuzzerESP32.h>

BuzzerESP32 buzzer(25); // Initialize buzzer on GPIO25

void setup()
{
  buzzer.setTimbre(30); // Set timbre (sound quality)
  birthday();          // Play birthday melody
}

void loop()
{
  // Empty loop as melody plays only once at startup
}

void birthday()
{
  // Play birthday melody - parameters are (frequency, duration)
  buzzer.playTone(294, 250);  // D4
  buzzer.playTone(440, 250);  // A4
  buzzer.playTone(392, 250);  // G4
  buzzer.playTone(532, 250);  // C5 (slightly sharp)
  buzzer.playTone(494, 250);  // B4
  buzzer.playTone(392, 250);  // G4
  buzzer.playTone(440, 250);  // A4
  buzzer.playTone(392, 250);  // G4
  buzzer.playTone(587, 250);  // D5
  buzzer.playTone(532, 250);  // C5 (slightly sharp)
  buzzer.playTone(392, 250);  // G4
  buzzer.playTone(784, 250);  // G5
  buzzer.playTone(659, 250);  // E5
  buzzer.playTone(532, 250);  // C5 (slightly sharp)
  buzzer.playTone(494, 250);  // B4
  buzzer.playTone(440, 250);  // A4
  buzzer.playTone(698, 250);  // F5
  buzzer.playTone(659, 250);  // E5
  buzzer.playTone(532, 250);  // C5 (slightly sharp)
  buzzer.playTone(587, 250);  // D5
  buzzer.playTone(532, 500);  // C5 (slightly sharp) - longer duration
  buzzer.playTone(0, 0);      // Turn off buzzer
}

5. Testergebnis

Der passive Summer spielt “Happy Birthday”.