loading
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

<p>thank you :D it worked like a charm: https://www.youtube.com/watch?v=5O5KRUmsD6o&amp;feature=youtu.be</p>
<p>Glad you found it useful! Your prop looks great!</p>
<p>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 </p>
I'm having the same issue
<p>hi, have you found a solution i have your same problem.....the lcd makes only a long line like in your photos...</p>
<p>did you find a solution?</p>
<p>do you have Potentiometer for the contrast on the LCD ?</p>
<p>I may found the reason for the LCD to not work correctly.....</p><p>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.</p>
Hi<br>Do you have any detailed photos of your wiring ? I'm having some trouble getting this to work
<p>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</p><p>i didnt change anything to the code at all and wired all according to the scetch</p><p>please advice to correct this TY </p>
<p>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</p>
<p>I tried to modify the code to work with a old PS2 Keyboard and it works. great thanks to you malthe.</p>
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 ☺️
Hi is their anyway I can wire up e matches up to this to ignite smoke grenades ?? TIA
<p>Man, can u help me? Where did u defines the time?</p>
<p>Help Please!!! Newbie here' <br><br>problem with the programing :( my headaches :(<br><br>PLEASE HELP ME...</p>
<p>Hello good day</p><p>as I can do to amplify the sound?</p><p>thank you very much for the project.</p>
<p>after i input the first code the screen just shows garbage please help</p>
<p>keypad dont work correctly? any issue? </p>
<p>Where did you make the schematic?</p>
<p>Is there anyway to change the time for the countdown</p>
<p>Muy bueno! He tenido que cambiar un poco el c&oacute;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&aacute;cil, tanto que adem&aacute;s le he insertado un bot&oacute;n de reset. </p><p>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 !!</p><p>Muchas gracias!! Thank you very much!!</p>
<p>Great project! Just wondering how would I change it so you can enter the amount of time on the keypad for the countdown timer ?</p>
<p>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! :)</p>
<p>Hi? Are you using two simple protoboards? one for the keypad and the other for the LCD screen?</p><p>Thanks! Nice project :)</p>
<p>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 </p>
Maybe someone can help get the screen to work all sounds and keypad work
<p>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)':</p><p>C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:139:9: error: 'TCCR2A' was not declared in this scope</p><p> TCCR2A = 0;</p><p> ^</p><p>C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:140:9: error: 'TCCR2B' was not declared in this scope</p><p> TCCR2B = 0;</p><p> ^</p><p>In file included from C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:26:0:</p><p>C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:141:26: error: 'WGM21' was not declared in this scope</p><p> bitWrite(TCCR2A, WGM21, 1);</p><p> ^</p><p>D:\Instalki\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:104:49: note: in definition of macro 'bitSet'</p><p> #define bitSet(value, bit) ((value) |= (1UL &lt;&lt; (bit)))</p><p> ^</p><p>C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:141:9: note: in expansion of macro 'bitWrite'</p><p> bitWrite(TCCR2A, WGM21, 1);</p><p> ^</p><p>C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:142:26: error: 'CS20' was not declared in this scope</p><p> bitWrite(TCCR2B, CS20, 1);</p><p> ^</p><p>D:\Instalki\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:104:49: note: in definition of macro 'bitSet'</p><p> #define bitSet(value, bit) ((value) |= (1UL &lt;&lt; (bit)))</p><p> ^</p><p>C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:142:9: note: in expansion of macro 'bitWrite'</p><p> bitWrite(TCCR2B, CS20, 1);</p><p> ^</p><p>C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp: In member function 'void Tone::play(uint16_t, uint32_t)':</p><p>C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:246:9: error: 'TCCR2B' was not declared in this scope</p><p> TCCR2B = (TCCR2B &amp; 0b11111000) | prescalarbits;</p><p> ^</p><p>C:\Users\Adam\Documents\Arduino\libraries\Tone\Tone.cpp:304:9: error: 'OCR2A' was not declared in this scope</p><p> OCR2A = ocr;</p>
<p>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.</p>
great instructable, i tweaked mine a Little bit
<p>Wow nice job!</p>
<p>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 .</p><p>Can any one help with that altering the code please as i amd stuck ?</p><p>thanks in advance.</p>
<p>Great project, MaltheF!</p><p>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!</p>
<p>Cool i fixed it with a 4x4 Keypad. I needed to change the code. Below is the code:</p><p>Also i added a image of the pin on the keypad.</p><p>//replace these lines in the code when u have a 4x4 instead of 3x4 keypad.</p><p>//and add a cable to pin 6 which is pin 1 on the keypad.</p><p>const byte ROWS = 4; //four rows</p><p>const byte COLS = 4; //four columns</p><p>char keys[ROWS][COLS] = {</p><p> {'1','2','3','A'},</p><p> {'4','5','6','B'},</p><p> {'7','8','9','C'},</p><p> {'*','0','#','D'}</p><p>};</p><p>byte rowPins[ROWS] = {A0, 5, A1, A2}; //connect to the row pinouts of the keypad</p><p>byte colPins[COLS] = {A3, A4, A5, 6}; //connect to the column pinouts of the keypad</p><p>//Pins 8, 7, 6, 5 on the keypad should be connected to digital pins A0, 5, A1, A2 on //the Arduino.</p><p>//Pins 4, 3, 2, 1 on the keypad should be connected to digital pins A3, A4, A5, 6 on //the Arduino. </p>
In the code I found its only about 6 lines. I also only use 1 analog pin freeing up all the analog pubs.
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
<p>Hey can i have your schematic i use the same one... does yours work right?</p><p>Mine doesnt.. nothing displays and the keypad doesnt work because i also have the ABCD on it 4x4.</p>
I'll post the link with the schematic and code to run it when I get back to work in a couple of days.
<p>Its Cool i fixed it with a 4x4 Keypad. I needed to change the code. Below is the code:</p><p>Also i added a image of the pin on the keypad.</p><p>//replace these lines in the code when u have a 4x4 instead of 3x4 keypad.</p><p>//and add a cable to pin 6 which is pin 1 on the keypad.</p><p>const byte ROWS = 4; //four rows</p><p>const byte COLS = 4; //four columns</p><p>char keys[ROWS][COLS] = {</p><p>{'1','2','3','A'},</p><p>{'4','5','6','B'},</p><p>{'7','8','9','C'},</p><p>{'*','0','#','D'}</p><p>};</p><p>byte rowPins[ROWS] = {A0, 5, A1, A2}; //connect to the row pinouts of the keypad</p><p>byte colPins[COLS] = {A3, A4, A5, 6}; //connect to the column pinouts of the keypad</p><p>//Pins 8, 7, 6, 5 on the keypad should be connected to digital pins A0, 5, A1, A2 on //the Arduino.</p><p>//Pins 4, 3, 2, 1 on the keypad should be connected to digital pins A3, A4, A5, 6 on //the Arduino.</p>
<p>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:</p><p>Arduino - $25</p><p>LCD - $14</p><p>Keypad - $4</p><p>Potentiometer - $1</p><p>Resistors - $1</p><p>(2x)Jumper Wires - $10</p><p>Piezo Buzzer - $2</p><p>Red LEDs - $3</p>
<p>3.3 or 5 volt LCD display? </p>
<p>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:</p><p>byte rowPins[ROWS] = {A5, A4, A3, A2}</p><p>byte colPins[COLS] = {A0, 5, A1};</p><p>Thank you Malthe F. for sharing your fantastic project :)</p>
<p>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.</p>
Hi. I soldered the Arduino uno to a project pcb. THis made it easier to solder de cabelwork. And used double sided tape to mount it to the lid. Then I made 4 holes in the lid. And used strips to reinforce it. You can se the strips on the top of the lid.
Hi. <br>I did cut room for the display on the lid. So the PCG of the display is a natural stupper from underneath. <br>Al the electronics is attached under the lid, fastened by some strips. You can se some holes in the lid. For the stips.<br>A standard Airsoft battery is powering everything up. The key kuts the cirquit. So it does not use any power when not in use.
<p>I didn't see the strips until you mentioned that. Great choice of containers for the project to be put in. I'm looking for something larger to use this with so one person can't pick it up and walk away with it. I use a battery pack holding 8 AA batteries. I wanted to use a 12v battery, but was concerned about the Amp Hours frying the Arduino board. I contacted the guy about the other one I mentioned. If he gets back to me I'll post back here about it.</p>
<p>How do I code the A,B,C,D column into the keypad code?</p>
I do not use the letters. Only numbers.
Thanks. Well, its built awaiting a container to go in. left the lights out but still in the code for a later date and added a relay and a louder buzzer.
<p>i have the same as the one in the fritzing drawing, could you advise as to how to chnage the code for that keypad?</p>

About This Instructable

59,141views

129favorites

License:

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