©版权归imtcn.com和Ledong所有,转载请保持本文完整性,并注明出处
这是《Ledong手把手入门系列教程》的第十三课,在这一课我们将利用一个压电式扬声器用来捕获敲击的声音。
1、简介
压电式扬声器是一种既可以用来播放声音,又可以用来检测声音的电子设备。在这课中,使用一个无源蜂鸣器用来捕获敲击的声音,然后通过串口给电脑发送回一个“knock!”,最后使用Ledong串口监视来查看这些文字。
实验所需器材:
| 名 称 | 数量 |
| Ledong板 | 1套 |
| 1MΩ电阻 | 1个 |
| 无源蜂鸣器 | 1个 |
| 面包板 | 1块 |
| 导线 | 若干 |
根据图13-1的方法连接电路,将压电式扬声器的红线连接到Ledong的模拟口【A4】,黑线连接到【GND】,再将一个约1M的电阻与压电式蜂鸣器并联。最后运行程序来分析模拟输入值。
图13-1 连接示意图
2、示例代码
将Ledong用线缆连接到PC上,打开软件程序,并设置好后,将下列代码输入到软件中,通过编译下载命令,将程序下载到Ledong中。
/* 敲击检测 */
int ledPin = 13;
int knockSensor = 0;
byte val = 0;
int statePin = LOW;
int THRESHOLD = 100; // 用于决定是否有敲击的阈值
void setup() {
pinMode(ledPin, OUTPUT); // 声明输出端
Serial.begin(9600); // 使用串口
}
void loop() {
val = analogRead(knockSensor);
if (val >= THRESHOLD) {
statePin = !statePin;
digitalWrite(ledPin, statePin);
Serial.println(“Knock!”);
}
delay(100);
}
程序下载后,按运行键。可以观察到,当敲击压电式蜂鸣器时,电路板上的【D13】处的LED灯会闪烁,且闪烁频率会随着敲击的快慢改变:敲得越快,LED闪烁得越快。
3、运行效果
Ledong手把手入门系列教程之十三.敲击检测的运行效果图13-2(a)如下:
图13-2(a) 运行效果图
运行成功后,选择Ledong的软件界面上的“串口监视”,这时将会弹出一个对话框。当发生一次敲击时,对话框中就会出现一个“Knock!”,效果如图13-2(b)所示:
图13-2(b) 运行效果图
4、购买及培训
本例套件可以通过下面的方式购买:
5、电路图
Ledong手把手入门系列教程之十三.敲击检测的原理图13-3如下:
图13-3 原理图
Ledong手把手入门系列教程之十三.敲击检测的PCB布线图13-4如下:
图13-4 pcb布线图
6、错误处理
认真检查电路的连线是否与简介中描述的一致,尤其是压电式蜂鸣器的正负管脚注意不要接反了。
7、补充说明
本实验采用的蜂鸣器为压电式,只需要将其正负管脚直接连入电路即可。如果使用一般的蜂鸣器,则需要配合使用一个放大电路,见下图:
8、参考文献
http://www.imtcn.com
http://fritzing.org/projects/knock/





