©版权归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、购买及培训

本例套件可以通过下面的方式购买:

www.imtcn.com

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/