#define BUZZER 8
// I asked AI to create a melody.
#define REST 0
#define C4 262
#define D4 294
#define E4 330
#define F4 349
#define G4 392
#define A4 440
#define B4 494
#define C5 523
#define D5 587
#define E5 659
#define F5 698
#define G5 784
#define A5 880
int frequencies[] =
{
C4, E4, G4, C5, G4, E4, D4, REST,
C4, E4, G4, A4, G4, E4, D4, REST,
E4, G4, C5, B4, A4, G4, E4, REST,
C4, D4, E4, G4, E4, D4, C4, REST,
G4, A4, B4, A4, G4, E4, D4, REST,
E4, G4, A4, C5, B4, A4, G4, REST,
C4, E4, G4, C5, D5, C5, B4, A4,
G4, E4, D4, C4, REST,
C4, E4, G4, A4, G4, E4, C4, REST,
D4, F4, A4, B4, A4, F4, D4, REST,
E4, G4, C5, D5, E5, D5, C5, B4, A4, G4, REST,
C5, B4, A4, G4, E4, D4, C4, REST,
E4, G4, B4, C5, D5, C5, B4, G4,
A4, C5, E5, D5, C5, A4, G4, REST,
C4, E4, G4, C5, G4, E4, D4, REST,
C4, D4, E4, F4, G4, A4, G4, E4, REST,
E4, G4, A4, B4, A4, G4, E4, REST,
D4, F4, A4, D5, C5, A4, F4, REST,
E4, G4, C5, B4, A4, G4, E4, REST,
C4, E4, G4, A4, B4, C5, B4, A4, G4, E4, D4, C4, REST
};
int durations[] =
{
220,220,300,420,220,220,300,120,
220,220,300,300,220,220,420,120,
220,220,300,220,220,220,420,120,
220,220,220,300,220,220,420,120,
220,220,220,220,300,220,420,120,
220,220,220,300,220,220,420,120,
220,220,300,300,220,220,220,220,
300,300,300,300,180,
220,220,220,220,220,220,420,120,
220,220,220,220,220,220,420,120,
220,220,300,300,300,300,300,220,220,300,180,
220,220,220,220,220,220,420,120,
220,220,220,220,220,220,220,220,
220,220,220,220,220,220,420,120,
220,220,220,220,220,220,420,120,
220,220,220,220,220,220,220,220,120,
220,220,220,220,220,220,220,220,220,220,220,220,180,
220,220,220,220,220,220,220,120,
220,220,220,220,220,220,220,120,
220,220,220,220,220,220,220,220,220,220,220,220,180,
220,220,220,220,220,220,220,120,
220,220,220,220,220,220,220,120,
220,220,220,220,220,220,220,220,220,220,220,220,180
};
void setup()
{
pinMode(BUZZER, OUTPUT);
}
void loop()
{
int n = sizeof(frequencies) / sizeof(frequencies[0]);
for (int i = 0; i < n; i++)
{
int f = frequencies[i];
int d = durations[i];
tone(BUZZER, f, d);
delay(d + 15);
}
delay(2500);
}