Arduino 卡片6报警器
2016-06-19 09:09
260 查看
1、硬件部分
需要用到蜂鸣器,从字面意思就可以知道,这是一个会发声的元件。这次做一个报警器,通过连接蜂鸣器到Arduino数字输出引脚,并配合相应的程序就可以产生报警器的声音。其原理是利用正弦波产生不同频率的声音。如果结合一个LED,配合同样的正弦波产生灯光的话,就是一个完整的报警器了。
![](http://www.dfrobot.com.cn/community/data/attachment/forum/201405/27/145932kadoaudoth7bdhbq.jpg)
2、报警器代码(有节奏感的)
3、核心部分:
浮点型变量sinVal用来存储正弦值,正弦波呈现一个波浪形的变化,变化比较均匀,所以我们选用正弦波的变化来作为我们声音频率的变换,toneVal从sinVal变量中获得数值,并把它转换为所需要的频率。
tone函数:
noTone(pin)函数,结束该指定引脚上产生的声音。
4、硬件回顾
蜂鸣器
蜂鸣器其实就是一种会发声的电子元件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
压电式蜂鸣器和电磁式蜂鸣器区别
压电式蜂鸣器是以压电陶瓷的压电效应,来带动金属片的振动而发声。当受到外力导致压电材料发生形变时压电材料会产生电荷。电磁式的蜂鸣器,则是利用通电导体会产生磁场的特性,通电时将金属振动膜吸下,不通电时依振动膜的弹力弹回。不太明白也没太大关系,不影响我们使用。
压电式蜂鸣器需要比较高的电压才能有足够的音压,一般建议为9V以上。电磁式蜂鸣器用1.5V就可以发出85dB以上的音压了,唯消耗电流会大大的高于压电式蜂鸣器。所以还是建议初学者使用电磁式蜂鸣器。
有源蜂鸣器和无源蜂鸣器区别
无论是压电式蜂鸣器还是电磁式蜂鸣器,都有有源蜂鸣器和无源蜂鸣器两种区分。
有源蜂鸣器和无源蜂鸣器的根本区别是输入信号的要求不一样。这里的“源”不是指电源,而是指振荡源,有源蜂鸣器内部带振荡源,说白了就是只要一通电就会响。而无源内部不带震荡源,所以如果仅用直流信号无法使其响,必须用2K-5K的方波去驱动它。
从外观上看,有源无源的区别在于,有源蜂鸣器有长短脚,也就是所谓正负极,长脚为正极,短脚为负极。而无源蜂鸣器则没有正负极,两个引脚长度相同。
套件中,用的蜂鸣器类型是电磁式有源蜂鸣器。当然,如果有源蜂鸣器玩的够熟练的话,不妨考虑买一个无源蜂鸣器玩玩,可以演奏出不用的音乐效果。
蜂鸣器的应用有很多,我们都可以就蜂鸣器做一些好玩的东西,比如常见的会结合蜂鸣器的有,红外传感器,超声波传感器,用于监测物体靠近报警。温度传感器,测到温度过高报警。气体传感器,有气体泄漏报警等等。除了报警,还可以用来作为乐器,通过不同频率,调成乐谱的不同调式等等等。。。。
需要用到蜂鸣器,从字面意思就可以知道,这是一个会发声的元件。这次做一个报警器,通过连接蜂鸣器到Arduino数字输出引脚,并配合相应的程序就可以产生报警器的声音。其原理是利用正弦波产生不同频率的声音。如果结合一个LED,配合同样的正弦波产生灯光的话,就是一个完整的报警器了。
![](http://www.dfrobot.com.cn/community/data/attachment/forum/201405/27/145932kadoaudoth7bdhbq.jpg)
2、报警器代码(有节奏感的)
float sinValue; int toneVal; void setup() { pinMode(8,OUTPUT); } void loop() { for(int i=0;i<180;i++){ //将sin函数角度转化为弧度 sinValue = (sin(i*(3.1412/180))); //用sin函数值产生声音的频率 toneVal = 2000 + (int(sinValue*1000)); tone(8,toneVal); delay(2); } }
3、核心部分:
float sinValue; int toneVal;
浮点型变量sinVal用来存储正弦值,正弦波呈现一个波浪形的变化,变化比较均匀,所以我们选用正弦波的变化来作为我们声音频率的变换,toneVal从sinVal变量中获得数值,并把它转换为所需要的频率。
tone函数:
tone(pin,frequency)Pin都是指连接到蜂鸣器的数字引脚,frequency是以Hz为单位的频率值。
tone(pin,frequency,duration)第二个函数,有个duration参数,它是以毫秒为单位,表示声音长度的参数。像第一个函数,如果没有指定duration,声音将一直持续直到输出一个不同频率的声音产生。
noTone(pin)函数,结束该指定引脚上产生的声音。
noTone(pin)
4、硬件回顾
蜂鸣器
蜂鸣器其实就是一种会发声的电子元件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
压电式蜂鸣器和电磁式蜂鸣器区别
压电式蜂鸣器是以压电陶瓷的压电效应,来带动金属片的振动而发声。当受到外力导致压电材料发生形变时压电材料会产生电荷。电磁式的蜂鸣器,则是利用通电导体会产生磁场的特性,通电时将金属振动膜吸下,不通电时依振动膜的弹力弹回。不太明白也没太大关系,不影响我们使用。
压电式蜂鸣器需要比较高的电压才能有足够的音压,一般建议为9V以上。电磁式蜂鸣器用1.5V就可以发出85dB以上的音压了,唯消耗电流会大大的高于压电式蜂鸣器。所以还是建议初学者使用电磁式蜂鸣器。
有源蜂鸣器和无源蜂鸣器区别
无论是压电式蜂鸣器还是电磁式蜂鸣器,都有有源蜂鸣器和无源蜂鸣器两种区分。
有源蜂鸣器和无源蜂鸣器的根本区别是输入信号的要求不一样。这里的“源”不是指电源,而是指振荡源,有源蜂鸣器内部带振荡源,说白了就是只要一通电就会响。而无源内部不带震荡源,所以如果仅用直流信号无法使其响,必须用2K-5K的方波去驱动它。
从外观上看,有源无源的区别在于,有源蜂鸣器有长短脚,也就是所谓正负极,长脚为正极,短脚为负极。而无源蜂鸣器则没有正负极,两个引脚长度相同。
套件中,用的蜂鸣器类型是电磁式有源蜂鸣器。当然,如果有源蜂鸣器玩的够熟练的话,不妨考虑买一个无源蜂鸣器玩玩,可以演奏出不用的音乐效果。
蜂鸣器的应用有很多,我们都可以就蜂鸣器做一些好玩的东西,比如常见的会结合蜂鸣器的有,红外传感器,超声波传感器,用于监测物体靠近报警。温度传感器,测到温度过高报警。气体传感器,有气体泄漏报警等等。除了报警,还可以用来作为乐器,通过不同频率,调成乐谱的不同调式等等等。。。。
相关文章推荐
- 康诺云推出三款智能硬件产品,为健康管理业务搭建数据池
- python获取各操作系统硬件信息的方法
- Python获取电脑硬件信息及状态的实现方法
- 基于Arduino+LabVIEW的多路数据采集系统
- 基于Arduino+LabVIEW的串口控制LED亮灭
- 基于Protues的Arduino学习笔记01-Arduino UNO实验板设计
- 《Arduino与LabVIEW开发实战》-前言
- Arduino(一)
- nrf24l01+arduino
- Linux系统中查看硬件信息与运行状态的方法总结
- Google 将要组建统一的硬件部门,你也许能见到一台更好的 Nexus 手机了
- 科技行业变革趋势:云服务、视频广告兴起 硬件生产处境艰难
- 查看linux系统硬件信息
- Linux下的硬件安装
- 准确判断硬件故障
- LINUX中的硬件设备号