利用蜂鸣器buzzer写一个能在arduino上面执行的生日快乐歌编程
时间: 2024-03-16 18:45:05 浏览: 217
用蜂鸣器实现生日快乐歌
5星 · 资源好评率100%
好的,下面是能在Arduino上执行的生日快乐歌的编程:
```
int buzzerPin = 8; //连接蜂鸣器的引脚
// 生日快乐歌的音符和节奏
int melody[] = { // 音符
NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_F4, NOTE_E4,
NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_G4, NOTE_F4,
NOTE_C4, NOTE_C4, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_B4, NOTE_B4, NOTE_A4, NOTE_F4,
NOTE_G4, NOTE_F4, NOTE_END};
int beats[] = { // 节奏
4, 4, 2, 2, 2, 2,
4, 4, 2, 2, 2, 2,
4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 4};
void setup() {
pinMode(buzzerPin, OUTPUT); // 设置引脚为输出模式
}
void loop() {
for (int i = 0; i < sizeof(melody) / sizeof(int); i++) { // 遍历每个音符
if (melody[i] == NOTE_END) { // 如果到了结尾,停止播放
noTone(buzzerPin);
delay(1000);
continue;
}
tone(buzzerPin, melody[i]); // 播放音符
delay(beats[i] * 125); // 延迟一段时间,根据节奏来计算
noTone(buzzerPin); // 停止播放
delay(10); // 为了避免音符之间过于接近,加入一个小的延迟
}
}
```
这段代码将在连接到引脚8的蜂鸣器中播放生日快乐歌,每个音符的持续时间和时间间隔都根据节奏数组计算得出。
阅读全文