Arduino无源蜂鸣器实验:祝你生日快乐

#define Do 262  
#define Re 294  
#define Mi 330  
#define Fa 349  
#define Sol 392  
#define La 440  
#define Si 494  
#define Do_h 523  
#define Re_h 587  
#define Mi_h 659  
#define Fa_h 698  
#define Sol_h 784  
#define La_h 880  
#define Si_h 988
int length;
int scale[]={Sol,Sol,La,Sol,Do_h,Si,
             Sol,Sol,La,Sol,Re_h,Do_h,
             Sol,Sol,Sol_h,Mi_h,Do_h,Si,La,
             Fa_h,Fa_h,Mi_h,Do_h,Re_h,Do_h};        //生日歌曲谱
float durt[]=
{
  0.5,0.5,1,1,1,1+1,
  0.5,0.5,1,1,1,1+1,
   0.5,0.5,1,1,1,1,1,
    0.5,0.5,1,1,1,1+1,
};                                                        //音长
int tonepin=8;   //用8号引脚
int ledpin = 13;
void setup()
{
  pinMode(tonepin,OUTPUT);
  pinMode(ledpin,OUTPUT);
  length=sizeof(scale)/sizeof(scale[0]);   //计算长度
}
void loop()
{
  for(int x=0;x<length;x++)
  {
    tone(tonepin,scale[x]);
    digitalWrite(ledpin,HIGH);
    delay(500*durt[x]);   //这里用来根据节拍调节延时,500这个指数可以自己调整
    digitalWrite(ledpin,LOW);
    delay(100*durt[x]);
    noTone(tonepin);
  }
  delay(3000);
}

猜你喜欢

转载自blog.csdn.net/acktomas/article/details/88321934