1. Arduino中的tone库
Arduino中有tone库可供无源蜂鸣器发出指定音调的声音
tone(tonePin,tune,duration)
tonePin为蜂鸣器数据引脚,tune为音调频率,duration为持续时间noTone(tonePin)
停止发声,用于区分每个音
2. 示例
#define C_1 525
#define C_2 589
#define C_3 661
#define C_4 700
#define C_5 786
#define tonePin 7
int tune[]={
C_3,C_3,C_4,C_5,C_5,C_4,C_3,C_2,C_1,C_1,C_2,C_3,C_3,C_2,C_2
};
int duration[]={
500,500,500,500,500,500,500,500,500,500,500,500,1000,250,250
};
void setup() {
}
void loop() {
int i;
int len;
len = sizeof(tune)/sizeof(tune[0]);
for(i=0;i<len;i++)
{
tone(tonePin,tune[i],duration[i]);
noTone(7);
}
}
3. 附音调表
4. 参考资料
- 百度文库《arduino制作各种歌曲》
https://wenku.baidu.com/view/e35120cc55270722182ef735.html?from=search - wali《Arduino学习心得-简单制作各种歌曲》
http://www.geek-workshop.com/thread-288-1-1.html