const int buzzer = 2;
const int buttonPin = 4;
int buttonState = 0;
const byte ledPins[] = {8,9,10,11,12};
bool playMeg = true;
void setup()
{
Serial.begin(9600);
// put your setup code here, to run once:
pinMode(buttonPin, INPUT);
pinMode(buzzer, OUTPUT);
Serial.print("start\n");
for (byte i=0; i < 5; i++ )
{
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], HIGH);
delay(200);
digitalWrite(ledPins[i], LOW);
}
}
void loop()
{
// put your main code here, to run repeatedly:
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)
{
tone(buzzer, 293, 100);
Serial.println("LOL");
}
while (playMeg == true) {
Megalovania(buttonState);
}
}
void Megalovania(int btnState)
{
delay(1000);
PlaySound(buzzer, 293, 140, ledPins[0], btnState);
delay(140);
PlaySound(buzzer, 293, 122, ledPins[0], btnState);
delay(122);
PlaySound(buzzer, 587, 248, ledPins[0], btnState);
delay(248);
PlaySound(buzzer, 440, 368, ledPins[0], btnState);
delay(368);
playMeg = false;
}
void PlaySound(int buzzer, int freq, int duration, int ledPin, int bState)
{
Serial.println(bState);
// buttonState = digitalRead(buttonPin);
if (bState == LOW) {
Serial.print("HIGH\n");
tone(buzzer, freq, duration);
}
else
{
Serial.print("LOW\n");
}
digitalWrite(ledPin, HIGH);
delay(duration);
noTone(buzzer);
digitalWrite(ledPin, LOW);
}