mbed歌曲代码
时间: 2023-07-03 22:23:08 浏览: 177
以下是一个简单的mbed歌曲代码示例:
#include "mbed.h"
#include "Speaker.h"
// 定义 Speaker 对象
Speaker speaker(p25);
// 定义歌曲数组
int notes[] = {
NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4
};
// 定义节拍数组
int durations[] = {
4, 8, 8, 4, 4, 4, 4, 4
};
int main() {
// 循环播放歌曲
while(1) {
for(int i = 0; i < sizeof(notes)/sizeof(int); i++) {
speaker.PlayTone(notes[i], durations[i]);
wait_ms(durations[i] * 200);
}
}
}
在这个例子中,我们使用了 Speaker 库来控制蜂鸣器播放音调,定义了一个简单的歌曲数组和节拍数组,然后在 main
函数中循环播放歌曲。
相关问题
mbed歌曲City of stars代码
以下是一个简单的mbed歌曲 "City of Stars" 代码示例:
#include "mbed.h"
#include "Speaker.h"
// 定义 Speaker 对象
Speaker speaker(p25);
// 定义歌曲数组
int notes[] = {
NOTE_E5, NOTE_E5, NOTE_E5, NOTE_C5, NOTE_E5, NOTE_G5, NOTE_G4, NOTE_C5,
NOTE_G4, NOTE_E4, NOTE_A4, NOTE_B4, NOTE_AS4, NOTE_A4, NOTE_G4, NOTE_E5,
NOTE_G5, NOTE_A5, NOTE_F5, NOTE_G5, NOTE_E5, NOTE_C5, NOTE_D5, NOTE_B4,
NOTE_C5, NOTE_G4, NOTE_E4, NOTE_A4, NOTE_B4, NOTE_AS4, NOTE_A4, NOTE_G4,
NOTE_E5, NOTE_G5, NOTE_A5, NOTE_F5, NOTE_G5, NOTE_E5, NOTE_C5, NOTE_D5,
NOTE_B4, NOTE_C5, NOTE_G4, NOTE_E4, NOTE_A4, NOTE_B4, NOTE_AS4, NOTE_A4,
NOTE_G4, NOTE_E5, NOTE_G5, NOTE_A5, NOTE_F5, NOTE_G5, NOTE_E5, NOTE_C5,
NOTE_D5, NOTE_B4, NOTE_C5, NOTE_G4, NOTE_E4, NOTE_A4, NOTE_B4, NOTE_AS4,
NOTE_A4, NOTE_G4, NOTE_E5, NOTE_G5, NOTE_A5, NOTE_F5, NOTE_G5, NOTE_E5,
NOTE_C5, NOTE_D5, NOTE_B4, NOTE_C5, NOTE_G4, NOTE_E4, NOTE_C5, NOTE_C5,
NOTE_D5, NOTE_E5, NOTE_C5, NOTE_A4, NOTE_G4, NOTE_C5, NOTE_G4, NOTE_E4,
NOTE_A4, NOTE_B4, NOTE_AS4, NOTE_A4, NOTE_G4, NOTE_E5, NOTE_G5, NOTE_A5,
NOTE_F5, NOTE_G5, NOTE_E5, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_C5, NOTE_G4,
NOTE_E4, NOTE_A4, NOTE_B4, NOTE_AS4, NOTE_A4, NOTE_G4, NOTE_E5, NOTE_G5,
NOTE_A5, NOTE_F5, NOTE_G5, NOTE_E5, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_C5,
NOTE_G4, NOTE_E4, NOTE_C5
};
// 定义节拍数组
int durations[] = {
4, 4, 4, 2, 4, 4, 2, 4,
2, 4, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 2, 4, 2,
2, 2, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 2, 4, 2,
2, 2, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 2, 4, 2,
2, 2, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 2, 4, 2,
2, 2, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 2, 4, 2,
2, 2, 2, 2, 2, 2, 2, 4,
4, 4, 2, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 2
};
int main() {
// 循环播放歌曲
while(1) {
for(int i = 0; i < sizeof(notes)/sizeof(int); i++) {
speaker.PlayTone(notes[i], durations[i]);
wait_ms(durations[i] * 200);
}
}
}
在这个例子中,我们使用了 Speaker 库来控制蜂鸣器播放音调,定义了一个歌曲数组和节拍数组,然后在 main
函数中循环播放歌曲。这个例子中的歌曲是 "City of Stars"。
mbed蜂鸣器音乐代码
这里提供一个简单的mbed蜂鸣器音乐代码示例,可以通过改变数组来演奏不同的音乐:
#include "mbed.h"
// 定义简单的歌曲
int melody[] = {
262, 196, 196, 220, 196, 0, 247, 262
};
int tempo[] = {
4, 4, 4, 4, 4, 4, 4, 4
};
// 计算延时时间
int calculateDelay(int noteDuration) {
return 1000 / noteDuration;
}
int main() {
PwmOut buzzer(D3);
while(1) {
for (int i = 0; i < sizeof(melody)/sizeof(melody[0]); i++) {
int noteDuration = 1000 / tempo[i];
buzzer.period(1.0 / melody[i]);
buzzer.write(0.5);
wait_ms(calculateDelay(noteDuration));
buzzer.write(0.0);
wait_ms(1);
}
}
}
这个示例使用了PWM输出来控制蜂鸣器,并且使用了wait_ms函数来计算延时时间。你可以根据需要改变melody和tempo数组来演奏不同的音乐。
相关推荐










