本帖最后由 tahoroom 于 2014-10-15 09:32 编辑
参赛项目: 用Arduino UNO控制器通过蜂鸣器播放音乐
参赛组员:
人数:1;论坛ID:
项目简介:
用Arduino播放音乐其实很有意思,因为我们只需要写一点点代码,就可以利用最简单的蜂鸣器播放音乐了!DIY个“生日快乐”音乐给妹子庆生,岂不一洗死宅形象,进步成技术宅~作品只是抛砖引玉,相信你有更好的IDEA!
预计完成时间:
9月底
联系方式:
tahoroom@163.com
制作原理和过程:
需要用到的材料:
adruino uno一块(其他Arduino板子也可,注意引脚就行),面保线若干条,蜂鸣器或小喇叭一个。
原理:
首先讲下简单的乐理知识,知道音乐是怎么演奏出来的自然就可以通过代码来进行编排了。
1.演奏单音符的原理
一首音乐由若干音符组成,每一个音符唯一对应一个频率。如果我们知道了音符相对应的频率,再让 Arduino 按照这个频率输出到蜂鸣器或喇叭,蜂鸣器或喇叭就会发出相应频率下的声音。
Arduino官方网站给出了不同音符对应的不同频率的头文件,具体请见下文介绍。
2.音符演奏的持续时间
每个音符都会播放一定的时间,这样才能构成一首优美的曲子,而不是每个音符都播放一样长的时间。如何确定每个音符演奏的单位时间呢?我们知道,音符节奏分为1拍、1/2拍、1/4拍、1/8拍等等,我们规定一拍音符的时间为1;半拍为0.5;1/4拍为0.25;1/8拍为0.125……,所以我们可以为每个音符赋予这样的拍子播放出来,音乐就成了。
Arduino官网已经给出了像样的程序,即 Arduino 的 Tone 库。我们用它可以帮助我们快速制作音乐。
这是ArduinoTone函数的官方介绍地址:http://arduino.cc/en/Tutorial/Tone,使用函数为Tone():http://arduino.cc/en/Reference/Tone
如果要查看Tone的完整维护记录和使用说明请访问:http://code.google.com/p/rogue-code/wiki/ToneLibraryDocumentation
制作过程:
所需硬件:Arduino板子一块,小型扬声器/蜂鸣器一个,导线两根。如果扬声器声音太大,也可适当配置220欧姆电阻一个与扬声器串联。
我们将扬声器一端串联电阻后接到数字8(D8)接口,另一端接地(GND)。数字接口可以自己选择,只是在代码中要对应修改一下。
接线原理图如下:
w3oYR.png (56.78 KB, 下载次数: 298)
2014-11-25 11:09 上传</