arduino1.8.6版本蜂鸣器彩灯音乐代码小星星边唱边闪烁
时间: 2023-07-31 13:08:42 浏览: 233
好的,以下是基于Arduino 1.8.6版本的蜂鸣器彩灯音乐代码,可以让小星星边唱边闪烁:
```c++
//定义蜂鸣器引脚
int buzzerPin = 8;
//定义彩灯引脚
int ledPin = 13;
//定义小星星歌曲频率和时间
int starNotes[] = {262, 262, 392, 392, 440, 440, 392, 0, 349, 349, 330, 330, 294, 294, 262, 0, 392, 392, 349, 349, 330, 330, 294, 0, 392, 392, 349, 349, 330, 330, 294, 0, 262, 262, 392, 392, 440, 440, 392, 0, 349, 349, 330, 330, 294, 294, 262};
int starTimes[] = {200, 200, 200, 200, 200, 200, 400, 200, 200, 200, 200, 200, 400, 200, 200, 200, 200, 200, 200, 200, 200, 400, 200, 200, 200, 200, 200, 200, 400, 200, 200, 200, 200, 200, 200, 400, 200, 200, 200, 200, 200, 200, 400, 200};
int starLength = sizeof(starNotes) / sizeof(starNotes[0]);
void setup() {
//设置蜂鸣器引脚为输出模式
pinMode(buzzerPin, OUTPUT);
//设置彩灯引脚为输出模式
pinMode(ledPin, OUTPUT);
}
void loop() {
//循环播放小星星歌曲
for (int i = 0; i < starLength; i++) {
//如果音符为0,表示休止符,不需要发声
if (starNotes[i] == 0) {
delay(starTimes[i]);
continue;
}
//发声
tone(buzzerPin, starNotes[i]);
//彩灯闪烁
digitalWrite(ledPin, HIGH);
delay(starTimes[i] / 2);
digitalWrite(ledPin, LOW);
delay(starTimes[i] / 2);
//停止发声
noTone(buzzerPin);
}
}
```
请将代码复制到Arduino IDE中,并将Arduino连接到计算机上进行编译和上传。当上传完成后,蜂鸣器将会播放“小星星”的歌曲,并且彩灯会边唱边闪烁。
阅读全文