#include"pitches.h" int melody[] = { NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_A4, NOTE_G4, NOTE_C5, NOTE_AS4, NOTE_A4, NOTE_FS4, NOTE_G4, NOTE_A4, NOTE_FS4, NOTE_DS4, NOTE_D4, NOTE_C4, NOTE_D4,0, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_A4, NOTE_G4, NOTE_C5, NOTE_D5, NOTE_C5, NOTE_AS4, NOTE_C5, NOTE_AS4, NOTE_A4, //29 //8 NOTE_FS4, NOTE_G4, NOTE_A4, NOTE_FS4, NOTE_DS4, NOTE_D4, NOTE_C4, NOTE_D4,0, NOTE_D4, NOTE_FS4, NOTE_G4, NOTE_A4, NOTE_DS5, NOTE_D5, NOTE_C5, NOTE_AS4, NOTE_A4, NOTE_C5, NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_FS4, NOTE_D5, NOTE_C5, NOTE_AS4, NOTE_A4, NOTE_C5, NOTE_AS4, //58 NOTE_D4, NOTE_FS4, NOTE_G4, NOTE_A4, NOTE_DS5, NOTE_D5, NOTE_C5, NOTE_D5, NOTE_C5, NOTE_AS4, NOTE_C5, NOTE_AS4, NOTE_A4, NOTE_C5, NOTE_G4, NOTE_A4, 0, NOTE_AS4, NOTE_A4, 0, NOTE_G4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_FS4, 0, NOTE_C4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_DS4, NOTE_C4, NOTE_D4, 0, NOTE_C4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_DS4, NOTE_C4, NOTE_D4, END }; // note durations: 8 = quarter note, 4 = 8th note, etc. int noteDurations[] = { //duration of the notes 8,4,8,4, 4,4,4,12, 4,4,4,4,4,4, 4,16,4, 8,4,8,4, 4,2,1,1,2,1,1,12, 4,4,4,4,4,4, 4,16,4, 4,4,4,4,4,4, 4,4,4,12, 4,4,4,4,4,4, 4,4,4,12, 4,4,4,4,4,4, 2,1,1,2,1,1,4,8,4, 2,6,4,2,6,4, 2,1,1,16,4, 4,8,4,4,4, 4,16,4, 4,8,4,4,4, 4,20, }; const int buttonPin = 2; // the number of the pushbutton pin int speed=90; //higher value, slower notes // variables will change: int buttonState = 0; void setup() { Serial.begin(9600); // initialize the pushbutton pin as an input: pinMode(buttonPin, INPUT_PULLUP); } void loop() { // read the state of the pushbutton value: buttonState = digitalRead(buttonPin); // check if the pushbutton is pressed. If it is, the buttonState is HIGH: if (buttonState == LOW) { for (int thisNote = 0; melody[thisNote]!=-1; thisNote++) { int noteDuration = speed*noteDurations[thisNote]; tone(3, melody[thisNote],noteDuration*.95); Serial.println(melody[thisNote]); delay(noteDuration); noTone(3); } } }