Arduino播放音乐《两只老虎》完整代码
【测试有效才发布的】
#define C_0 -1
#define C_1 262
#define C_2 294
#define C_3 330
#define C_4 350
#define C_5 393
#define C_6 441
#define C_7 495
//音符数组
int yinfu[]=
{
C_1,C_2,C_3,C_1,
C_1,C_2,C_3,C_1,
C_3,C_4,C_5,
C_3,C_4,C_5,
C_5,C_6,C_5,C_4,C_3,C_1,
C_5,C_6,C_5,C_4,C_3,C_1,
C_1,C_5,C_1,
C_1,C_5,C_1,
};
//音拍数组,每一行代表4拍
float yinpai[]=
{
1,1,1,1,
1,1,1,1,
1,1,2,
1,1,2,
0.75,0.25,0.75,0.25,1,1,
0.75,0.25,0.75,0.25,1,1,
1,1,2,
1,1,2
};
int length;//音符数量
int tonepin=6;//6号PWM输出口
void setup() {
// put your setup code here, to run once:
pinMode(tonepin,OUTPUT);
length=sizeof(yinfu)/sizeof(yinfu[0]);
}
int t;
void loop() {
// put your main code here, to run repeatedly:
for(t=0;t
{
tone(tonepin,yinfu[t]); //发出声音
delay(400*yinpai[t]); //发音时间,用户可自调
noTone(tonepin); //停止发声
}
delay(3000);
}