arduino蜂鸣器音乐代码
时间: 2023-09-08 11:16:24 浏览: 91
蜂鸣器的音乐代码
以下是一个简单的 Arduino 蜂鸣器音乐代码示例,可以播放《小星星》的旋律:
```C++
int melody[] = { 262, 294, 330, 262, 262, 294, 330, 262, 330, 349, 392, 330, 349, 392, 392, 440, 392, 349, 330, 262, 392, 440, 392, 349, 330, 262, 262, 196, 262, 262, 196, 262 };
int noteDurations[] = { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2 };
int buzzerPin = 8;
void setup() {
pinMode(buzzerPin, OUTPUT);
}
void loop() {
for (int i = 0; i < sizeof(melody) / sizeof(int); i++) {
int duration = 1000 / noteDurations[i];
tone(buzzerPin, melody[i], duration);
delay(duration * 1.3);
}
}
```
在这个示例中,我们定义了两个数组 `melody` 和 `noteDurations`,它们分别存储了旋律和每个音符的持续时间。我们还定义了一个 `buzzerPin` 变量,用于指定蜂鸣器的引脚。
在 `setup()` 函数中,我们将 `buzzerPin` 设置为输出模式。
在 `loop()` 函数中,我们使用一个 `for` 循环来遍历 `melody` 数组中的每个音符。对于每个音符,我们计算出持续时间并使用 `tone()` 函数播放它。然后我们延迟一段时间,以便在播放下一个音符之前蜂鸣器有时间停止震动。
这里的 `delay()` 函数使用了一个乘数 `1.3`,这是为了让每个音符之间有更好的分离效果。你可以根据自己的需要来调整这个乘数的值。
请注意,这个示例代码假定你的蜂鸣器已经正确连接到了 Arduino 板上,并且你已经正确地设置了 `buzzerPin` 变量来指定它的引脚。
阅读全文