【Arduino】用Arduino编首小曲子吧
本次我们需要用的材料不多,一块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序列,放入曲子的音符部分。
定义一个duration序列,放入曲子的拍子部分。
编写一段循环语句,依次播放序列中的每个数组。
而Arduino UNO板子上我们只需要简单的连接一下即可。在代码中我们连接的是8号针脚,板子上对应连接8号,一条线连接S,一条线连接VCC就可以完成啦。
我们将电源插上,上传程序,很快它就开始播放《虫儿飞》这首歌了。
附:简谱的相关知识普及:https://zhidao.baidu.com/question/442644842.html
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com