如何实现蜂鸣器在pcDuino上唱歌-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5294|回复: 0

如何实现蜂鸣器在pcDuino上唱歌

[复制链接]
发表于 2014-1-17 15:17 | 显示全部楼层 |阅读模式
本帖最后由 Lily 于 2014-1-17 15:18 编辑

蜂鸣器
在这里电路中,我们将再一次连接数字世界和模拟世界之间的桥梁。我们将用到一个蜂鸣器,当你给其供电的时候,它便会发出很小的滴答声。这个本身不是很激动人心,但是如果你在一秒钟内开关电源数百次,这个蜂鸣器就会产生一个音调。而且如果你把一系列的音调串连起来,那么你就会得到音乐。这个电路和sketch会放一首经典的曲子,我们从来不会让你失望的!
1、实验器材:pcDuino一套、蜂鸣器一个、杜邦线三条 、面包板一块
2、实验过程:
(1)、将pcDuino与显示器连接
(2)、将蜂鸣器插入面包板上
(3)、一根杜邦线连接面包板的正极、pcDuino 5V的,一根杜邦线连接面包板负极、pcDuino GND、还有一根杜邦线连接蜂鸣器与pcDuino上数字接口6
3、进入arDuino IDE,输入代码:
const int buzzerPin = 6;
const int songLength = 18;
char notes[] = "cdfda ag cdfdg gf";
int beats[] ={1,1,1,1,1,1,4,4,2,1,1,1,1,1,1,4,4,2};
int tempo = 150;
void setup()
{
pinMode(buzzerPin, OUTPUT);
}
void loop()
{
  inti, duration;
  
  for(i = 0; i < songLength; i++)
  {
   duration = beats * tempo;      
   if (notes == ' ')         
    {
     delay(duration);           
    }
   else                          
    {
     tone(buzzerPin, frequency(notes), duration);
     delay(duration);           
    }
   delay(tempo/10);              
  }
  
while(true){}
}
int frequency(char note)
{
  
  inti;
const int numNotes = 8;  
  
char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
  intfrequencies[] = {262, 294, 330, 349, 392, 440, 494, 523};  
  
  for(i = 0; i < numNotes; i++)  
  {
   if (names == note)         
    {
     return(frequencies);     
    }
  }
return(0);  
     
}
4、实验结果:你将会看到,其实,什么都看不到!但是可以听到一首歌。



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

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-29 19:19 , Processed in 0.209715 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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