1.有源蜂鸣器
有源蜂鸣器是一种简单的音频设备,能够通过一个恒定的电压发出声音。它内部包含振荡电路,因此只需提供电源即可发声,区别于无源蜂鸣器(需要PWM信号驱动)。
2.区分
1.图a为有源蜂鸣器和图b为无源蜂鸣器
2.可以用万用表电阻档Rxl档测试,黑表笔接蜂鸣器 "-"引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Ω(或16Ω)的是无源蜂鸣器;如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器;
3.有源蜂鸣器直接接上额定电源就可连续发声;而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声
3.原理图图标示意
4.有源蜂鸣器示例电路
物料:
3PCS 10K欧姆电阻
1PCS 220欧姆电阻
1PCS 无源蜂鸣器
1PCS UNO开发板
3PCS 按键
接线图:
代码示例:
// 位置变量初始化
int pos = 0;
void setup()
{
// 设置A0, A1, A2引脚为输入模式,用于检测按键按下状态
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
// 设置数字引脚8为输出模式,用于连接扬声器
pinMode(8, OUTPUT);
}
void loop()
{
// 检测是否按下连接到A0的按钮
if (digitalRead(A0) == HIGH) {
tone(8, 440, 100); // 播放频率为440 Hz的音调(A4音符)
}
// 检测是否按下连接到A1的按钮
if (digitalRead(A1) == HIGH) {
tone(8, 494, 100); // 播放频率为494 Hz的音调(B4音符)
}
// 检测是否按下连接到A2的按钮
if (digitalRead(A2) == HIGH) {
tone(8, 523, 100); // 播放频率为523 Hz的音调(C5音符)
}
delay(10); // 延迟10毫秒以提高模拟性能
}
代码说明:
输入部分:
- 三个按钮分别连接到 A0、A1 和 A2 引脚。
- 每个按钮按下时,Arduino会在对应引脚检测到高电平(HIGH)。
输出部分:
- 数字引脚8连接到一个有源蜂鸣器。
- 当检测到某个按钮按下时,使用 tone() 函数在引脚8上播放对应频率的音调。
音调播放:
- 使用 tone(pin, frequency, duration) 函数播放音调,其中 pin 是要输出音调的引脚号,frequency 是音调的频率,以赫兹为单位,duration是音调持续时间,ms为单位。
- 在这个例子中,有三个音符:A4(440 Hz),B4(494 Hz),和C5(523 Hz),每个音调的持续时间为100毫秒。