写在前面:
首先感谢arduino中文社区的tahoroom,开始做这个的时候在他的这个项目里我学了很多东西:
1、Arduino的Tone函数
关于arduino播放音乐的原理,可以看上面链接的tahoroom的文章,他讲得相当详细。
Arduino官方提供的Tone函数用于驱动蜂鸣器或扬声器发出我们需要的声音,通常的应用如下:
tone(pin,frequency,duration);//控制pin脚上的音频输出
//pin:arduino的控制脚位;
//frequency:输出的声音频率,换到音乐上可理解为旋律音高;
//duration:旋律持续时间,单位ms;
noTone(pin);//停止播放;
详细的tone函数定义也可以参考官方介绍:
2、pitches.h的添加
为了避免在主程序里添加太多的定义,我们把音高的定义独立出来放在一个头文件pitches.h里,然后在主程序里引用即可,下次需要同样的功能时,也可以直接拷贝调用该头文件。
代码如下:
//pitches.h 音高定义
//pitches.h 定义了不同音符对应的不同频率
#define NOTE_B0 31 //B0 ····7
#define NOTE_C1 33 //C1 ···1
#define NOTE_CS1 35 //C1#
#define NOTE_D1 37 //D1 ···2
#define NOTE_DS1 39 //D1#
#define NOTE_E1 41 //E1 ···3
#define NOTE_F1 44 //F1 ···4
#define NOTE_FS1 46 //F1#
#define NOTE_G1 49 //G1 ···5
#define NOTE_GS1 52 //G1#
#define NOTE_A1 55 //A1 ···6
#define NOTE_AS1 58 //A1#
#define NOTE_B1 62 //B1 ···7
#define NOTE_C2 65 //C2 ··1
#define NOTE_CS2 69 //C2#
#define NOTE_D2 73 //D2 ·