int NOTE_C3 = 131;
int NOTE_D3 = 147;
int NOTE_E3 = 165;
int NOTE_F3 = 175;
int NOTE_G3 = 196;
int NOTE_A3 = 220;
int NOTE_B3 = 247;
int NOTE_C4 = 262;
int NOTE_D4 = 294;
int NOTE_E4 = 330;
int NOTE_F4 = 349;
int NOTE_G4 = 392;
int NOTE_A4 = 440;
int NOTE_B4 = 494;
int NOTE_C5 = 523;
int NOTE_D5 = 587;
int NOTE_E5 = 659;
int NOTE_F5 = 698;
int NOTE_G5 = 784;
int NOTE_A5 = 880;
int NOTE_B5 = 988;
int melody[] = {
NOTE_C4, NOTE_C4, NOTE_D4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_C4, NOTE_D4, NOTE_F4, NOTE_G4, NOTE_A4, 0,
NOTE_C4, NOTE_C4, NOTE_D4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_C5, NOTE_A4, NOTE_G4, NOTE_A4, 0,
NOTE_F4, NOTE_G4, NOTE_A4, NOTE_D4, NOTE_F4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_D4, NOTE_F4, NOTE_G4, 0,
NOTE_F4, NOTE_G4, NOTE_A4, NOTE_D4, NOTE_F4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_D4, NOTE_F4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_F4, 0,
NOTE_C5, NOTE_C5, NOTE_C5, NOTE_D5, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_G4, NOTE_F4, NOTE_C4, NOTE_C5, NOTE_C5, NOTE_D5, NOTE_A4, 0,
NOTE_F4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_C4, NOTE_D4, 0,
NOTE_C5, NOTE_C5, NOTE_C5, NOTE_D5, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_C4, NOTE_C5, NOTE_C5, NOTE_D5, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_A4, 0,
NOTE_F4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_G4, 0
};
int noteDurations[] = {
4, 2, 4, 4, 3, 4, 4, 3, 4, 4, 3, 4, 4, 2, 4, 4, 2, 4,
4, 3, 4, 4, 3, 4, 4, 3, 4, 4, 3, 4, 4, 3, 4, 4, 2, 4,
4, 3, 2, 4, 3, 2, 3, 3, 4, 3, 4, 2, 4,
4, 3, 4, 3, 4, 2, 3, 4, 4, 4, 4, 2, 8, 8, 8, 4,
4, 4, 3, 4, 2, 4, 4, 4, 3, 4, 3, 4, 3, 4, 3, 4, 2, 4,
4, 3, 4, 4, 2, 4, 3, 4, 3, 4, 2, 4,
4, 4, 3, 4, 2, 4, 3, 4, 4, 4, 3, 4, 4, 4, 3, 4, 2, 8, 8, 8, 2, 4,
4, 3, 4, 4, 2, 4, 3, 4, 4, 2, 2, 2
};
void setup() {
int melodySize = sizeof(melody) / sizeof(melody[0]);
for (int i = 0; i < melodySize; i++) {
int noteDuration = 1000 / noteDurations[i];
tone(8, melody[i], noteDuration);
delay(noteDuration * 1.3);
noTone(8);
}
}
void loop() {
setup();
}