arduino 无源蜂鸣器播放小星星
蜂鸣器阴极>>>>>>>>>>>>>>>>>>>>GND
蜂鸣器正极>>>>>>>>>>>>>>>>>>>>pin6
</
#define NOTE_D0 -1
#define NOTE_D1 294
#define NOTE_D2 330
#define NOTE_D3 350
#define NOTE_D4 393
#define NOTE_D5 441
#define NOTE_D6 495
#define NOTE_D7 556
#define NOTE_DL1 147
#define NOTE_DL2 165
#define NOTE_DL3 175
#define NOTE_DL4 196
#define NOTE_DL5 221
#define NOTE_DL6 248
#define NOTE_DL7 278
#define NOTE_DH1 589
#define NOTE_DH2 661
#define NOTE_DH3 700
#define NOTE_DH4 786
#define NOTE_DH5 882
#define NOTE_DH6 990
#define NOTE_DH7 112
int tune[] =
{
NOTE_D1,NOTE_D1,NOTE_D5,NOTE_D5,NOTE_D6,
NOTE_D6,NOTE_D5,0,NOTE_D4,NOTE_D4,NOTE_D3,
NOTE_D3,NOTE_D2,NOTE_D2,NOTE_D1,0,NOTE_D5,
NOTE_D5,NOTE_D4,NOTE_D4,NOTE_D3,NOTE_D3,
NOTE_D2,0,NOTE_D5,NOTE_D5,NOTE_D4,
NOTE_D4,NOTE_D3,NOTE_D3,NOTE_D2,0,
NOTE_D1,NOTE_D1,NOTE_D5,NOTE_D5,//此为小星星一部分音调
};
int tonePin=6;//蜂鸣器的pin
void setup(){
pinMode(tonePin,OUTPUT);//设置蜂鸣器的pin为输出模式
}
void loop()
{
for(int i = 0; i < 36; i += 1) // 从0度到180度运动
{
tone(tonePin,tune[i]);//此函数依次播放tune序列里的数组,即每个 音符
delay(500);
noTone(tonePin);//停止当前音符,// 每次步进一度
}
delay(10000);//1分钟之后重新播放。
}
/>
因为小星星调子较为简单所以并未添加间隔,仅仅是添加0频率调整。