The idea behind this project is to create a seamless and featureless box which can only be opened by tapping a specific rhythm. A microcontroller processes input coming from an contact microphone and, when the correct series of taps has been registered a solenoid will pull back the spring loaded latch and slightly prop open the lid. Shortly after the latch will return to its original position so that when the lid is shut the box will once again be locked.
This box will work much as described above save for the locking mechanism which will be a worm drive. The user will tap a certain combination on the box which will cause the top to open enough for a finger to slip under and open the lid.
The box itself will be constructed of 1/4" aluminum squares, 4x4". The rough sides will be cut on the waterjet cutter. The edges will be beveled to 45° to form miter joints between the sides using the Mill and a 45° bit. The opening mechanism will consist of a small stepper motor with a threaded shaft and a matching threaded hole on the underside of the lid. When the lid is closed the threaded hole will rest with the weight of the lid on the threaded shaft. Turning the shaft will force the lid down tight, flush with the four sides. The threaded hole should be created with a slight taper allowing some room for imprecision. A microcontroller with microphone input and output to the stepper motor will handle the audio processing and control of the locking mechanism.
small circuit components (microcontroller, microphone, resistors, etc)
mechanism for stopping motor: A stepper motor will allow for a precise number of turns though this may not always be sufficient for the closing process (though it should always work for the opening process) during which there is a danger of over-tightening. If the motor locks the shaft while closing using its full force capabilities then it will most likely not be able unlock it using the same force. One solution might be a small tactile switch located at the end of the screws travel. Another possible solution might be a rubber stop at the end of the threaded hole which would absorb the extra force of the over-tightened screw but not lock it in place. I should experiment with using a relatively weak motor and allow it to skip steps at the end of the tightening process.
user interface: Though the first step will be to hard code a single pattern it would be nice to allow the user some method to dictate a new code. Should the stored code be exactly faithful to the recorded code or should it simply record the relative timing between the beats? How much room for timing error should be allowed?
hinging method: Because of the miter joints a normal hinge can't be used. The outside edge of the lid needs to remain in contact with the outside edge of the back of the box. I am assuming that a cabinet hinge will work well but I have yet to test that out.