5.4.7 プロジェクト 4.1 ハッピーバースデーを演奏する

1. 説明
車載拡張ボードには音声パワーアンプ素子があり、これは音楽を再生するための外部増幅装置として機能します。
このプロジェクトでは、それを使って楽曲を演奏します。
2. コンポーネントの知識
Passive Buzzer: 音声パワーアンプ(passive buzzerのような)は内部発振を持ちません。制御する際は、部品の正極に異なる周波数の方形波を入力し、負極を接地してアンプを異なる周波数で鳴らす必要があります。
3. 制御ピン
Passive Buzzer |
25 |
|---|---|
\ |
4. テストコード
#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. テスト結果
passive buzzerは「Happy Birthday」の曲を演奏します。