5.4.7 Projet 4.1 Jouer Joyeux Anniversaire

image43

1. Description

Il y a un élément amplificateur audio sur la carte d’extension pour voiture, qui sert d’équipement d’amplification externe pour jouer de la musique.

Dans ce projet, nous allons l’utiliser pour jouer un morceau de musique.

2. Connaissances sur le composant

Buzzer passif : L’amplificateur audio (comme le buzzer passif) n’a pas d’oscillation interne. Pour le contrôler, il faut appliquer des signaux carrés de différentes fréquences sur la broche positive du composant et relier la broche négative à la masse afin de faire produire des sons de fréquences différentes par l’amplificateur.

3. Broche de contrôle

Buzzer passif

25

\

4. Code de 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. Résultat du test

Le buzzer passif jouera “Joyeux Anniversaire”.