国庆假期确实时间比较充裕,因此这几天都能更好几篇,通过上面的学习我们已经有了一定的基础,今天让我们控制新的硬件-蜂鸣器。老规矩在此之前先介绍下蜂鸣器。
蜂鸣器是一种电子发声器件,通过振动产生声音信号,广泛应用于警报、提示音等场景。根据驱动方式和工作原理可分为以下两类:
有源蜂鸣器
- 内置振荡电路,通电即发声,仅需直流电压驱动(如5V或12V)。
- 发声频率固定,无法调节音调。
- 典型应用:简单提示音、报警器。
无源蜂鸣器
- 无内置振荡电路,需外部输入PWM(脉冲宽度调制)信号驱动。
- 通过改变输入频率调节音调,可播放音乐。
- 典型应用:电子琴、复杂音效。
驱动电路设计
有源蜂鸣器驱动
直接连接电源(注意电压匹配),串联限流电阻(通常1kΩ)保护电路。
无源蜂鸣器驱动
需单片机或PWM信号控制。
介绍完蜂鸣器让我们开始今天的学习!蜂鸣器启动!
硬件准备
- Arduino开发板(如Arduino Uno)
- 蜂鸣器(有源或无源均可,代码略有差异)
- 连接线若干
- 面包板(可选)
连接方式
有源蜂鸣器直接连接数字引脚与GND;无源蜂鸣器需串联一个100Ω电阻。以数字引脚8为例:
蜂鸣器正极 → Arduino引脚8
蜂鸣器负极 → Arduino GND
有源蜂鸣器代码示例
void setup() {
pinMode(8, OUTPUT); // 设置引脚8为输出模式
}
void loop() {
digitalWrite(8, HIGH); // 通电发声
delay(1000); // 持续1秒
digitalWrite(8, LOW); // 停止发声
delay(1000); // 静音1秒
}
无源蜂鸣器代码示例
通过tone()
函数控制频率,可播放不同音高:
void setup() {
pinMode(8, OUTPUT);
}
void loop() {
tone(8, 262); // 播放C4音符(262Hz)
delay(500);
noTone(8); // 停止发声
delay(500);
}
注意事项
- 有源蜂鸣器内置振荡电路,只能固定音调
- 无源蜂鸣器需外接PWM信号控制音高
- 长时间通电可能导致蜂鸣器过热