Arduino 蜂鸣器播放音乐简谱

代码:

#define musicpin 5 //喇叭引脚

int song[] = { //音乐音频
 392, 392, 440, 392, 523, 493,
 392, 392, 440, 392, 587, 523,
 392, 392, 784, 659, 523, 493, 440,
 698, 698, 659, 523, 587, 523
};
int noteDurations[] = { //音节长度
 6, 6, 3, 3, 3, 2,
 6, 6, 3, 3, 3, 2,
 6, 6, 3, 3, 3, 3, 2,
 6, 6, 3, 3, 3, 2
};

void play1() //音频播放函数
{
 for (int thisNote = 0; thisNote < 25; thisNote++)
 {
 int noteDuration = 1000 / noteDurations[thisNote]; // 计算每个节拍的时间,以一个节拍一秒为例,四分之一拍就是1000/4毫秒,八分之一拍就是1000/8毫秒
 tone(musicpin, song[thisNote], noteDuration);
 int pauseBetweenNotes = noteDuration * 1.30; // 每个音符间的停顿间隔,以该音符的130%为佳
 delay(pauseBetweenNotes);
 noTone(musicpin);
 }
};

void setup()
{
 pinMode(musicpin, OUTPUT);//初始化IO

}
void loop()
{
 play1();
 delay(2000); //等待2秒
}

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注