
//------------------- piezo_random_tone w switch---------------------
//---  Plays a random tone from an array thru a piezo speaker
//- Set up: > Attach a piezo speaker between ground and Digital pin 6
//          > Wire a switch between pin 5 and Gnd
//  
int piezoPin = 6;      // variable for which pin is attached to piezo
int buttonPin = 5;     // which pin is attached to the switch
boolean switchState;   // boolean (HIGH or LOW) variable for state of switch
int randTone;          // variable for storing random tone      

int Tones[]={294, 330, 349, 392, 440, 490, 525}; // 7 item array
int Tones2[]={131, 147, 156, 165, 175, 233, 247}; // 7 item array

void setup(){
  pinMode(buttonPin, INPUT_PULLUP); // enable "pullup resistor"  
  pinMode(piezoPin, OUTPUT);        // Set the digital LED pin as an output
  }   
          
void loop(){
    randTone = Tones[random(0, 7)];       // Pick a random pitch between 0 and 6
    randTone = Tones2[random(0, 7)];       // Pick a random pitch between 0 and 6
    switchState = digitalRead(buttonPin); // Check the state of button
    if(switchState == LOW) {              // Switch is closed if connected to Ground
    tone(piezoPin, randTone, 120);        // short duration (100) 
    delay(120);
    } else {                              // Else, switch is open. "Tied high"
    tone(piezoPin, randTone, 120);        //  
    delay(300);                           // Longer delay between tones
    }
}
