5.3.3 无源蜂鸣器#

5.3.3.1 简介#

本教程将为您详细介绍无源蜂鸣器的使用方法和应用技巧。无源蜂鸣器是一种需要外部驱动信号才能发声的电子元件,其内部不含振荡源,因此可以通过改变输入信号的频率来产生不同音调的声音。教程内容包括无源蜂鸣器的工作原理、引脚识别、电路连接方法以及如何通过微控制器(如ESP32)生成不同频率的方波信号来控制蜂鸣器。您将学习如何编写代码来实现简单的音乐播放、报警信号和自定义音效。无论您是电子初学者还是有经验的开发者,本教程都将帮助您掌握无源蜂鸣器的应用,为您的项目增添丰富的声音效果。

5.3.3.2 元件知识#

Img

无源蜂鸣器: 是一种内部没有振动源的集成电子蜂鸣器,只有给它一定频率的方波信号,才能让无源蜂鸣器发声,同时,输入的方波频率不同,发出的声音也不同,所以无源蜂鸣器可以模拟曲调实现音乐效果。

  • 引脚的电平变化可以模拟方波,例如引脚高电平持续500微秒后,再变换为低电平500微秒,紧接着再变换为高电平…

  • 以2~5KHz的方波去驱动无源蜂鸣器,方波的赫兹可以通过公式 f=1/T,其中f为频率,T为一个完整的周期所用时间(即高低电平各持续的时间之和)来计算。

Img

注: 我们提供的无源蜂鸣器的谐振频率约为2048Hz,这意味着这个无源蜂鸣器的谐振频率为2048Hz时声音最大。

C调符与频率对照表:

调符

频率(Hz)

调符

频率(Hz)

调符

频率(Hz)

Flat 1 Do

262

Natural 1 Do

523

Sharp 1 Do

1047

Flat 2 Re

294

Natural 2 Re

587

Sharp 2 Re

1175

Flat 3 Mi

330

Natural 3 Mi

659

Sharp 3 Mi

1319

Flat 4 Fa

349

Natural 4 Fa

698

Sharp 4 Fa

1397

Flat 5 So

392

Natural 5 So

784

Sharp 5 So

1568

Flat 6 La

440

Natural 6 La

880

Sharp 6 La

1760

Flat 7 Si

494

Natural 7 Si

988

Sharp 7 Si

1967

原理图:

Img

参数:

  • 工作电压: DC 3.3V~5V

  • 工作电流: (Max) 30mA@5V

  • 最大功率: 0.15W

  • 谐振频率: 2048Hz

  • 输出音压: (Min)80dB/10cm

  • 控制信号: 方波

5.3.3.3 接线图#

  • 无源蜂鸣器模块的S引脚连接到io16

⚠️ 特别注意:智慧农场已经组装好了,这里不需要把无源蜂鸣器模块拆下来又重新组装和接线,这里再次提供接线图,是为了方便您编写代码!

Img

5.3.3.4 实验代码#

代码文件在KidsBlock(Scratch)_代码文件夹中,代码文件为5_3_3_C_key.sb3,如下图所示:

Img

单击 “文件” --> “从电脑中上传”,然后选择保存代码的路径,选中代码文件打开即可,如下图所示:

Img

Img

认识代码块

① 这个代码块,表示当启动ESP32这块开发板时,将运行代码。

Img

② 循环语句,顾名思义就是重复做一件事。

Img

③ 这是扬声器的一些代码块。

Img

这是播放声音的代码块,可以设置对应引脚,频率和节拍。引脚,频率和节拍可以根据自己的需要自己设置。

Img

这是播放音乐的代码块,可以设置对应引脚和音乐。引脚和音乐可以根据自己的需要自己设置。

Img

结束声音,使蜂鸣器不响。

Img

④ 将程序的执行暂停一段时间,也就是延时。单位是秒。

Img

组合代码块

Img

5.3.3.5 实验结果#

按照接线图接好线,外接电源,选择好正确的开发板板型(ESP32 Dev Module)和 适当的串口端口(COMxx),然后单击按钮Img上传代码。上传代码成功后,即可实现无源蜂鸣器播放出C调的Do,Re,Mi,Fa,So,La,Si,以此循环的现象。

Img

5.3.3.6 扩展知识#

我们学习了如何控制无源蜂鸣器发出C调的音,那么接下来就利用C调组合出一首简单的生日快乐歌吧!

Img

接线保持不变

简谱:

j41

低中高音对照图:

j42

实验代码:

代码文件在KidsBlock(Scratch)_代码文件夹中,代码文件为5_3_3_Music.sb3,如下图所示:

Img

单击 “文件” --> “从电脑中上传”,然后选择保存代码的路径,选中代码文件打开即可,如下图所示:

Img

Img

认识代码块

① 这个代码块,表示当启动ESP32这块开发板时,将运行代码。

Img

② 循环语句,顾名思义就是重复做一件事。

Img

③ 这是扬声器的一些代码块。

Img

这是播放声音的代码块,可以设置对应引脚,频率和节拍。引脚,频率和节拍可以根据自己的需要自己设置。

Img

这是播放音乐的代码块,可以设置对应引脚和音乐。引脚和音乐可以根据自己的需要自己设置。

Img

结束声音,使蜂鸣器不响。

Img

④ 将程序的执行暂停一段时间,也就是延时。单位是秒。

Img

组合代码块

Img

5.3.3.7 代码说明#

(1).设置扬声器的对应引脚,播放频率和节拍这里设置引脚为IO16,频率为NOTE_C4,节拍为131,延时0.5秒。

Img

(2).扬声器停止发声1秒。

Img

(3).设置扬声器播放一首生日歌,之后扬声器停止发声1秒。

Img