arduino按钮控制蜂鸣器音乐小星星,按一下播放,再按一下停止,不用PWM
时间: 2023-08-16 20:09:12 浏览: 1848
arduino 音乐播放
好的,我可以帮你解决这个问题。
首先,你需要将蜂鸣器连接到Arduino的数字引脚上。然后,将一个按钮连接到另一个数字引脚上。接下来,你可以使用Arduino的digitalRead()函数读取按钮的状态,使用tone()函数播放音乐,使用noTone()函数停止音乐。
下面是示例代码:
```
int buttonPin = 2; // 按钮连接的引脚
int buzzerPin = 3; // 蜂鸣器连接的引脚
int melody[] = { // 音乐的音符频率
262, 262, 392, 392, 440, 440, 392,
349, 349, 330, 330, 294, 294, 262
};
int noteDuration = 250; // 音符持续时间
void setup() {
pinMode(buttonPin, INPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
static bool playing = false;
if (digitalRead(buttonPin) == HIGH) {
if (!playing) {
// 播放音乐
for (int i = 0; i < sizeof(melody) / sizeof(melody[0]); i++) {
tone(buzzerPin, melody[i], noteDuration);
delay(noteDuration);
}
playing = true;
} else {
// 停止音乐
noTone(buzzerPin);
playing = false;
}
}
}
```
这个程序会在按下按钮时播放音乐,并在再次按下按钮时停止音乐。你可以将melody数组中的音符替换为其他音符,以播放不同的音乐。
阅读全文