I build a little gadget to prank my lovely wife. WARNING! THIS DRIVES PEOPLE NUTS! DONT DO IT TO SOMEONE WHO IS LIKELY TO PUNCH YOU IN THE FACE.\r<br>Makes annoying beeps at random intervals. The random pitch and interval makes it very difficult to pin-point the source of the beeping. I might clean up the design and spin up a few circuit boards if anybody is interested in an easy build-along vid.\r<br>Thanks for your help! \r<br>\r<br>Heres the code:\r<br>/*\r<br> Lil BASTARD ZEN BLASTER\r<br>WARNING! THIS DRIVES PEOPLE NUTS! DONT DO IT TO ANYBODY WHO IS LIKELY TO PUNCH YOU IN THE FACE.\r<br>Makes annoying beeps at random intervals. The random pitch and interval makes it very difficult to pin-point the source of the beeping. \r<br> \r<br>*/\r<br> const int speaker = P1_7; // this sets the pin on the MSP430 that sends a beep to the speaker. \r<br> int duration = 1000; // this is a variable that stores the value of length of the tone\r<br> int frequency = 600; // this is a variable that stores the value of the frequency of the tone int counter = 0; // this is a variable that stores the value of how many times weve run thru the void loop \r<br> int trigger = 1; // this is a variable that stores how many times we run thru the void loop prior to triggering a beep sequence\r<br> int beeps = 2; // this is a variable that stores how many beeps in a sequence\r<br> \r<br>// the setup routine runs once when you press reset:\r<br>void setup() { tone(P1_7, 2500, 800);\r<br>delay (200);\r<br> tone(P1_7, 500, 800);\r<br>delay (200);\r<br> tone(P1_7, 2500, 800);\r<br>delay (200);\r<br>// this runs through a few tones when you first start to let you know its working.\r<br>\r<br> \r<br>}\r<br>\r<br>// the loop routine runs over and over again forever:\r<br>void loop() { counter = counter ++; // each time through the program, we add 1 to the value of counter\r<br> if ( trigger == counter && beeps == 2) { // if the trigger value and the counter value are equal AND the beep value is 2 then do this: counter = 0; // resets the counter value to zero beeps = random (2, 5); // sets the number of beeps for the next time trigger = random (500, 5000); // sets the length of time before the nextof beeps duration = random (200, 2000); // sets the length of time for each beep in milliseconds frequency = random (2500, 6000); // sets the frequency in Hertz of the square wave signal to the speaker tone (speaker, frequency, duration); // sends a beep square wave signal to the speaker according to the values of frequency and duration delay (duration/2); // sets a short delay pause to allow the beep prior to executing the next command duration = random (400, 1500); frequency = random (300, 4000); tone (speaker, frequency, duration); delay (duration/2); } if ( trigger == counter && beeps == 3) { counter = 0; beeps = random (2, 5); trigger = random (500, 5000); duration = random (200, 2000); frequency = random (2500, 6000); tone (speaker, frequency, duration); delay (duration/2); duration = random (500, 2000); frequency = random (300, 1500); tone (speaker, frequency, duration); delay (duration/2); duration = random (1500, 2000); frequency = random (300, 3000); tone (speaker, frequency, duration); delay (duration/2); }\r<br>Continued in comments. (its too long for description).