arduino蜂鸣器实验程序
时间: 2025-06-16 11:16:36 AIGC 浏览: 24 评论: 6
### Arduino 蜂鸣器实验示例程序
在Arduino平台上,可以通过`tone()`函数实现蜂鸣器播放特定频率的音调。以下是一个完整的示例程序,展示如何通过蜂鸣器播放一系列基础音符。
#### 示例代码
以下是基于引用内容构建的一个简单示例程序[^1]:
```cpp
// 定义蜂鸣器连接的数字引脚
const int buzzerPin = 8;
// 定义音符及其对应频率 (单位: Hz)
#define NOTE_C4 261
#define NOTE_D4 294
#define NOTE_E4 329
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 493
#define NOTE_C5 523
void setup() {
pinMode(buzzerPin, OUTPUT); // 设置蜂鸣器引脚为输出模式
}
void loop() {
playNote(NOTE_C4, 500); // 播放C4音符,持续时间500ms
delay(100);
playNote(NOTE_D4, 500); // 播放D4音符,持续时间500ms
delay(100);
playNote(NOTE_E4, 500); // 播放E4音符,持续时间500ms
delay(100);
playNote(NOTE_F4, 500); // 播放F4音符,持续时间500ms
delay(100);
playNote(NOTE_G4, 500); // 播放G4音符,持续时间500ms
delay(100);
playNote(NOTE_A4, 500); // 播放A4音符,持续时间500ms
delay(100);
playNote(NOTE_B4, 500); // 播放B4音符,持续时间500ms
delay(100);
playNote(NOTE_C5, 500); // 播放C5音符,持续时间500ms
delay(1000); // 结束后暂停1秒
}
// 自定义函数:播放指定频率和时长的音符
void playNote(int frequency, long duration) {
tone(buzzerPin, frequency, duration); // 使用tone函数播放音符
}
```
此代码展示了如何使用`tone()`函数让蜂鸣器发出不同频率的声音,并按照一定顺序播放多个音符[^1]。如果需要更复杂的旋律,可以根据音乐简谱写入相应的频率与时长[^3]。
对于更高级的应用场景,例如播放经典曲目《致爱丽丝》,可以参考如下方法:
1. 查找目标歌曲的简谱。
2. 将每个音符转换为其对应的频率值(如上表所示)。
3. 编写代码并调整每一段音符的持续时间和间隔时间[^2]。
#### 关键点说明
- `tone(pin, frequency, duration)` 函数中的三个参数分别表示输出引脚、声音频率(Hz)、声音持续时间(毫秒)。当省略第三个参数时,默认会一直输出直到调用`noTone(pin)`为止[^2]。
- 如果尝试使用`analogWrite()`控制蜂鸣器,则无法精确调节其发声频率,因此推荐采用`tone()`方式完成此类需求[^2]。
阅读全文
相关推荐




















评论

茶啊冲的小男孩
2025.08.23
包含音符频率定义,方便扩展旋律

王向庄
2025.07.18
代码清晰,适合初学者入门学习🍖

曹将
2025.06.14
示例程序结构合理,易于理解🍎

申增浩
2025.06.11
详细解释了tone函数的使用方法

苏采
2025.03.15
对硬件连接和编程逻辑说明到位

仙夜子
2025.03.13
适合用于电子音乐相关项目开发🎊