1.关于音调 和 频率
使用下面的代码对应两者的关系
/*
声音的频率, 单位是Hz。
音调的范围,中音减一度,中音,中音升一度; 130hz~987hz
*/
unsigned int toneFrequence[] ={
//1. 中音减一度
130,//C 1
138,//C♯/D♭
146,//D 2
155,//D♯/E♭
164,//E 3
174,//F 4
185,//F♯/G♭
196,//G 5
207,//G♯/A♭
220,//A 6
233,//A♯/B♭
246,//B 7
//2. 中音
261,//C 1
277,//C♯/D♭
293,//D 2
311,//D♯/E♭
329,//E 3
349,//F 4
369,//F♯/G♭
392,//G 5
415,//G♯/A♭
440,//A 6
466,//A♯/B♭
493,//B 7
//3. 中音升一度
523,//C 1
554,//C♯/D♭
587,//D 2
622,//D♯/E♭
659,//E 3
698,//F 4
739,//F♯/G♭
783,//G 5
830,//G♯/A♭
880,//A 6
932,//A♯/B♭
987,//B 7
};
2. 简单的音调测试代码
关键是使用 tone() 函数来驱动。用到了上面的音调数组。
#define tonelength 21
void setup() {
for(int i = 0; i < tonelength; i++){
tone(beep, toneFrequence[i]);
delay(500);
noTone(beep);
}
}
void loop() {
}
3.demo实现
地址:beep工程
参考资料:
标签:音乐,一度,void,认知,beep,简谱,中音,音调 From: https://www.cnblogs.com/breakr-yu/p/17007094.html