int speakerPin = 9; // 蜂鸣器引脚
int melody[] = { // 演奏的音符
262, 262, 392, 392, 440, 440, 392,
349, 349, 330, 330, 294, 294, 262,
392, 392, 349, 349, 330, 330, 294,
392, 392, 349, 349, 330, 330, 294,
262, 262, 392, 392, 440, 440, 392,
349, 349, 330, 330, 294, 294, 262
};
int noteDurations[] = { // 音符持续时间
4, 4, 4, 4, 4, 4, 2,
4, 4, 4, 4, 4, 4, 2,
4, 4, 4, 4, 4, 4, 2,
4, 4, 4, 4, 4, 4, 2,
4, 4, 4, 4, 4, 4, 2,
4, 4, 4, 4, 4, 4, 2
};
void setup() {
pinMode(speakerPin, OUTPUT); // 将蜂鸣器引脚设置为输出
}
void loop() {
for (int i = 0; i < sizeof(melody) / sizeof(melody[0]); i++) {
int duration = 1000 / noteDurations[i]; // 计算音符持续时间
tone(speakerPin, melody[i], duration); // 播放音符
delay(duration * 1.3); // 等待一段时间后停止播放
noTone(speakerPin); // 停止播放
}
}