/* Melody Plays a melody circuit: * 8-ohm speaker on digital pin 11 http://arduino.cc/en/Tutorial/Tone */ #include "pitches.h" int led = 5; // notes in the melody: int melody[] = { //music notes for Wicked (Defying Gravity) 0,0,NOTE_C5, NOTE_C5, NOTE_G5, NOTE_F5,0, NOTE_A4, NOTE_C5,0, NOTE_F4, NOTE_A4, NOTE_G4, NOTE_G4,0, NOTE_C5, NOTE_C5, NOTE_G5, NOTE_F5,0, NOTE_A4, NOTE_C5,0, NOTE_F4, NOTE_A4, NOTE_G4, NOTE_G4,0, NOTE_A4, NOTE_AS4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_F4,0,0, //music notes for Peter Pan (Never Never Land) NOTE_F4, NOTE_E4, NOTE_F4, NOTE_E4, NOTE_F4, NOTE_A4, NOTE_F4, NOTE_D4,0, NOTE_D4, NOTE_F4, NOTE_D4, NOTE_A3, NOTE_C4, NOTE_D4,0, NOTE_C4, NOTE_AS3, NOTE_F3, NOTE_AS3, NOTE_G4, NOTE_F4,0, NOTE_C4, NOTE_AS3, NOTE_GS2, NOTE_DS3, NOTE_GS2, NOTE_F4, NOTE_DS4,0, NOTE_D4, NOTE_C4,0, NOTE_AS3, NOTE_D4, NOTE_C4,0,0, //music notes for Cats (Memory) NOTE_AS5, NOTE_AS5, NOTE_A5, NOTE_AS5, NOTE_C5, NOTE_AS5, NOTE_G4, NOTE_AS5, NOTE_AS5, NOTE_A5, NOTE_AS5, NOTE_C5, NOTE_AS5, NOTE_F4, NOTE_G4, NOTE_G4, NOTE_DS4, NOTE_F4, NOTE_G4, NOTE_F4, NOTE_DS4, NOTE_D4,0,0, //music notes for Camelot (Camelot) NOTE_C3, NOTE_C3,NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_AS3, NOTE_AS3, NOTE_G3, NOTE_A3, NOTE_A3,0,0, NOTE_C3, NOTE_C3,NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_AS3, NOTE_AS3, NOTE_A3, NOTE_A3, 0,0,0, NOTE_C4, NOTE_C4, NOTE_AS3, NOTE_AS3, NOTE_A3, NOTE_A3, 0, NOTE_A3, NOTE_A3, NOTE_G3, NOTE_G3, NOTE_F3, NOTE_F3,0, NOTE_F3, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_AS3, NOTE_AS3, NOTE_A3, NOTE_A3, NOTE_G3, NOTE_C4,0, NOTE_F3,0, NOTE_C4,0, NOTE_E3,0, NOTE_F3,0,0, //music notes for Cinderella (In My Own Little Corner) NOTE_AS3, NOTE_G3,NOTE_A3, NOTE_A3, NOTE_A3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_F3, NOTE_F3, NOTE_DS3, NOTE_DS3, NOTE_DS3, NOTE_DS3, NOTE_DS3, NOTE_E3, NOTE_E3, NOTE_E3, NOTE_F3, NOTE_F3, NOTE_D3, NOTE_E3, NOTE_F3,0,0, NOTE_AS3, NOTE_G3,NOTE_A3, NOTE_A3, NOTE_A3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_F3, NOTE_F3, NOTE_DS3, NOTE_DS3, NOTE_DS3, NOTE_DS3, NOTE_DS3, NOTE_E3, NOTE_E3, NOTE_E3, NOTE_F3, NOTE_F3, NOTE_D3, NOTE_E3, NOTE_F3,0,0, //music notes for Oklahoma (Oh What a Beautiful Morning) NOTE_C5, NOTE_A4, NOTE_E4, NOTE_F4, NOTE_A4, NOTE_C5, NOTE_DS5,0, NOTE_D5,0, NOTE_C5, NOTE_A4, NOTE_E4, NOTE_F4, NOTE_A4, NOTE_C5, NOTE_G4,0, NOTE_C5, NOTE_A4, NOTE_E4, NOTE_F4, NOTE_A4, NOTE_C5, NOTE_E5,0, NOTE_F5,0, NOTE_F5, NOTE_C5, NOTE_A4, NOTE_D5, NOTE_AS4, NOTE_G4, NOTE_F4,0,0,0}; // note durations: 4 = quarter note, 8 = eighth note, etc.: int noteDurations[] = { //note durations for Wicked 1,1,4,4,4,2,4,4,2,4,4,4,4,2,4, 4,4,4,2,4,4,2,4,4,4,4,4, 4,4,4,4,4,4,1,1,1, //note durations for Peter Pan 4,2,4,2,4,2,4,2, 8, 4,2,4,4,4,2, 8, 4,4,4,4,4,2,8,4,4,4,4,4,4,2,4,4,2,8,2,2,2,1,1, //note durations for Cats 1,1,4,4,4,4,4,1,1,4,4,4,4,4,1,1,4,4,4,4,4,1,1,1, //note durations for Camelot 4,4,4,4,4,4,4,4,4,2,2,2,4, 4,4,4,4,4,4,4,4,4,2,2,2,4, 4,4,4,4,4,4,2,4,4,4,4,4,4,2,4, 4,4,4,4,4,4,4,4,2,2,2,2,2,2,2,2,2,1,1, //note durations for Cinderella 4,4,2,4,4,4,4,4,4,2,4,4,2,4,4,2,2,8,8,4,4,4,2,4,4, 4,4,2,4,4,4,4,4,4,2,4,4,2,4,4,2,2,8,8,4,4,4,2,1,1, //note durations for Oklahoma 4,4,4,4,4,4,2,4,2,4, 4,4,4,4,4,4,1,2, 4,4,4,4,4,4,2,4,2,4, 4,4,4,4,4,4,1,1,1,1}; void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } void loop() { // iterate over the notes of the melody: // the test number (middle number) should be the number of notes you're using for (int thisNote = 0; thisNote < 247; thisNote++) { // to calculate the note duration, take one second // divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1000/noteDurations[thisNote]; tone(11, melody[thisNote],noteDuration); // to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(11); digitalWrite (led, HIGH); } }