arduino播放《可爱的蓝精灵》音乐
各位叔叔阿姨哥哥姐姐:我是五年级的小学生,学习arduino两个多月了。学习论坛里高手的程序,做了个用小喇叭播放《The cute smurfs》音乐的程序。接线嘛,用9引脚,哪个脚都行。加一个三极管会特别大声,不加三极管直接连线也可以,声音小一点。//用小喇叭播放《可爱的蓝精灵The cute Smurfs》
#define C3 165
#define C4 175
#define C5 196
#define C6 220
#define C7 247
#define D0 -1
#define D1 262
#define D2 294
#define D3 330
#define D4 349
#define D4s 370
#define D5 392
#define D6 440
#define D7 494
#define E1 523
#define E1s 554
#define E2 587
#define E3 659
#define E4 698
#define E4s 740
#define E5 784
#define E6 880
//音阶对应的频率
#define WHOLE 4
#define HALF 2
#define QTR 1
//定义全拍和半拍
int tune[] =
{
D3,D4, D5,E3,E1,D5,D3,D2,D3,D4,E2,D7,D4,D2,D1,D2,D3,D2,D3,D4,D3,D4,
D5,D3,D4,D6,D5,D6, D7,E1,E1s,E2,E2,E3,E4,E4s,E5,D0,C5, D1,D3,C5,D3,D1,D3,C5,
D3,D4,D5,D4,D3,D4,D5,D4,D3,D4,D5,D5,D4s,D5,E3,E1,//在山的那边海的那边有一群蓝精灵
D2,D3,D4,D3,D4,E2,D7,D2,D3,D4,D3,D4,D6,D5,//他们活泼又聪明,他们调皮又灵敏
D3,D4,D5,D4,D3,D4,D5,D4,D3,D4,D5,D5,D4s,D5,E3,E2,//他们自由自在生活在那绿色的大森林
D2,D3,D4,D3,D4,E2,E1,D7,D6,D7,E1,//他们善良勇敢相互都关心
E1,D5,D5,E3,E3,E1,D5,D3, D3,D5,D4,E2,E2,D7,D4,D2,//哦,可爱的蓝精灵,哦,可爱的蓝精灵
D2,D3,D4,D5,D4,D3,D4,D5,D4,D3,D4,D5,D5,D4s,D5,E1,E3,//他们齐心合力开动脑筋斗败了格格巫
D2,D3,D4,D3,D4,E2,E1,D7,D6,D7,E1,//他们唱歌跳舞快乐多欢欣
};//曲子的音符部分
int duration[]=
{
1,1,2,2,2,2,4+2,1,1,2,2,2,2,4+2,1,1,2,1,1,2,1,1,
2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,2,4,2,2,2,2,2,2,2,
1,1,2,2,2,2,2,2,2,2,2,1,1,2,2,4+2,
1,1,2,2,2,2,4+2,1,1,2,2,2,2,4+2,
1,1,2,2,2,2,2,2,2,2,2,1,1,2,2,4+2,
1,1,2,2,2,2,2,2,2,2,4,
4,4,4,2,2,4,4,4+4,4,4,4,2,2,4,4,4+4,
4+2,1,1,2,2,2,2,2,2,2,2,2,1,1,2,2,4+2,
1,1,2,2,2,2,2,2,2,2,4+4
}; //曲子的节拍部分,用一个序列定义为duration
int length;//定义一个变量,后面用来表示共有多少个音符
int tonePin=9;//喇叭用9引脚
void setup() {
pinMode(tonePin,OUTPUT);//设置喇叭的pin为输出模式
length = sizeof(tune)/sizeof(tune);
}
void loop() {
for(int x=0;x<length;x++) //循环音符的次数
{
tone(tonePin,tune);//此函数依次播放tune序列里的数组,即每个音符
delay(130*duration);//每个音符持续的时间,即节拍duration,120是调整时间的,越大,曲子速度越慢,越小曲子速度越快
noTone(tonePin);//停止当前音符,进入下一音符
}
delay(2000);//等待2秒后,循环重新开始
} 好好学习,不错不错,期待你做出更好的作品 好,有潜力:) 好好学习,潜力十足 哈哈,加油
页:
[1]