From a59900692a1f058f55b3847e7b51a9f3179f2071 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Thu, 21 Jan 2010 22:43:24 +0000 Subject: [PATCH] Removed outdated melody example in favor of tone examples. --- .../shared/examples/Digital/Melody/Melody.pde | 71 ------------------- 1 file changed, 71 deletions(-) delete mode 100644 build/shared/examples/Digital/Melody/Melody.pde diff --git a/build/shared/examples/Digital/Melody/Melody.pde b/build/shared/examples/Digital/Melody/Melody.pde deleted file mode 100644 index e195d6955..000000000 --- a/build/shared/examples/Digital/Melody/Melody.pde +++ /dev/null @@ -1,71 +0,0 @@ -/* Melody - * (cleft) 2005 D. Cuartielles for K3 - * - * This example uses a piezo speaker to play melodies. It sends - * a square wave of the appropriate frequency to the piezo, generating - * the corresponding tone. - * - * The calculation of the tones is made following the mathematical - * operation: - * - * timeHigh = period / 2 = 1 / (2 * toneFrequency) - * - * where the different tones are described as in the table: - * - * note frequency period timeHigh - * c 261 Hz 3830 1915 - * d 294 Hz 3400 1700 - * e 329 Hz 3038 1519 - * f 349 Hz 2864 1432 - * g 392 Hz 2550 1275 - * a 440 Hz 2272 1136 - * b 493 Hz 2028 1014 - * C 523 Hz 1912 956 - * - * http://www.arduino.cc/en/Tutorial/Melody - */ - -int speakerPin = 9; - -int length = 15; // the number of notes -char notes[] = "ccggaagffeeddc "; // a space represents a rest -int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 }; -int tempo = 300; - -void playTone(int tone, int duration) { - for (long i = 0; i < duration * 1000L; i += tone * 2) { - digitalWrite(speakerPin, HIGH); - delayMicroseconds(tone); - digitalWrite(speakerPin, LOW); - delayMicroseconds(tone); - } -} - -void playNote(char note, int duration) { - char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' }; - int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 }; - - // play the tone corresponding to the note name - for (int i = 0; i < 8; i++) { - if (names[i] == note) { - playTone(tones[i], duration); - } - } -} - -void setup() { - pinMode(speakerPin, OUTPUT); -} - -void loop() { - for (int i = 0; i < length; i++) { - if (notes[i] == ' ') { - delay(beats[i] * tempo); // rest - } else { - playNote(notes[i], beats[i] * tempo); - } - - // pause between notes - delay(tempo / 2); - } -}