#define buzzer 11
#define megalovania 10
bool isPlaying = false; // Estado inicial da música
void setup() {
pinMode(buzzer, OUTPUT);
pinMode(megalovania, INPUT_PULLUP);
}
void loop() {
if (digitalRead(megalovania) == LOW) { // Botão pressionado
delay(50); // Debounce
while (digitalRead(megalovania) == LOW); // Aguarda o botão ser liberado
delay(50); // Debounce
isPlaying = !isPlaying; // Alterna o estado de reprodução
}
if (isPlaying) {
playMegalovania();
} else {
noTone(buzzer); // Para a música
}
}
void playMegalovania() {
// D4
tone(buzzer, 294, 125);
delay(125);
tone(buzzer, 294, 125);
delay(125);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 250);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// C4 (middle)
tone(buzzer, 261, 125);
delay(62);
tone(buzzer, 261, 125);
delay(62);
tone(buzzer, 261, 125);
delay(62);
tone(buzzer, 261, 125);
delay(62);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// B3
tone(buzzer, 247, 125);
delay(125);
tone(buzzer, 247, 125);
delay(125);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// Bb3
tone(buzzer, 233, 62);
delay(62);
tone(buzzer, 233, 62);
delay(62);
tone(buzzer, 233, 62);
delay(62);
tone(buzzer, 233, 62);
delay(62);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// D4
tone(buzzer, 294, 125);
delay(125);
// D4
tone(buzzer, 294, 125);
delay(125);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// C4 (middle)
tone(buzzer, 261, 125);
delay(62);
tone(buzzer, 261, 125);
delay(62);
tone(buzzer, 261, 125);
delay(62);
tone(buzzer, 261, 125);
delay(62);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// B3
tone(buzzer, 247, 125);
delay(125);
tone(buzzer, 247, 125);
delay(125);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// Bb3
tone(buzzer, 233, 62);
delay(62);
tone(buzzer, 233, 62);
delay(62);
tone(buzzer, 233, 62);
delay(62);
tone(buzzer, 233, 62);
delay(62);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// D4
tone(buzzer, 294, 125);
delay(125);
// D4
tone(buzzer, 294, 125);
delay(125);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// C4 (middle)
tone(buzzer, 261, 125);
delay(62);
tone(buzzer, 261, 125);
delay(62);
tone(buzzer, 261, 125);
delay(62);
tone(buzzer, 261, 125);
delay(62);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// B3
tone(buzzer, 247, 125);
delay(125);
tone(buzzer, 247, 125);
delay(125);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
// Bb3
tone(buzzer, 233, 62);
delay(62);
tone(buzzer, 233, 62);
delay(62);
tone(buzzer, 233, 62);
delay(62);
tone(buzzer, 233, 62);
delay(62);
// D5
tone(buzzer, 587, 250);
delay(250);
// A4
tone(buzzer, 440, 375);
delay(375);
// Ab4
tone(buzzer, 415, 125);
delay(250);
// G4
tone(buzzer, 392, 250);
delay(250);
// F4
tone(buzzer, 349, 250);
delay(250);
// D4
tone(buzzer, 294, 125);
delay(125);
// F4
tone(buzzer, 349, 125);
delay(125);
// G4
tone(buzzer, 392, 125);
delay(125);
}