/* Custom Melody Plays a custom melody circuit: * 8-ohm speaker on digital pin 9 This code is based on following sketch: http://arduino.cc/en/Tutorial/Tone (by Tom Igoe ) */ #include "pitches.h" // notes in the melody: int melody[] = { NOTE_C4,0,NOTE_D4,0,NOTE_F4,0, NOTE_D4,0,NOTE_F4,0,NOTE_G4,0, NOTE_F4,0,NOTE_G4,0, NOTE_A4,0, NOTE_G4,0,NOTE_A4,0, NOTE_B4,0, NOTE_A4,0,NOTE_B4,0, NOTE_C5,0}; // note durations: 4 = quarter note, 8 = eighth note, etc.: int noteDurations[] = { 8,8,8,8,8,4, 8,8,8,8,8,4, 8,8,8,8,8,4, 8,8,8,8,8,4, 8,8,8,8,8,4}; void setup() { // iterate over the notes of the melody: for (int thisNote = 0; thisNote < 30; 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(9, 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(9); } } void loop() { // no need to repeat the melody. }