圣源电子制作

 找回密码
 立即注册
查看: 11884|回复: 3
打印 上一主题 下一主题

arduino学习笔记17蜂鸣器实验

[复制链接]
跳转到指定楼层
楼主
发表于 2012-4-26 16:54:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 SYDZ__顺 于 2012-5-15 18:09 编辑

arduino学习笔记17蜂鸣器实验
本次实验所用的为下图所示的这种小型无源蜂鸣器






通过上网查询参数,得到其工作电压为5V,和arduino控制板数字端口输出电压一致,所以不需要接电阻。可直接接上使用。

先简单介绍一下这种小型蜂鸣器。

小型蜂鸣器因其体积小(直径只有6mm)、重量轻、价格低、结构牢靠,而广泛地应用在各种需要发声的电器设备、电子制作和单片机等电路中。这种蜂鸣器分有源蜂鸣器与无源蜂鸣器

下图为有源蜂鸣器



下图为无源蜂鸣器



从外观上看,两种蜂鸣器好像一样,如果将蜂鸣器引脚朝上时,可以看到,有绿色电路板的是一种无源蜂鸣器,没有电路板而使用黑胶密封的是一种有源蜂鸣器。从外观上并不能绝对的区分出有源与无源,最可靠的做法除了查看产品的参数手册以外,还有就是使用万用表测试蜂鸣器电阻,只有或者16Ω的是无源蜂鸣器,电阻在几百欧以上的是有源蜂鸣器。

有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可以连续发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。

简单介绍完蜂鸣器以后先看一下硬件连接示意图





把下面的代码上传到arduino控制板上,看看实验结果。
  1. int ledPin=12; //设定控制LED的数字IO脚

  2. void setup()

  3. {

  4.     pinMode(ledPin,OUTPUT);//设定数字IO口的模式,OUTPUT 为输出

  5. }

  6. void loop()

  7. {  

  8.     digitalWrite(ledPin,HIGH); //设定PIN5脚为HIGH = 5V左右

  9.     delay(10); //设定延时时间,2000 = 2秒

  10.     digitalWrite(ledPin,LOW); //设定PIN5脚为LOW = 0V

  11.     delay(350); //设定延时时间,2000 = 2秒

  12. }
复制代码
实验效果如下面视频(需要开音响才能听到蜂鸣器发出的声音)


第一个频率的声音为1毫秒发声1毫秒不发声。1秒等于1000毫秒,2毫秒为一个周期。得出频率为500赫兹。

第二个频率的声音为2毫秒发声2毫秒不发声,4毫秒为一个周期。得出频率为250赫兹。

一个事件的循环就是500赫兹的声音响80毫秒,然后250赫兹的声音响100毫秒。如此循环下去。

while()函数

本次试验使用到了while()函数
在loop()中用while也是一个循环语句,一般形式:
while(表达式)

语句


表达式是循环条件,语句是循环体。语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。其执行过程可用下图表:



作用:实现“当型”循环。当“表达式”非0(真)是,执行“语句”。“语句”是被循环执行的程序,称为“循环体”。
回复

使用道具 举报

沙发
发表于 2013-3-11 14:20:52 | 只看该作者
代码错了吧。。那是闪烁的LED代码
回复 支持 反对

使用道具 举报

板凳
发表于 2013-3-11 14:21:15 | 只看该作者
代码写错了吧。那是闪烁的LED的代码。。
回复 支持 反对

使用道具 举报

地板
发表于 2014-4-13 09:50:33 | 只看该作者
我是来挣金币的,,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|联系我们|闽公网安备 35012102000020号|闽ICP备11020110号-1|圣源电子

GMT+8, 2024-11-21 14:30 , Processed in 0.050684 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表