Introduction: A Self-opening Miniature Gym With Music and Lights
What is it?
A 3D printed miniature gym in a box which plays music to flashing lights when the door is opened. Then the lid rises up for added silliness.
The project is in my github repository.
There's also a video.
But Why?
My excuse for doing this:
- The Dutch celebrate SinterKlaas on the 5th December as part of their Christmas tradition
- One of the components of the celebrationis that there is a party
- Each guest gets assigned (randomly and without the other knowing) another guest
- The guests then make by hand a small suprise, write an accompanying poem and buy a small present
- On the 5th, the recipients read their poem and receive their surprise and present
- I know this because my Dutch neighbour told me, so it must be true
- This was the second year for (some of) us to copy the tradition here in the UK
- We (I) may have gone a tiny bit overboard
I'm only publishing this because it might help anyone who feels embarrassed for spending loads of time on something with no real purpose. It's OK. You're not alone.
So don't expect full "do this and you'll get the same thing" instructions. Even I don't really know what I did.
Special thanks go to [TanyaAkinora] without whom none of this would be possible. The good bits are her 3D printed gym, the silly bits are mine.
Supplies
It depends how far you want to take it. Mostly I made this from bits I had knocking around in drawers/the back of the shed.
Equipment
- 3D Printer
- Soldering Iron
- Arduino programming environment
Level 1 - Nice little present, something for the kids to play with
- [TanyaAkinora's] 3D Printed Gym
- A box to put the gym in
- Some spray paint
- A cheap mirror
Level 2 - Ooh pretty
- A strip of 3-colour LED lights
- Some wooden beading to stick the lights to (I had some lying around so I used it. You can do something different)
- A microswitch to detect the door opening and closing
Level 3 - You've done WHAT???
Really, at this point all bets are off. I added the following
- An Arduino of some sort (I ended up making a custom board because of course I did)
- An MP3 player module and SD card (I actually spent money on this)
- A loudspeaker
- Prototyping board
- Wire
- Beefier power supply than the one which came with the LED strip (18V, 2A) which I had in a drawer
- Very old stepper motor
- Small drawer slide
- A4988 stepper drive module (coz I had some in a drawer....)
- Various GT2 drive belts, pulleys etc
- LOTS of glue. Hot glue. Superglue. Lovely glue.
- Some screws
- More prototyping board
- More wire
- Did I mention glue already?
Step 1: Getting to Level One
Go to [TanyaAkinora's] page and follow the Instructable to print out gym equipment on your trusty 2D printer.
Paint your cardboard box. I cut the top off and made my own easy to open lid using a sheet of cardboard. I used spray paint from the local art shop to paint the inside white and the outside black.
Then I removed the mirror from its case and stuck it to the wall with hot glue. I love hot glue.
Step 2: Just a Little Extra
This was the point where I realised I had some spare 3-colour LED strip which would make seeing the gym easier.
So I cut a couple of pieces of wooden beading to length and stuck the LED strip to the bottom with superglue gel. I love superglue gel. Then I attached the beading to the box with some wood screws.
To switch it on I cut a door out of the box and rigged up a microswitch to detect when the door was open or closed.
I don't have any pictures of this, though you can just about see it in the video. As you can imagine, it involved glue.
Step 3: Someone Needs to Stop Him
Well really, what would you do if you came across an old stepper motor, a loudspeaker and a drawer slide in a junk box? It's perfectly logical.
Figure out that opening the door can trigger some music, and why not make the lights flash in time to the music.
- Design a circuit to make the LEDs flash. In the schematic you'll see I used 3 ZTX650 transistors to drive the LEDs. You can't get ZTX650s any longer. I've had them since roughly 1983.
- Design a circuit to detect peaks in the music to tell the Aduino when to flash the lights. This is bit around the 2SC1815 transistor in the schematic. Originally there were meant to be three channels (low freq, mid-range and treble) each of which would map to one colour, but I couldn't make it work very well and I was running out of time so went with just the one channel.
- Hook up the microswitch, LEDs, MP3 Module and write crufty Arduino code till it works
- Solder it all up on a board. At this point I decided to use a straight Atmega 328P chip on the board instead of the Arduino because (tada!) I had some in a drawer.
- The LED drivers actually went on the board on which I built the 5V power supply for the digital bits.
Now how to make that lid rise up?
The instruction for this are honestly: bodge something together till it works. I had to rework the whole mechanism and change the power supply a few hours before the party because what I orginally built just didn't work reliably.
Basically the stepper turns a pulley with a toothed belt which is attached to the drawer slide. This creates the vertical motion for the drawer slide to push the lid up. At the top and bottom of the range of movement there is a microswitch to tell the arduino when to stop running the stepper. This obviously involved bodged 3D printing and copious amounts of (lovely) glue.
Step 4: Guilty As Charged
And that's it folks. I hope you can find something useful in the schematics, code or just some inspiration.
Happy New Year!
Step 5: P.S.
Glue is good. Get glue.