5.4.7 Progetto 4.1 Suonare ‘Happy Birthday’

immagine43

1. Descrizione

Sulla scheda di espansione per auto è presente un elemento amplificatore audio, che funge da dispositivo di amplificazione esterno per riprodurre musica.

In questo progetto useremo tale elemento per riprodurre un brano musicale.

2. Informazioni sul componente

Cicalino passivo: L’amplificatore audio (come il cicalino passivo) non ha oscillazione interna. Per controllarlo, è necessario fornire onde quadre di diverse frequenze al polo positivo del componente e collegare a massa il polo negativo per far emettere all’amplificatore suoni di diverse frequenze.

3. Pin di controllo

Cicalino passivo

25

\

4. Codice di test

#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. Risultato del test

Il cicalino passivo suonerà ‘Happy Birthday’.