Pocket Useless Box (with Personality)
by ThePretengineer in Circuits > Arduino
6644 Views, 60 Favorites, 0 Comments
Pocket Useless Box (with Personality)
While we may be a long way away from a robot uprising, there is one machine that's contradicting humans already, albeit in the pettiest way possible. Whether you want to call it a useless box or a leave-me-alone machine, this plucky, sassy robot is resisting it's human oppressors one switch at a time.
Supplies
Materials:
- 3mm plywood
- 1mm aluminium sheet metal
- Toggle switch, SPDT with a flattened actuator
- Sub-micro sliding switch
- SG90 hobby servo (x2)
- Arduino nano
- 9v battery*
- 9v battery clip
- Hinge
- Red led (I used a blinking led, but a normal one would work)
- Green led
- 5 pin JST connector set (male and female)
- 2.54mm header, 2x6 pin
- Hookup wire
- 3d printed servo mount (x2)
- 3d printed arm
*See design section below
Tools:
- Jigsaw
- Drill
- Vice
- Superglue
- Hot melt glue gun, hot melt glue
- Soldering iron, solder
- 3d printer
- File
- riveter
- Sandpaper: 120, 240, and 1200 grit
Notes About Batteries
This is one of the smallest useless boxes I've come across, measuring only 60mm by 120mm, and is powered by a 9v battery. What I've found, as I was making it, is that not all batteries are created equal. Some batteries I tried physically wouldn't power the system (because of the unusually high current draw from the servos,) causing it to flicker on and off. Most alkaline batteries should work, but you may have to try several brands before you hit one that works.
You have been warned
Now, on with the instructable!
The Wood
The majority of the box is made from 3mm plywood. While it may look a little messy at a glance, the material cleans up very well. You need 5 pieces of ply:
- One at 120mm by 60mm
- Two at 120mm by 45mm
- One at 60mm by 45mm
- One at 60mm by 60mm
Once the pieces have been cut out, one of the side pieces needs a slot cut into it for the on/off switch. Since each switch is different, simply trace around yours to determine the right size.
The two sides also need to be cut to 45° on one end. Be mindful of the nice side of the ply, as we want to be sure that it's facing out.
Finally, using a file, sand the two sides and back (60mm x 45mm) to 45.° This creates a nice join between them.
The Metal
The metal lid is made from 1mm aluminium. The advantage of this being so thin is that we can bend it by hand with relatively little effort. Cut the metal according to the plans I've provided, and bend along the dotted lines by hanging it over the edge of a table and using a piece of wood to push it down. It may take a little practice, but it's reasonably easy once you get the hang of it. Make sure that the nice side (the side with plastic on it) is facing out.
Once the lid is fully bent, center a hinge and rivet it to the bottom part (see photos.)
Downloads
Gluing
With all the cutting out done, we can start gluing the main box together. Superglue all the walls together except for the top panel. That needs electronics attached, which we'll do in the next step. Be sure that the glue has adequate time to dry, and don't glue it to the table inadvertently. Once the glue is well and truly dry, sand the edges of the box round, to give it a more ergonomic feel.
Finger Assembly
The first component of the mechanism we'll make is the 'finger.' The two servo mount pieces slide onto the end of the mini servo, and the front one can be screwed into place. The arm is pushed onto the driveshaft of the motor. Important notes: 1) the arm might need to be drilled out slightly to make it fit onto the motor. If you do that, secure it in place with a dot of hot melt glue. 2) make sure that the arm, when laid horizontal, cannot move any further down. The software assumes that the far-right position of the motor is horizontal.
Top Panel
Next, we'll make the top panel, where the switch and LEDs go. Find the center of the panel, and mark a line 11mm from the edge. Drill a hole large enough for your switch to fit through, and fasten it in place. Mark out and drill two holes for the leds, and push them in. I drilled mine 10mm from the side, and 10m, 20mm from the front edge.
Solder the two cathode (short) leads on the leds together. Connect the first pin on the switch to the first pin on the plug. Run a black wire from the middle pin on the switch to the two cathode leads, and from there to the second pin on your plug. A wire connects each positive pin of the leds to the 5th and 3rd pins of the plug. The connections on the plug should be as follow, from top to bottom:
1 - switch pin
2 - blank
3 - red led
4 - ground
5 - green led
When all the connections have been made, hot glue the plug in place.
Refer to the photo for guidance on how the final thing should look.
Putting It All Together Part 1: the Electronics
With all the components assembled, it's time to put it all together! Hold the top panel in place, and position the finger assembly so that it can reach the switch. Mark where it goes, and superglue it in place.
Use solder to bridge two sets of pins on the 6 pin header. Solder a red wire to the middle set, and a black one to the bottom. To each of the two individual pins, solder a yellow wire. Solder the red wire to +5v on the arduino, the black to gnd, and the two yellow wires to pins 8 and 7.
The male part of the switch which connects to the top panel can be soldered to the arduino too, the ground (black) pin to GND, the switch pin to pin 12, and the two leds to pins 10 and 9. Refer to the diagram for additional details.
To supply power to the system, run the leads from a 9v battery clip underneath the finger assembly, and pull the positive (red) cable out of the power switch hole. Solder it to one of the pins on the power switch. Run another length of red wire from the switch to the VIN pin on the arduino. The black lead from the battery clip can be soldered to a GND pin on the arduino.
Push (and glue, if needed) the power switch into place. Use hot melt glue to fix the arduino to the wall, with it's USB port pointing up.
Finally, plug the battery in, and rest it behind the motor.
Putting It All Together Part 2: Programming
This part is relatively straightforward: install the arduino, plug your arduino into your computer, choose what program to flash to it, and press the upload button.
I've provided two programs, each of which provides a different behaviour. useless_box.ino will run through all 11 behaviours in order, whereas useless_box_random.ino chooses a random behaviour each time.
Putting It All Together Part 3: Closing Up
With the software uploaded, it's time to close the box up. But first, we need to glue the lid servo in place. superglue the lid hinge to the end of the box, and use hot melt glue to secure the lid servo over it. See the photos for exact placement.
Plug both servos into the header block, making sure that the brown or black cables from the servos are plugged into the ground pins on the header. Finally, flip the power switch. The servos should come to life, and snap to a position. Once in that position, push the servo arm onto the lid servo, making sure it's parallel to the base.
To connect the lid to the servo, we use baling wire and a small 3d printed block. You may need to drill out the hole to fit your baling wire through it. Bend the baling wire according to the photos, so that the block can spin freely. Superglue the block in place, in such a position that it will slip into one of the holes in the lid servo's arm.
Firmly holding the top panel in place, make sure that the mechanism works. If it does, then simply use hot melt glue to fix the top panel in place. The reason we use hot melt glue instead of superglue is so that we can break it off again to access the guts. And with that, your very own plucky useless box is finished!