实验器材:Arduino 168P 基础套件 互动媒体

1.Arduino 168P 开发板一个

2.USB下载线一条

3.蜂鸣器一个

4.220欧姆电阻1个

5.面包板一块

6.面包板跳线若干条

实验目的:学习蜂鸣器的工作原理,以及如何使用Arduino 控制蜂鸣器发出1KHz的声音。

实验电路:实验电路如下图所示

a4c26d1e5885305701be709a3d33442f.png

实验原理:蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、电话机、定时器等电子产品中作发声器件。蜂鸣器可以分为两种,一种是有源蜂鸣器、一种是无源蜂鸣器。在Arduino

168P基础套件中我们使用的是无源蜂鸣器,无源蜂鸣器工作的理想信号是方波。注:无源蜂鸣器接直流电压是不会工作的。那么我们如何利用Arduino产生方波来控制蜂鸣器发出频率为1KHz声音呢?

周期T与频率f 公式:T=1/f

周期T=1/1000Hz=1ms

下图为产生频率为1KHz的方波脉冲

a4c26d1e5885305701be709a3d33442f.png

这里我们介绍一中新的延时函数

delayMicroseconds(pulsewidth); //pulsewidth延时脉冲宽度值的微秒数

1ms=1000um。我们只要把pin13口(这里我选择了pin13是根据上边的电路说明的,实际中你可以选择其他数字几口)持续0.5ms的高电平然后再持续0.5ms的地电平就可以了。

实验步骤:

一. 按照以上电路正确搭建实验电路。

二.

将我提供的调试程序下载到Arduino开发板中。

三.

通过蜂鸣器发出的声音检验实验效果。

a4c26d1e5885305701be709a3d33442f.png

实验程序:

int fmpin=13; //设置蜂鸣器数字接口13

void setup()

{

pinMode(fmpin,OUTPUT);

}

void loop()

{

int i;

for(i=0;i<200;i++) //蜂鸣器响声持续时间

{

digitalWrite(fmpin,HIGH); //产生1KHz的脉冲

delayMicroseconds(500);

digitalWrite(fmpin,LOW);

delayMicroseconds(500);

}

digitalWrite(fmpin,LOW); //将蜂鸣器13口电压拉低1秒

delay(1000);

}

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐