First of all, thanks to all the great people here that helped me through my first project!
This is a project I have been working on for a while. We usually just use egg timers to simulate explosives in these games, but I figured it was time for something a little more realistic looking.
How it Works: The bomb must be attached to the tether (which is locked to a tree or other immobile object) before it can be armed, this ensures that the bomb can only be armed in the designated area. If the tether is removed at any time while the bomb is on, it will detonate. It can only be turned on and off with an electronic key switch, I have 2 keys, one for each team leader/ref. To arm the bomb a 7 digit code must be entered. This starts a countdown. The countdown can be interrupted at any point by pressing the disarm button, when the button is pressed the user is asked for the disarm code, this is a separate 7 digit code from the arm code. After the disarm button is pressed, the bomb will wait 15 seconds for a code to be entered, if the code is correct, the countdown will end and the LCD will display "Bomb Disarmed". If the code is incorrect no message will be displayed, press the reset key ( the "*" key) and try again. If no code is entered after 15 seconds, the counter will restart and 15 seconds will be subtracted from the time left. When the countdown reaches 0, a buzzer is sounded and the LCD will display "Have A Nice Day". It sounds more complicated than it is, just watch the video.
Variables: - can be changed at any time. Countdown time 0hr:2min:30sec Arm code: 7355608 Disarm code: 1234567
The Bomb can be powered by a normal 9v battery, or a 12v 1.6A/hr battery. Right now I have it attached to a small buzzer, but it has more than enough battery capacity to run a siren, strobe, radio, electric detonator, servo, or just about anything that would be useful to alert people when the bomb is detonated.
This is my first project, so i'm assuming that there are quite a few errors and places where I made an error, then reversed to to make the code work. Feel free to suggest any alternate ways to achieve this (if the code is clean enough to even be readable by other people, that is).