Introduction: Arduino Defuseable Bomb, Perfect for Airsoft Games! (with Timer, LCD, Keypad, Sound and More!)

Hello
This is a project I made a long time ago, but decided to upload anyways, feel free to ask me about it!
The bomb has several features:
- Password input by keypad to arm the bomb
- Timer/count down
- Sound
- Flashy LEDs
- Defusing via the password
- LCD display
- Keypad
- Simple to edit and change

So to get started you would need:
- Arduino
- LCD (I used a 16x2 from sparkfun)
- Potentiometer for the contrast on the LCD 
- Keypad (again from sparkfun)
- Jumperwires
- Resistors for the LEDs (I used 330 Ohm)
- Piezo/buzzer
- LEDs

Step 1: Assembly

Connect the components as according to the circuit schematic

Step 2: Upload the Code

Upload the bomb project4 code to your arduino, and add the following libraries: Keypad, Tone, and liquid crystal to your libraries folder in the arduino folder

and now you're ready to use the bomb!

First edit the time in the code, to match your needs, then start the arduino and enter your desired password, then the bomb timer will start, and you can press the * to begin defusing the bomb, if you press a wrong key, pressing # will delete what you've written. If you write a wrong password, or the timer reaches 0, the bomb will "explode"!

Feel free to ask :)

Comments

author
alexander.r.bakke (author)2015-02-22

thank you :D it worked like a charm: https://www.youtube.com/watch?v=5O5KRUmsD6o&feature=youtu.be

author

Glad you found it useful! Your prop looks great!

author
TheGrimDemon (author)MaltheF2015-09-30

Hey, I am having a issue with the LCD screen. When I turn it on nothing is being displayed on the screen, the keypad, LED's and buzzer work fine, when I enter the code and it start counting I am able to enter password again after the * and it is being defused or explode but the LCD screen itself does not display anything. I am including the picture of how the LCD is displayed

20150930_181052.jpg20150930_181103.jpg
author
MarkM339 (author)TheGrimDemon2016-04-11

I'm having the same issue

author
toporagno (author)TheGrimDemon2015-11-12

hi, have you found a solution i have your same problem.....the lcd makes only a long line like in your photos...

author
jrmaniac (author)toporagno2016-02-22

did you find a solution?

author

do you have Potentiometer for the contrast on the LCD ?

author

I may found the reason for the LCD to not work correctly.....

The schematics of the LCD does not show which order are the pins, if they are VSS, VDD, VO, RS, RW, E, D0, D1, D2, D3, D4, D5, D6 ,D7, A, K, or other way round... I will Re-solder them and we will see if it helps.

author

Hi
Do you have any detailed photos of your wiring ? I'm having some trouble getting this to work

author
FabianS63 (author)2017-07-07

Hi

I have a problem. Everytime i klick on the upload button, i get this Error:

C:\Users\Fabian Scheuermeier\Desktop\bomb_project4\bomb_project4.ino:6:20: fatal error: Keypad.h: No such file or directory

#include <Keypad.h>

^

compilation terminated.

exit status 1

Error compiling for board Arduino/Genuino Uno.

Can someone help me? I dont know what to do.

author
1luky (author)FabianS632017-07-31

In documents you have the directory "Arduino"
Copy the "PROJECT" (in a folder)
And in the folders "KEYPAD", "CRYSTAL LIQUID", "TONE"

Then the upload will come

author
1luky (author)2017-07-31

hi dear MaltheF

I've loaded the circuit according to your instructions, uploaded a program.
But I do not work LCD (I used a 550 ohm potentiometer)
I do not even use Leds (330 ohm resistors)
Buzzer works

LCD does not work or when I do not connect anything else

Please help me
well thank you

sorry for englis

author
AndreasS103 (author)2017-06-10

please can someone send me the code to antreasst@hotmail.com

author
Daniel AugustoG made it! (author)2017-02-19

https://www.youtube.com/watch?v=I8_UMfjKdw0

IMG_0530.JPG
author
bsully70 (author)2017-01-24

So, over the past year I have this down now. I have the complete code to bring the keypad down to one pin, Program the time in steps from the keypad instead of having to code it all the time. I'm still working on the Serial LCD Screen to get it down to four pins instead of all the pins being used. I'll get it all together in the next few days and post it. I'll look for the schematic for the keypad so that nobody has any questions on how it works. I'm still looking for the right container for it to make it look realistic.

author
Jwokersien (author)2017-01-19

Is there a computer board you need to connect the pieces together.

author
MichelR23 (author)2016-09-07

Hi there i got it all working Thanx for that but i have 1 issue, the keypad dussent work correct i use the keypad as shown in scetch from DX.com but my number 2 is a 8 the 8 is a 7 and the * and # aint working at all and other numbers are mixed aswell think the 5 was a 3 and 1 issent working eighter ( maybe keypad is a defect or code needs changing for my keypad

i didnt change anything to the code at all and wired all according to the scetch

please advice to correct this TY

author
MichelR23 (author)MichelR232016-09-07

NVM i fixed it i checked the code with the wire picture above and its mixed up so the pricture and code are different if others have trouble with the keypad its left to right 5 , A5 ,A4 ,A2 for the rows and colums A1 , A0 ,A3

author
paul112110 (author)2016-08-19

I tried to modify the code to work with a old PS2 Keyboard and it works. great thanks to you malthe.

author
charley242015 made it! (author)2016-08-12

Fantastic made it last night modified it for the 4x4 keypad gonna build a bomb casing for it might even do it as my first instructable ☺️

image.jpegimage.jpegimage.jpeg
author
Ramfat (author)2016-08-12

Hi is their anyway I can wire up e matches up to this to ignite smoke grenades ?? TIA

author
MarcusT29 (author)2016-07-27

Man, can u help me? Where did u defines the time?

author
chichao made it! (author)2016-07-09

Help Please!!! Newbie here'

problem with the programing :( my headaches :(

PLEASE HELP ME...

boom.jpgtitled.jpg
author
shaplillaa (author)2016-06-30

Hello good day

as I can do to amplify the sound?

thank you very much for the project.

author
MartinF1 (author)2016-06-27

after i input the first code the screen just shows garbage please help

author
RičardasŠ (author)2016-06-21

keypad dont work correctly? any issue?

author
ElijahH3 (author)2016-06-12

Where did you make the schematic?

author
SoftYeti (author)2016-06-06

Is there anyway to change the time for the countdown

author
FrankG53 made it! (author)2016-05-20

Muy bueno! He tenido que cambiar un poco el código pues tengo un LCD con IIC integrado y un pad de 4x4, pero para un total novato como yo que apenas lleva una semana con esto ha sido bastante fácil, tanto que además le he insertado un botón de reset.

Very good! I had to change a little code as I have a LCD with IIC integrated and a Keypad of 4x4, but for a total noob like me who just takes one week learning, this has been quite easy, so also I have inserted a reset button !!

Muchas gracias!! Thank you very much!!

DSC_0569.JPGDSC_0570.JPG
author
LeeH95 (author)2016-05-19

Great project! Just wondering how would I change it so you can enter the amount of time on the keypad for the countdown timer ?

author
highseraphim13 (author)2016-05-15

Hi, quick question. I'm trying to add a feature where the beeping will get faster when it's less than 1 minute. Can you recommend ways how to do it? Thanks! and cool instructable! :)

author
Maria FernandaH (author)2016-04-20

Hi? Are you using two simple protoboards? one for the keypad and the other for the LCD screen?

Thanks! Nice project :)

author
Maria FernandaH (author)2016-04-20

HI, are you using two simple protoboards or they are any special type? Sorry for the silly question but I am starting with this arduino stuff

author
MarkM339 (author)2016-04-11

Maybe someone can help get the screen to work all sounds and keypad work

image.jpg
author
AdamR89 (author)2016-03-31

I have got very big error with uploading code on my arduino leonardoC:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp: In member function 'void Tone::begin(uint8_t)':

C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:139:9: error: 'TCCR2A' was not declared in this scope

TCCR2A = 0;

^

C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:140:9: error: 'TCCR2B' was not declared in this scope

TCCR2B = 0;

^

In file included from C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:26:0:

C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:141:26: error: 'WGM21' was not declared in this scope

bitWrite(TCCR2A, WGM21, 1);

^

D:\Instalki\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:104:49: note: in definition of macro 'bitSet'

#define bitSet(value, bit) ((value) |= (1UL << (bit)))

^

C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:141:9: note: in expansion of macro 'bitWrite'

bitWrite(TCCR2A, WGM21, 1);

^

C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:142:26: error: 'CS20' was not declared in this scope

bitWrite(TCCR2B, CS20, 1);

^

D:\Instalki\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:104:49: note: in definition of macro 'bitSet'

#define bitSet(value, bit) ((value) |= (1UL << (bit)))

^

C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:142:9: note: in expansion of macro 'bitWrite'

bitWrite(TCCR2B, CS20, 1);

^

C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp: In member function 'void Tone::play(uint16_t, uint32_t)':

C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:246:9: error: 'TCCR2B' was not declared in this scope

TCCR2B = (TCCR2B & 0b11111000) | prescalarbits;

^

C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:304:9: error: 'OCR2A' was not declared in this scope

OCR2A = ocr;

author
randomdude2 (author)2016-03-24

How difficult would it be to have it use a static password that it checked when you punched it in? i want to use it for airsoft, but the defusers need to know what the password is.

author
PiotrK15 made it! (author)2016-03-01

great instructable, i tweaked mine a Little bit

temp_1819499245.jpgtemp_2013554738.jpgtemp_-2065890048.jpg
author
MaltheF (author)PiotrK152016-03-20

Wow nice job!

author
SimonF24 (author)2016-02-25

trying to alter the code so once the code has been put in the countdown starts like normal but here is where i want to make a change when the correct code is input as its counting down instead of it saying bomb disarmed i want it to reset the countdown back to the 10min say start and countdown again until either the correct code put in and restting it again or it reaches zero and goes off or wrong code entered .

Can any one help with that altering the code please as i amd stuck ?

thanks in advance.

author
adoroskovs (author)2016-01-31

Great project, MaltheF!

Is there a way to add a second layer of security? Such as plugging in a USB, before it can be defused? Anyone's input would be appreciated!

author
vandenbrande (author)2016-01-23

Cool i fixed it with a 4x4 Keypad. I needed to change the code. Below is the code:

Also i added a image of the pin on the keypad.

//replace these lines in the code when u have a 4x4 instead of 3x4 keypad.

//and add a cable to pin 6 which is pin 1 on the keypad.

const byte ROWS = 4; //four rows

const byte COLS = 4; //four columns

char keys[ROWS][COLS] = {

{'1','2','3','A'},

{'4','5','6','B'},

{'7','8','9','C'},

{'*','0','#','D'}

};

byte rowPins[ROWS] = {A0, 5, A1, A2}; //connect to the row pinouts of the keypad

byte colPins[COLS] = {A3, A4, A5, 6}; //connect to the column pinouts of the keypad

//Pins 8, 7, 6, 5 on the keypad should be connected to digital pins A0, 5, A1, A2 on //the Arduino.

//Pins 4, 3, 2, 1 on the keypad should be connected to digital pins A3, A4, A5, 6 on //the Arduino.

4x4.jpg
author
bsully70 (author)vandenbrande2016-01-23

In the code I found its only about 6 lines. I also only use 1 analog pin freeing up all the analog pubs.

author
bsully70 (author)2016-01-19

I built this and am still looking for the right container. I am using the 4x4 Matrix Keypad with the letter rows. I had some help and a little digging around on the internet and found a way to get the 4x4 to work on 1 analog pin

temp_1212000079.jpg
author
vandenbrande (author)bsully702016-01-23

Hey can i have your schematic i use the same one... does yours work right?

Mine doesnt.. nothing displays and the keypad doesnt work because i also have the ABCD on it 4x4.

author
bsully70 (author)vandenbrande2016-01-23

I'll post the link with the schematic and code to run it when I get back to work in a couple of days.

author
vandenbrande (author)bsully702016-01-23

Its Cool i fixed it with a 4x4 Keypad. I needed to change the code. Below is the code:

Also i added a image of the pin on the keypad.

//replace these lines in the code when u have a 4x4 instead of 3x4 keypad.

//and add a cable to pin 6 which is pin 1 on the keypad.

const byte ROWS = 4; //four rows

const byte COLS = 4; //four columns

char keys[ROWS][COLS] = {

{'1','2','3','A'},

{'4','5','6','B'},

{'7','8','9','C'},

{'*','0','#','D'}

};

byte rowPins[ROWS] = {A0, 5, A1, A2}; //connect to the row pinouts of the keypad

byte colPins[COLS] = {A3, A4, A5, 6}; //connect to the column pinouts of the keypad

//Pins 8, 7, 6, 5 on the keypad should be connected to digital pins A0, 5, A1, A2 on //the Arduino.

//Pins 4, 3, 2, 1 on the keypad should be connected to digital pins A3, A4, A5, 6 on //the Arduino.

author
RockhemA (author)2016-01-17

is the anything on the parts list that you need, that i don't have, because i don't have any parts for the project, and was wondering if i have to get anything else at all other than what is on the list. this is my list right now:

Arduino - $25

LCD - $14

Keypad - $4

Potentiometer - $1

Resistors - $1

(2x)Jumper Wires - $10

Piezo Buzzer - $2

Red LEDs - $3

author
NicholasM48 (author)2016-01-07

3.3 or 5 volt LCD display?

author
alexander.g.kvale made it! (author)2015-05-04

THis was an awesome project. I see other had similar problems that I did. The autor did use one type of keypad in the picture. Then he had another type in the project fritzing drawing. The lead output of those two keypads is verry different. So you have to change the pin layout in the program to suit the kaypad you're using. I used a 4X4 keypad similar to the one in the drawing. Then I had to reprogram the code for pin layout to this:

byte rowPins[ROWS] = {A5, A4, A3, A2}

byte colPins[COLS] = {A0, 5, A1};

Thank you Malthe F. for sharing your fantastic project :)

20150429_143225.jpg
author

Did you attach the Arduino to the lid? I built this, but now looking for ideas for containers to put it in. I like the use of the ammo can. I found another one that if you mess with the wires it either speeds up or just goes to 0. It's on Blog spot under jimmy's arduino projects.

About This Instructable

69,779views

140favorites

License:

More by MaltheF:Arduino defuseable bomb, perfect for airsoft games! (with timer, LCD, keypad, sound and more!)
Add instructable to: