/**
* 太阳照常升起(C大调)
* @author
* 2022.1.8
**/
const int speakerPIN = 6;
char noteNames[] = {'c','d','e','f','g','a','b','C','D','E','F','G','A','B'};
unsigned int frequencies[] = {131,147,165,174,196,220,247,262,294,330,349,392,440,494};
const byte noteCount = sizeof(noteNames);
char score[] = "a E E E FE E E F G A AG G E a D D D ED E G EG b Ca a a C E A GA A GA GA G GE E D A G E DE E D A F E DE G B Ca";
const byte scoreLen = sizeof(score);
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
for(int i = 0; i < scoreLen; i++)
{
int duration = 125;
playNote(score[i], duration);
}
delay(4000);
}
void playNote(char note, int duration)
{
for(int i = 0; i < noteCount; i++)
{
if(noteNames[i] == note)
tone(speakerPIN,frequencies[i],duration);
}
delay(duration);
}
基于Arduino UNO