my Arduino sketch will be included in this instructible
sorry for the poor quality pictures!
and keep in mind this is my first instructable,
and I forgot to take pictures of the build in process,
all of these pics are from the completed project.
If you have any questions send me an email and I will get back to you asap, NOI7734@gmail.com
I "borrowed" a lot of code from Dan Wagoner over at www.nerdybynature.com, you can find his "hangmamduino" project there as well, and Dan Wagoner if you somehow stumble upon this "ible", thanks for sharing your code, also I would recommend getting a copy of the "truerandom" library and incorporate that into your code as I did, as the native random function is "psuedorandam".
Step 1: Parts
1 - wooden box
1 - Arduino board with atmega 328
1 - 16x2 LCD display (get a good price at adafruit.com)
2 - 10k potentiometer (if you got your LCD from adafruit it comes with 1 so you only need 1)
1 - knob for potentiometer
2 - normally open momentary contact switch (button)
1 - servo
2 - 10k resistors
1 - speaker
1 - main power switch
1 - LED with built in mount and resistor
2 - plastic project boxes
1 - 9volt battery and battery strap
lots of wire and solder/soldering iron
parts to make the mechanical lock(I used random hardware I had laying around, see pic)
hot glue gun
dremel tool and drill
If you are going to take the atmega328 out of the arduino board to use the board with other projects later you will also need:
1 - piece of printed circuit board (PCB) or perf board
1 - atmega328
1 - 28 pin MCU socket
1 - 16mhz crystal
2 - 22pf capacitors
1 - 5 volt regulator
1 - 10nf capacitor
1 - 22uf capacitor (use radial lead not axial lead, non-polarized will not work)
Step 2: Sketch
Step 3: Solder ATmega328 to PCB
I will be referring to all pins on the ATmega328 as Arduino pins, I would recommend printing out the atmega328 to arduino pinout map from the above instructable on step 5 picture 2.
also solder a 10k resistor from digital 3 to ground, and another from digital 6 to ground
Step 4: Wiring Map for Reference
analog 0 - DO NOT USE!!!
digital 3 - button inside
analog 3 - 10k pot outside
digital 4 - servo
digital 5 - speaker
digital 6 - button outside
digital 7 - LCD D4 11
digital 8 - LCD D5 12
digital 9 - LCD D6 13
digital 10 - LCD D7 14
digital 11 - LCD RW 5
digital 12 - LCD RS 4
LCD 1 - GND
LCD 2 - V+
LCD 3 - Contrast, 10k pot
LCD 15 - V+
LCD 16 - GND
Step 5: Assemble Control Box and Battery Box
(hot glue the battery box to the control box, drill a small hole between the 2 boxes for the 2 wires)
sorry for not having detailed pics but I forgot to take some during construction (gimme a break this is my first instructable)
the best way to do this is to cut 14 long pieces of wire (mine were arm length and just barely long enough) and label them on both ends with masking tape and marker as follows:
control box end of wire () ATmega328 end of wire
5v+ () 5v+
5v- () 5v-
9v+ () 9v+
9v- () 9v-
potentiometer () analog 3
button () digital 6
speaker () digital 5
LCD pin 4 () digital 12
LCD pin 5 () digital 11
LCD pin 6 () digital 2
LCD pin 11 () digital 7
LCD pin 12 () digital 8
LCD pin 13 () digital 9
LCD pin 14 () digital 10
install the components in the control box and solder all the labeled wires, solder the 5+ and 5- wires to ALL power and grounds! (+ to pin 2 and 15 on LCD, to one lead on button, one lead on both potentiometers, and pos lead on led, - to neg led lead, neg potentiometer leads, and pin 1 and 16 on LCD) dont forget to solder the smaller 10k pot to the lcd pin 3 for the contrast. Solder the battery strap ground to the 9v- wire, positive from the battery to the main power switch, and from the switch to the 9v+ wire. feed all 14 wires through a hole drilled in the lid of the box, dont screw the control box down yet, we will need to adjust the contrast on the lcd first, I hot glued the contrast pot to the inside of the control box as well as the speaker, and lcd.
Step 6: Clean Up the Wire Mess!
Step 7: Solder the Wires to the PCB
solder the 5v+ and 5v- the the power and ground rails you made on your PCB (on the same circuit as the 22uf capacitor)
it gets a little hairy in this part, but you'll make it through, just remember to double check all your work BEFORE you put the battery in!!
solder the rest of the labeled wires in the corresponding locations on the PCB.
solder the servo wires to the PCB power ground and signal.
(note: my PCB has a lot more wires than yours probably will...I didnt have any 22pf capacitors for the crystal, so I had to use 2 10pf and 2 1pf caps in parallel for each crystal leg...thats a total of 8 caps where there should only be 2, plus I had to relocate the crystal on the PCB to have room for all 8 caps, then add wires from the AVR to the crystal legs, caps, and back to ground, poor planning on my part!)
Step 8: Test
if all was well, load up a battery and turn on the main power switch, adjust the contrast on the LCD and check all fuctions including and especially the servo lock function. (we want to avoid the box locking shut and never opening!)
if there is a problem that you need help with at this point and its not working, return to the intro step and send me an email I will get back to you asap.
if all is well, hot glue your wrapped wires down the way you had them routed, be sure they have a little room to move when the lid opens/closes, mount the control box, very carefully hot glue the corners of the PCB in place. I would also advise putting in a barrier (piece of wood or some other material) firmly mounted between the storage space of the box and the working components, just so nothing gets damaged by whatever is kept in the box.
I hope you enjoyed this as much as i did!