立即注册 找回密码

微雪课堂

搜索
微雪课堂 外围模块 Accessory Shield 查看内容

Accessory Shield学习3:蜂鸣器

2015-5-6 17:58| 发布者: yanwl| 查看: 2199| 评论: 0

摘要: 前面两章玩转了数字信号和模拟信号,知道数字信号可以用来检测外部数据,一可以驱动外部开关;模拟信号可以采集外部电压信号,常用于传感器信号的输入;本章来讲解一个可以发声的东东,那就是传说中的蜂鸣器。原理大 ...
前面两章玩转了数字信号和模拟信号,知道数字信号可以用来检测外部数据,一可以驱动外部开关;模拟信号可以采集外部电压信号,常用于传感器信号的输入;本章来讲解一个可以发声的东东,那就是传说中的蜂鸣器。

原理大放送:
有源蜂鸣器直接接上额定电源就可以发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。本模块使用的蜂鸣器为有源蜂鸣器,既可以直流驱动,发出一种单一频率的声音,也可以用可变频率的交流信号去驱动,发出简单的音乐声。

代码示例:

[代码]php代码:

#define NTD0 -1
#define NTD1 294
#define NTD2 330
#define NTD3 350
#define NTD4 393
#define NTD5 441
#define NTD6 495
#define NTD7 556

#define NTDL1 147
#define NTDL2 165
#define NTDL3 175
#define NTDL4 196
#define NTDL5 221
#define NTDL6 248
#define NTDL7 278
#define NTDH1 589
#define NTDH2 661
#define NTDH3 700
#define NTDH4 786
#define NTDH5 882
#define NTDH6 990
#define NTDH7 112
#define HALF 0.5
#define QUARTER 0.25
#define EIGHTH 0.25
#define SIXTEENTH 0.625

int tune[]=                 
{
  NTD3,NTD3,NTD4,NTD5,
  NTD5,NTD4,NTD3,NTD2,
  NTD1,NTD1,NTD2,NTD3,
  NTD3,NTD2,NTD2,
  NTD3,NTD3,NTD4,NTD5,
  NTD5,NTD4,NTD3,NTD2,
  NTD1,NTD1,NTD2,NTD3,
  NTD2,NTD1,NTD1,
  NTD2,NTD2,NTD3,NTD1,
  NTD2,NTD3,NTD4,NTD3,NTD1,
  NTD2,NTD3,NTD4,NTD3,NTD2,
  NTD1,NTD2,NTDL5,NTD0,
  NTD3,NTD3,NTD4,NTD5,
  NTD5,NTD4,NTD3,NTD4,NTD2,
  NTD1,NTD1,NTD2,NTD3,
  NTD2,NTD1,NTD1
};
float durt[]=                  
{
  1,1,1,1,
  1,1,1,1,
  1,1,1,1,
  1+0.5,0.5,1+1,
  1,1,1,1,
  1,1,1,1,
  1,1,1,1,
  1+0.5,0.5,1+1,
  1,1,1,1,
  1,0.5,0.5,1,1,
  1,0.5,0.5,1,1,
  1,1,1,1,
  1,1,1,1,
  1,1,1,0.5,0.5,
  1,1,1,1,
  1+0.5,0.5,1+1,
};
int length;
int tonepin=11;   
void setup()
{
  pinMode(tonepin,OUTPUT);
  length=sizeof(tune)/sizeof(tune[0]);   
}
void loop()
{
  for(int x=0;x

是的,你没有听错,它竟然在播放音乐.........

附件:

185

顶一下

刚表态过的朋友 (185 人)

相关阅读

最新评论

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-4-19 18:49 , Processed in 0.037168 second(s), 28 queries .

返回顶部