模块熟悉
第 17 课·视频:蜂鸣器
分成"有源"和"无源"两种,区别决定了你能不能用它弹出曲子
蜂鸣器是最简单的输出设备之一——给电就响。但它里面分两种,这两种的区别会直接限制你能做什么。
先搞清楚:有源和无源
这里的"源"指的是振荡源,也就是"产生频率的东西"。
| 有源蜂鸣器 | 无源蜂鸣器 | |
|---|---|---|
| 通电就响吗 | ✅ 直接响 | ❌ 不响,要给频率 |
| 能变音调吗 | ❌ 只有一个音 | ✅ 能给不同频率 |
| 用法 | 给高电平就响 | 告诉它频率 + 时长 |
| 代码难度 | 简单 | 稍复杂 |
名字容易误导:有源不是说"需要外接电源",无源也不是说"不用电源"。两者都要供电。
记忆窍门:有源 = 自带音源(自己会响),无源 = 没有音源(要你给它)。
我们套件里配的是有源的。 所以它只能发出一个音调,做不出曲子。想弹《小星星》,得单配一个无源蜂鸣器,几块钱。
不过这不是坏事——有源蜂鸣器是最容易上手的输出设备。它跟 LED 的用法一模一样:给高电平就动作,给低电平就停。你学会点灯,就顺带学会了让它响。
看的时候注意三件事
第一,注意接线只有三根。
VCC、I/O、GND。跟 LED 模块完全一样的结构:一个电源、一个地、一个信号。
第二,注意"高电平触发"是什么意思。
就是从 I/O 那根线给一个高电平,它就响;给低电平,它就停。不需要你告诉它频率——因为它自己会。
第三,注意平台里有两组积木。
视频里你会在积木栏看到 有源蜂鸣器 和 无源蜂鸣器 两套积木。别用错:
- 用有源积木控制无源蜂鸣器 → 不响,或者只"嗒"一声
- 用无源积木控制有源蜂鸣器 → 响是响,但频率控制没用
接错积木不会烧,只是行为不对。遇到"接对了但不响",先想想是不是积木用错了。
自测
答案与解析
套件配的是有源蜂鸣器——通电就响,不需要指定频率。用无源积木去驱动它,那组积木会试图发送频率信号,结果可能不响或者只发出奇怪的"嗒嗒"声。
答案与解析
"源"指的是振荡源(产生声音频率的部件)。无源的内部没有这个东西,所以你必须用代码给它一个特定频率的方波信号,它才发声。两种蜂鸣器都要接电源。
答题要点
答题要点应该包含:音调高低取决于发声的频率。有源蜂鸣器内部自带振荡电路,通电后只按固定频率振动,你没法改变它,所以只有一个音。无源蜂鸣器的振动频率完全由外部信号决定,你给 262 Hz 就发"哆",给 294 Hz 就发"来",所以能弹出旋律。
拓展为什么蜂鸣器能发出声音?它在物理上是怎么振动的?
这个问题课上不讲,留给你自己找答案——**问 AI 是最好的办法**。
提示:搜"蜂鸣器 原理 压电 电磁"。看看它里面是一块什么材料,通电之后发生了什么形变。
拓展PWM 是什么?它和蜂鸣器发声音有什么关系?
这个问题课上不讲,留给你自己找答案——**问 AI 是最好的办法**。
提示:搜"PWM 占空比 频率 方波"。想一想:如果给你的 LED 一个每秒开关一千次的信号,你的眼睛会看到什么?
本节你要动手做的事
- [ ] 接好三根线:
VCC→3.3V,GND→GND,I/O→ 任意 GPIO - [ ] 跑程序让它响一声,听听是什么音
- [ ] 试着让它在"按钮按下时响"——把它和按钮结合起来
- [ ] 想清楚:为什么它只有一个音?
- [ ] 做完自测题