本次我们需要用的材料不多,一块UNO板,一块扩展板,一个喇叭模块再加一张乐谱。主要的核心内容是我们用arduino来编写音乐的部分。
编写音乐,首先我们一定要知道其中的乐理知识,知道音乐是怎样编排的,然后我们用代码的形式来将它表达出来。
今天我们用了《虫儿飞》这首歌。
一首歌里面有若干个音符组成,音符有自己的演奏时间,音符节奏分为一拍、半拍、1/4拍、1/8拍。
在这里我们规定一拍音符的时间为1;半拍为0.5;1/4拍为0.25;1/8拍为0.125……,我们可以为每个音符赋予这样的拍子播放出来,音乐就成了!
这里有个音符频率表供大家进行参考:
表中的三位数表示的就是音符对应的喇叭频率啦。
根据前面音符表的频率的提示,我们就可以清楚的知道音符所对应的频率。
在代码部分,首先我们先定义一下,将音符和频率值对应起来。
eg:#define NOTE_D0 -1
#define NOTE_D1 294
#define NOTE_DL1 147
#define NOTE_DL2 165
#define NOTE_DH1 589
#define NOTE_DH2 661
定义一个true序列,放入曲子的音符部分。