const int buzzer = 13;
const int button1 = 3;
const int button2 = 2;
const int button3 = 1;
const int stopButton = 0;
bool buttonPressed = false;
void setup() {
// put your setup code here, to run once:
pinMode(buzzer, OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(button3, INPUT);
pinMode(stopButton, INPUT);
}
void playNote(int frequency, int duration) {
tone(buzzer, frequency, duration);
delay(duration + 50); // Add a small delay between notes for better separation
if (digitalRead(stopButton) == HIGH) {
noTone(buzzer);
delay(10000);
}
}
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead(button1) == HIGH) {
gravityfalls();
buttonPressed = true;
}
else if (digitalRead(button2) == HIGH) {
harryPotter();
buttonPressed = true;
}
else if (digitalRead(button3) == HIGH) {
starWars();
buttonPressed = true;
}
if (buttonPressed = true) {
buttonPressed = false;
}
}
void gravityfalls() {
// Play the Gravity falls theme
playNote(587, 900); // d5
playNote(659, 300); // e5
playNote(698, 600); // f5
delay(500);
playNote(880, 400); // a5
playNote(783, 450); // g5
playNote(880, 300); // a5
playNote(523, 800); // c5
delay(500);
playNote(587, 900); // d5
playNote(659, 300); // e5
playNote(698, 600); // f5
playNote(659, 600); // e5
playNote(783, 600); // g5
playNote(880, 600); // a5
playNote(783, 600); // g5
playNote(698, 600); // f5
delay(400);
playNote(698, 300); // f5
playNote(698, 300); // f5
playNote(698, 300); // f5
playNote(880, 300); // a5
playNote(880, 300); // a5
playNote(783, 300); // g5
playNote(698, 300); // f5
delay(400);
playNote(880, 300); // a5
playNote(880, 300); // a5
playNote(880, 300); // a5
playNote(783, 300); // g5
playNote(880, 300); // a5
playNote(783, 300); // g5
playNote(698, 300); // f5
delay(400);
playNote(698, 300); // f5
playNote(698, 300); // f5
playNote(698, 300); // f5
playNote(880, 300); // a5
playNote(880, 300); // a5
playNote(783, 300); // g5
playNote(698, 300); // f5
delay(400);
playNote(880, 300); // a5
playNote(880, 300); // a5
playNote(880, 300); // a5
delay(400);
playNote(1108, 300); // c6#
playNote(1108, 300); // c6#
playNote(1108, 300); // c6#
delay(400);
playNote(698, 300); // f5
playNote(698, 300); // f5
playNote(698, 300); // f5
playNote(880, 300); // a5
playNote(880, 300); // a5
playNote(783, 300); // g5
playNote(698, 300); // f5
delay(400);
playNote(932, 300); // a5#
playNote(932, 300); // a5#
playNote(932, 300); // a5#
playNote(783, 700); // g5
playNote(1046, 700); // c6
playNote(880, 700); // a5
playNote(1108, 700); // c6#
playNote(1174, 1200); // d6
noTone(buzzer);
delay(1500);
}
void harryPotter() {
playNote(493, 300); // b4
playNote(659, 600); // e5
playNote(783, 150); // g5
playNote(739, 250); // f#5
playNote(659, 700); // e5
playNote(987, 300); // b5
playNote(880, 1000); // a5
playNote(739, 1000); // f#5
playNote(659, 600); // e5
playNote(783, 150); // g5
playNote(739, 300); // f#5
playNote(622, 700); // d#5
playNote(698, 300); // f5
playNote(493, 1000); // b4
delay(1000);
playNote(493, 300); // b4
playNote(659, 600); // e5
playNote(783, 150); // g5
playNote(739, 250); // f#5
playNote(659, 600); // e5
playNote(987, 300); // b5
playNote(1174, 800); // d6
playNote(1108, 300); // c#6
playNote(1046, 600); // c6
playNote(830, 300); // g#5
playNote(1046, 600); // c6
playNote(987, 200); // b5
playNote(932, 600); // a#5
delay(100);
playNote(493, 700); // b4
playNote(783, 300); // g5
playNote(659, 1500); // e5
noTone(buzzer);
delay(2000);
}
void starWars() {
// Play the star wars theme
playNote(440, 500);
playNote(440, 500);
playNote(440, 500);
playNote(349, 350);
playNote(523, 150);
playNote(440, 500);
playNote(349, 350);
playNote(523, 150);
playNote(440, 650);
delay(500);
playNote(659, 500);
playNote(659, 500);
playNote(659, 500);
playNote(698, 350);
playNote(523, 150);
playNote(415, 500);
playNote(349, 350);
playNote(523, 150);
playNote(440, 650);
delay(500);
playNote(880, 500);
playNote(440, 300);
playNote(440, 150);
playNote(880, 500);
playNote(830, 325);
playNote(784, 175);
playNote(740, 125);
playNote(698, 125);
playNote(740, 250);
delay(325);
playNote(455, 250);
playNote(622, 500);
playNote(587, 325);
playNote(554, 175);
playNote(523, 125);
playNote(466, 125);
playNote(523, 250);
delay(350);
playNote(349, 250);
playNote(415, 500);
playNote(349, 350);
playNote(440, 125);
playNote(523, 500);
playNote(440, 375);
playNote(523, 125);
playNote(659, 650);
playNote(880, 500);
playNote(440, 300);
playNote(440, 150);
playNote(880, 500);
playNote(830, 325);
playNote(784, 175);
playNote(740, 125);
playNote(698, 125);
playNote(740, 250);
delay(325);
playNote(455, 250);
playNote(622, 500);
playNote(587, 325);
playNote(554, 175);
playNote(523, 125);
playNote(466, 125);
playNote(523, 250);
delay(350);
playNote(349, 250);
playNote(415, 500);
playNote(349, 375);
playNote(523, 125);
playNote(440, 500);
playNote(349, 375);
playNote(523, 125);
playNote(440, 650);
noTone(buzzer);
delay(650);
}