int switchStateGreen =0;
int switchStateBlue =0;
int switchStateYellow=0;
const int buzzer = 1;
int firstNote;
int secondNote;
int thirdNote;
int lockA = 0;
int lockB = 0;
int lockC = 0;
int MainLock = 0;
bool buzzerPlayed = false;
bool buzzerP = false;
void setup(){
pinMode(1, OUTPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop() {
switchStateYellow = digitalRead(4);
if (switchStateYellow == HIGH) {
digitalWrite(7, HIGH);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
delay(250); digitalWrite(7, LOW);
if (lockB == 1 && lockC == 2){
thirdNote = 1000;
lockA = 3;
}
if (lockB == 1 && lockC == 1){
thirdNote = 1000;
lockA = 1;
}
if (lockB == 1 && lockC == 0 || lockB == 0 && lockC == 1){
secondNote = 1000;
lockA = 1;
}
if(lockB == 0 && lockC == 0){
firstNote = 1000;
lockA = 1;
}
}
switchStateGreen = digitalRead(3);
if (switchStateGreen == HIGH) {
digitalWrite(7, LOW);
digitalWrite(6, HIGH);
digitalWrite(5, LOW);
delay(250); digitalWrite(6, LOW);
if (lockA == 1 && lockC == 1){
thirdNote = 750;
lockB = 1;
}
if (lockA ==1 && lockC ==0 || lockA == 0 && lockC == 1){
secondNote = 750;
lockB = 1;
}
if(lockA ==0 && lockC == 0){
firstNote = 750;
lockB = 1;
}
}
switchStateBlue = digitalRead(2);
if (switchStateBlue == HIGH) {
digitalWrite(7, LOW);
digitalWrite(6, LOW);
digitalWrite(5, HIGH);
delay(250); digitalWrite(5, LOW);
if (lockB == 1 && lockA == 1){
thirdNote = 300;
lockC = 1;
}
if (lockB == 1 && lockA == 0){
secondNote = 300;
lockC = 2;
}
if(lockB == 0 && lockA == 1){
secondNote = 300;
lockC = 1;
}
if(lockB == 0 && lockA == 0){
firstNote = 300;
lockC = 1;
}
}
if (lockA == 3 && lockB == 1 && lockC == 2 && !buzzerPlayed){
tone(buzzer, firstNote);
delay(300);
noTone(buzzer);
delay(500); tone(buzzer, secondNote);
delay(300);
noTone(buzzer);
delay(500); tone(buzzer, thirdNote);
delay(300);
noTone(buzzer);
buzzerPlayed = true;
MainLock = 1;
delay(10);
lockA = 0;
lockB = 0;
lockC = 0;
buzzerPlayed = false;
MainLock = 0;
}
if(lockA != 0 && lockB != 0 && lockC != 0 && MainLock == 0 && !buzzerPlayed){
int delayPeriod = 500;
// Loop to simulate the beeping bomb
for (int i = 0; i < 10; i++) { // Adjust the number of iterations for longer beeping
tone(buzzer, 1000); // Play tone at 1000 Hz
delay(100); // Tone duration
noTone(buzzer); // Stop the tone
delay(delayPeriod); // Delay before next beep
// Reduce delayPeriod to speed up beeping, mimicking a countdown
delayPeriod -= 50; // Adjust this step size as needed
if (delayPeriod < 50) delayPeriod = 50; // Limit the minimum delay to avoid going too fast
}
// Longer beep indicating the end
tone(buzzer, 2000); // Higher frequency beep at 2000 Hz
delay(500); // Longer duration for the final beep
noTone(buzzer);
// Optional delay before restarting the loop
delay(2000);
buzzerPlayed = true;
delay(10);
lockA = 0;
lockB = 0;
lockC = 0;
buzzerPlayed = false;
}
}