1#define NOTE_G3 392
2#define NOTE_A3 440
3#define NOTE_B3 494
4#define NOTE_C4 523
5#define NOTE_D4 587
6#define NOTE_E4 659
7#define NOTE_F4 699
8#define NOTE_G4 784
9#define NOTE_A4 880
10
11void setup() {
12pinMode(6,OUTPUT);
13pinMode(7,OUTPUT);
14pinMode(8,OUTPUT);
15pinMode(9,INPUT);
16pinMode(5,OUTPUT);
17digitalWrite(9,HIGH);
18}
19
20unsigned int notes[109][2]={
21 {NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_G4,1},{NOTE_C4,1},{NOTE_D4,1},{NOTE_E4,4},
22 {NOTE_F4,1},{NOTE_F4,1},{NOTE_F4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_D4,1},{NOTE_D4,1},{NOTE_E4,1},{NOTE_D4,2},{NOTE_G4,2},
23 {NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_G4,1},{NOTE_C4,1},{NOTE_D4,1},{NOTE_E4,4},
24 {NOTE_F4,1},{NOTE_F4,1},{NOTE_F4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_G4,1},{NOTE_G4,1},{NOTE_F4,1},{NOTE_D4,1},{NOTE_C4,4},
25 {NOTE_G3,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_C4,1},{NOTE_G3,2},{NOTE_G3,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_C4,1},{NOTE_A3,2},
26 {NOTE_A3,1},{NOTE_F4,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_B3,2},{NOTE_G4,1},{NOTE_G4,1},{NOTE_F4,1},{NOTE_D4,1},{NOTE_E4,2},
27 {NOTE_G3,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_C4,1},{NOTE_G3,2},{NOTE_G3,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_C4,1},{NOTE_A3,2},
28 {NOTE_A3,1},{NOTE_F4,1},{NOTE_E4,1},{NOTE_D4,1},{NOTE_G4,1},{NOTE_G4,1},{NOTE_G4,2},{NOTE_A4,1},{NOTE_G4,1},{NOTE_F4,1},{NOTE_D4,1},{NOTE_C4,4},
29 {NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_E4,1},{NOTE_G4,1},{NOTE_C4,1},{NOTE_D4,1},{NOTE_E4,4},
30 {NOTE_F4,1},{NOTE_F4,1},{NOTE_F4,2},{NOTE_E4,1},{NOTE_E4,1},{NOTE_E4,2},{NOTE_G4,1},{NOTE_G4,1},{NOTE_F4,1},{NOTE_D4,1},{NOTE_C4,4},
31};
32
33void loop() {
34digitalWrite(5,HIGH);
35digitalWrite(7,LOW);
36digitalWrite(8,LOW);
37
38int A = digitalRead(9);
39
40if (A==0) {
41 digitalWrite(5,LOW);
42 digitalWrite(7,HIGH);
43 for (int i=0;i<109;i++) {
44 tone(6,notes[i][0],notes[i][1]*200);
45 delay(notes[i][1]*200+100);
46 digitalWrite(7,!digitalRead(7));
47 digitalWrite(8,!digitalRead(8));
48 }
49}
50}
51