Later, friends asked me to build another one for a friend who was leaving the country. This i'ble is the recording of the preparation of the second memory chest (with the exception of a few photos I've added in step 2 - "Installing Peripherals", which actually show the first chest).
User interface is fairly simple: As soon as the box is opened, the Arduino is powered on and shortly after, the LED blinks once signaling it is ready for use; pressing the button plays a randomly selected memory, which is then remembered in the Arduino's EEPROM memory. Pressing the button just as you open the box before initialization blink, clears this memory (feature I've used while testing and just prior to handing over the chest).
Here is the result:
(tested with some sample soundtracks I've uploaded from my awesome Pimsleur Japanese learning audiobook)
The project is built on top of an Arduino and a SOMO14D package for playing audio. Communication between the two was done based on the great SOMODuino code by Doyle Maleche, which I've slightly made more generic.
The micro SD card used by the SOMO14D should contain audio files in AD4 format - conversion software available at manufacturer site, link on the bottom-left. Files should reside on the sd-cards's root directory, and should be named 0000.ad4,0001.ad4... etc., possibly up to 512.
Since the SOMO14D chip cannot detect the number of files stored on the SD card, the track count should be "typed" in using the DIP switch package - time to practice your binary-to-decimal conversion skills! An alternative for that approach is to hard-code the number of tracks in software and use the extra pins for adding colorful light patterns with RGB LEDs (which is what I did in the first box).
1 Wood box:
- 12cm x 18cm x 8cm
- Got mine at a hobby supply shop
- Should have a lid connected with hinges
- Preferably, has room for a photo on top - this is a memory chest, after all
- 4 AA battery compartment
- 4 AA batteries
- Piezo element
- Speaker, 1/4-1/2 Watt
- Male DC voltage connector, barrel-type
RBBB Arduino clone
- Available here: http://shop.moderndevice.com/products/rbbb-kit
SOMO14D Audio playback module
- Available here: http://www.sparkfun.com/products/9534
Perf/stripboard, the size of your box
- I usually get a large piece and saw as much as I need for each project
Button, any size you like.
- I really like arcade style buttons! They are just too funky to be left in the shop
- Available on dealextreme, ebay, etc., for example: http://www.dealextreme.com/p/repair-parts-replacement-obsf-button-for-arcade-machine-color-assorted-37486
2GB MicroSD card
- Manufacturer advice is to stick with Kingston, other brands might have compatibility issues
- I can attest to that - despite my initial disbelief
- Dealextreme has them for ~5US: http://www.dealextreme.com/p/kingston-microsd-transflash-2gb-memory-card-japan-2396
- Or more, if you plan on not using the DIP switches
- For automatically powering up the box when it is opened
- For example: http://parts.digikey.com/1/parts/977112-lever-switch-pcb-spdt-3a-80gf-d2f-l.html
DIP switch array containing 8 on-off switches
- For example: http://www.taydaelectronics.com/servlet/the-1527/Dip-Switch-8-Positions/Detail
3.3V voltage adapter
- Used for powering up the SOMO14D
- I used http://www.sparkfun.com/products/526 (after trying diodes, without success)
- 4 x 100Ohm Resistors
- 3 x 10K resistors
- Some electric wires
- In case you need to build the box's top panel
2 Nails & little turpentine-based glue
- For attaching the microswitch to the side of the box
- Small Pliers
- Electric wire cutter
- Insulation remover
- Solder Iron
- Hot glue gun
- Precision wood saw, any kind (in case needed for the box's top panel)
- Electric drill, drill bits
- Wood glue
Step 1: Circuitary
General instructions / recommendations:
Go one step at a time - first construct the RBBB and test it, then connect it to the switches, DIP, LED, piezo etc. and write a short sketch to test them.
I usually use strip board, since it can save on the amount of wires. However, most people seem to prefer simple perf-boards.
When done, upload some sample tracks (see inside attached zip) to the SD-card - make sure its FAT16 formatted first
Upload the sketch onto the Arduino
- Try to test after each step
When all seems to be working, continue to next stage - installing the peripherals into the box
Step 2: Installing Peripherals
Get a flat (2-3mm) wood scrap that is same length and width size as your box (interior dimensions)
At the time, I didn;t have such a piece so I glued together a few flat pieces, then sawed to size. That turned out just fine; However, I am usually happy with the "yes, I made it at home" finish.
Installing the main on-off switch
Start by soldering wires to the microswitch's terminals, if you haven't done so already. Note - you will need to connect to the 2 terminals that are ON by default, OFF when lever is pressed down - so that opening the box will power up the Arduino and closing it will cut it off, not the other way around!
Next comes attaching the switch to the box - my levered microswitch came with two holes in it, so I used these holes and attached it to the box using some glue and a pair of nails which I've trimmed to size.
While positioning the switch, aim at having the tip of the lever stick out from the box's rim.
Next, cut a small, flat wood triangle and glue it to the box lid at the adjacent corner, so that whenever the lid is closed, the micro switch got pressed and contact was disconnected. If the box doesn't fully close, make a small dent in the triangle piece of wood using a Dremel, sawing paper, tea spoon, whatever.
Installing push button and the LED
Position push button and LED on top panel and drill holes for them.
Attach them to the panel using provided washers (button) and glue (LED) and re-connect them to the circuit.
Don't put the panel in the box just yet. We will first need to install the stoppers (next step).
Installing the Speaker
Depending on the size of the box and the speakers, you can either position the speaker below the top panel (drill some holes in the top panel for the sound to come out), or in the box lid (preferably use a net of some sort to hide it).
Attach the speaker to the box using nuts, glue, hot glue, or whatever.
Make sure everything is still working.
Step 3: Putting It All Together
Cut two small pieces of wood and glue them to both sides of the box from the inside. these pieces should stop the top panel you've prepared in previous step from falling down, so make sure they do just that, before gluing, and that they do not interfere with the closing.
Now, carefully position all components under the top panel, close the panel and re-test:
- Opening / closing the box turns the circuit on/off (LED should "breathe" once when opening)
- Pressing the button plays a random clip
- Pressing the button just when opening the box causes memory reset (3 short beeps and an ascending sound)
~ FIN ~
Enjoy and leave a comment if you've made it or if you have any questions