5.4.7 Proyecto 4.1 Reproducir ‘Happy Birthday’

1. Descripción
Hay un elemento amplificador de potencia de audio en la placa de expansión para el coche, que actúa como un equipo de amplificación externo para reproducir música.
En este proyecto, trabajaremos en reproducir una pieza musical usándolo.
2. Conocimiento del componente
Passive Buzzer: El amplificador de potencia de audio (como el passive buzzer) no tiene oscilación interna. Al controlarlo, necesitamos aplicar ondas cuadradas de diferentes frecuencias al polo positivo del componente y conectar a tierra el polo negativo para controlar que el amplificador produzca sonidos de diferentes frecuencias.
3. Pin de control
Passive Buzzer |
25 |
|---|---|
\ |
4. Código de prueba
#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. Resultado de la prueba
El passive buzzer reproducirá ‘Happy Birthday’.