Paper Box Useless Machine
This instructables show how to use a paper box, a toggle switch and a tiny servo to build a useless machine.
What Is Useless Machine?
Useless machine in general means self-switch-off machine. I don't know who invented it but I known it from Japanese forum post many years ago. I can find someone post useless machine video in Youtube since 2005, but I know useless machine is much older than Youtube!
Update
Thanks for TinkerJim information:
As to the origin of the UM, Marvin Minsky and Claude Shannon, while working at Bell Labs in the early 1950’s, conceived and made the first UM, which they referred to at the time as the Ultimate Machine.
Why Paper Box?
If you google useless machine, you can find most of their box made from wood or acrylic board. It is because this machine look simple but require a fair precise and high torque mechanics interaction.
This instructables use 2 3D design parts simplified these requirements:
- the 3D printed base combine the switch and the servo precisely, so that you can have more choice on box materials, e.g. paper box
- the 3D printed arm extend the servo to just touch the top of the switch, it can utilise all servo torque to turn the switch off
Preparation
Paper Box
Any box larger than 6 cm x 6 cm x 6 cm should be ok.
Toggle Switch
A mini panel mount SPDT toggle switch.
Tiny Servo
This time I am using the most popular and also may be the cheapest servo, SG90.
MCU
The logic of Useless Machine is fairly simple, only 2.x KB in size. Almost all arduino board can do the job even ATtiny45/85.
Others
A tiny breadboard, some DuPont connector wires, a 5V/6V power source e.g. 4 x AA battery pack.
Note:
This useless machine only use servo and toggle switch packaged screws and bot, no extra screws, nuts and bots required.
Print the 3D Parts
Download and print the 3D parts:
https://www.thingiverse.com/thing:3226237
Fix Servo on the Base
Use servo packaged screws fix the servo on the 3D printed base.
Fix Toggle Switch Into the Base
Put the toggle switch into the hole of the 3D printed base. Keep the fixing ring and bother later use.
Install the Arm
The 3D printed arm can be integrated with the packaged servo arm and fix together with the same screw.
Note:
Before fix with screw, remember turn the servo to the most clockwise place and the arm not over the base surface.
Cut a Small Cover
Cut a small part on the cover for the machine arm come out.
Make a Toggle Switch Hole
Make a hole apart from the arm cover around 2.5 cm. The hole size should just fit the Toggle Switch, i.e. around 5.6 mm in diameter.
Install Mechanical Part
Put the mechanical part into the box hole, put on the fixing ring and screw up the the bot. In long term, you can apply some double-side adhesive tape between the 3D printed base and the paper box to permanent fix it together.
Program & Connect MCU
The Program is fairly simply:
#include <servo.h> Servo myservo; void setup() { myservo.attach(9); myservo.write(0); pinMode(2, INPUT_PULLUP); } void loop() { if (digitalRead(2) == LOW) { delay(700); myservo.write(180); delay(300); myservo.write(0); } delay(100); }
Here are the connection summary:
Battery +ve -> MCU Vin -> Servo +ve Battery -ve -> MCU GND -> Servo -ve -> Toggle Switch Pin 1 MCU GPIO 9 -> Servo Signal Pin MCU GPIO 2 -> Toggle Switch Pin 2
Enjoy!
If you think 1 set of toggle switch and servo is not enough, most of MCU can handle more digital input and operate more servo at the same time. Some MCU can handle 8 or even more Useless Machine units, depends on imagination how to make fun, enjoy!