void setup() { pinMode(13, OUTPUT); } void loop() { buzz(13, 660, 100); delay(75); buzz(13, 660, 100); delay(150); buzz(13, 660, 100); delay(150); buzz(13, 510, 100); delay(50); buzz(13, 660, 100); delay(150); buzz(13, 770, 100); delay(275); buzz(13, 380, 100); delay(287); buzz(13, 510, 100); delay(225); buzz(13, 380, 100); delay(200); buzz(13, 320, 100); delay(250); buzz(13, 440, 100); delay(150); buzz(13, 480, 80); delay(165); buzz(13, 450, 100); delay(75); buzz(13, 430, 100); delay(150); buzz(13, 380, 100); delay(100); buzz(13, 660, 80); delay(100); buzz(13, 760, 50); delay(75); buzz(13, 860, 100); delay(150); buzz(13, 700, 80); delay(75); buzz(13, 760, 50); delay(175); buzz(13, 660, 80); delay(150); buzz(13, 520, 80); delay(75); buzz(13, 580, 80); delay(75); buzz(13, 480, 80); delay(250); buzz(13, 510, 100); delay(225); buzz(13, 380, 100); delay(200); buzz(13, 320, 100); delay(250); buzz(13, 440, 100); delay(150); buzz(13, 480, 80); delay(165); buzz(13, 450, 100); delay(75); buzz(13, 430, 100); delay(150); buzz(13, 380, 100); delay(100); buzz(13, 660, 80); delay(100); buzz(13, 760, 50); delay(75); buzz(13, 860, 100); delay(150); buzz(13, 700, 80); delay(75); buzz(13, 760, 50); delay(175); buzz(13, 660, 80); delay(150); buzz(13, 520, 80); delay(75); buzz(13, 580, 80); delay(75); buzz(13, 480, 80); delay(250); buzz(13, 500, 100); delay(150); buzz(13, 760, 100); delay(50); buzz(13, 720, 100); delay(75); buzz(13, 680, 100); delay(75); buzz(13, 620, 150); delay(150); buzz(13, 650, 150); delay(150); buzz(13, 380, 100); delay(75); buzz(13, 430, 100); delay(75); buzz(13, 500, 100); delay(150); buzz(13, 430, 100); delay(75); buzz(13, 500, 100); delay(50); buzz(13, 570, 100); delay(110); buzz(13, 500, 100); delay(150); buzz(13, 760, 100); delay(50); buzz(13, 720, 100); delay(75); buzz(13, 680, 100); delay(75); buzz(13, 620, 150); delay(150); buzz(13, 650, 200); delay(150); buzz(13, 1020, 80); delay(150); buzz(13, 1020, 80); delay(75); buzz(13, 1020, 80); delay(150); buzz(13, 380, 100); delay(150); buzz(13, 500, 100); delay(150); buzz(13, 760, 100); delay(50); buzz(13, 720, 100); delay(75); buzz(13, 680, 100); delay(75); buzz(13, 620, 150); delay(150); buzz(13, 650, 150); delay(150); buzz(13, 380, 100); delay(75); buzz(13, 430, 100); delay(75); buzz(13, 500, 100); delay(150); buzz(13, 430, 100); delay(75); buzz(13, 500, 100); delay(50); buzz(13, 570, 100); delay(210); buzz(13, 585, 100); delay(225); buzz(13, 550, 100); delay(210); buzz(13, 500, 100); delay(180); buzz(13, 380, 100); delay(150); buzz(13, 500, 100); delay(150); buzz(13, 500, 100); delay(75); buzz(13, 500, 100); delay(150); buzz(13, 500, 100); delay(150); buzz(13, 760, 100); delay(50); buzz(13, 720, 100); delay(75); buzz(13, 680, 100); delay(75); buzz(13, 620, 150); delay(150); buzz(13, 650, 150); delay(150); buzz(13, 380, 100); delay(75); buzz(13, 430, 100); delay(75); buzz(13, 500, 100); delay(150); buzz(13, 430, 100); delay(75); buzz(13, 500, 100); delay(50); buzz(13, 570, 100); delay(110); buzz(13, 500, 100); delay(150); buzz(13, 760, 100); delay(50); buzz(13, 720, 100); delay(75); buzz(13, 680, 100); delay(75); buzz(13, 620, 150); delay(150); buzz(13, 650, 200); delay(150); buzz(13, 1020, 80); delay(150); buzz(13, 1020, 80); delay(75); buzz(13, 1020, 80); delay(150); buzz(13, 380, 100); delay(150); buzz(13, 500, 100); delay(150); buzz(13, 760, 100); delay(50); buzz(13, 720, 100); delay(75); buzz(13, 680, 100); delay(75); buzz(13, 620, 150); delay(150); buzz(13, 650, 150); delay(150); buzz(13, 380, 100); delay(75); buzz(13, 430, 100); delay(75); buzz(13, 500, 100); delay(150); buzz(13, 430, 100); delay(75); buzz(13, 500, 100); delay(50); buzz(13, 570, 100); delay(210); buzz(13, 585, 100); delay(225); buzz(13, 550, 100); delay(210); buzz(13, 500, 100); delay(180); buzz(13, 380, 100); delay(150); buzz(13, 500, 100); delay(150); buzz(13, 500, 100); delay(75); buzz(13, 500, 100); delay(150); buzz(13, 500, 60); delay(75); buzz(13, 500, 80); delay(150); buzz(13, 500, 60); delay(175); buzz(13, 500, 80); delay(75); buzz(13, 580, 80); delay(175); buzz(13, 660, 80); delay(75); buzz(13, 500, 80); delay(150); buzz(13, 430, 80); delay(75); buzz(13, 380, 80); delay(300); buzz(13, 500, 60); delay(75); buzz(13, 500, 80); delay(150); buzz(13, 500, 60); delay(175); buzz(13, 500, 80); delay(75); buzz(13, 580, 80); delay(75); buzz(13, 660, 80); delay(275); buzz(13, 870, 80); delay(162); buzz(13, 760, 80); delay(300); buzz(13, 500, 60); delay(75); buzz(13, 500, 80); delay(150); buzz(13, 500, 60); delay(175); buzz(13, 500, 80); delay(75); buzz(13, 580, 80); delay(175); buzz(13, 660, 80); delay(75); buzz(13, 500, 80); delay(150); buzz(13, 430, 80); delay(75); buzz(13, 380, 80); delay(300); buzz(13, 660, 100); delay(75); buzz(13, 660, 100); delay(150); buzz(13, 660, 100); delay(150); buzz(13, 510, 100); delay(50); buzz(13, 660, 100); delay(150); buzz(13, 770, 100); delay(275); buzz(13, 380, 100); delay(287); delay(900000); } void buzz(int targetPin, long frequency, long length) { long delayValue = 1000000/frequency/2; // calculate the delay value between transitions //// 1 second's worth of microseconds, divided by the frequency, then split in half since //// there are two phases to each cycle long numCycles = frequency * length/ 1000; // calculate the number of cycles for proper timing //// multiply frequency, which is really cycles per second, by the number of seconds to //// get the total number of cycles to produce for (long i=0; i < numCycles; i++){ // for the calculated length of time... digitalWrite(targetPin,HIGH); // write the buzzer pin high to push out the diaphram delayMicroseconds(delayValue); // wait for the calculated delay value digitalWrite(targetPin,LOW); // write the buzzer pin low to pull back the diaphram delayMicroseconds(delayValue); // wait againf or the calculated delay value } }