This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com). For this project we were delegated with the task of designing a project on Autodesk Inventor, 3D printing our own parts, implementing a moving component, programming a micro-controller to conduct the action (in this scenario it was an Arduino), and finally piecing everything together into a final finished product. For my project I created a small scale storage unit that has a rotating top (Pac-man face) that exposes a new cubby with the input of a remote control. The image above illustrates my final implemented design and at the bottom of the page a video will show its functionality.
Step 1: Designing and Printing Parts
As mentioned previously, I designed my project on Autodesk Inventor which is a CAD software. This was essential because there were dimension constraints placed upon the parts that we were to print (in our case 250mm x 125 mm x 125mm). Afterwards I placed a print order with our school's 3D printing facility. I created a top which is in the shape of Pac-Man, and the centerpiece cylinder which has six cubbies extruded into the cylinder in symmetry with one another, and the black box which was another constraint (used to fit our breadboards and wires into).
Step 2: Setting Up the Circuit
Pictured above is my breadboarded circuit and it features all of the key components to complete the rotating motion of the top. The first thing you'll notice is the remote control I used to act as my input (buttons 1-6). On the breadboard is a black component, which is my IR sensor that detects the inputs from the remote control. The right wire (orange) is attached to the voltage source, the middle wire (black) is attached to ground, and the left wire (green) is placed into a pin on the Arduino board to relay the input information to the Arduino which will then execute a command. The Arduino board is also supplying the voltage (5 volts, orange wire) and ground (black wire) terminals to the respective power rails on the breadboard. Lastly, I used a stepper motor (seen on the right) to conduct the movement. The green shield attached to the Arduino board acts as the output pins for the Arduino to cause the stepper motor to move. And finally the stepper motor is wired to the voltage (orange wire) and ground (green wire) terminals.
Step 3: Programming the Arduino
To conduct the overall function the Arduino needs to be programmed to receive the inputs via the IR sensor, create a case function for each respective button of the remote control, and then control the stepper motor based upon the input. It operates through the use of a few libraries which are readily available through the Arduino website and are easy to find via the web. The main function utilized in the loop is the case function, which is essentially an if function ("If this input is detected, do this"). The stepper motor has its own specific set of functions which can be read about through the Arduino website by searching stepper motor. Below is an exact replica of my working code in a word document and comments next to every major function acting as a brief explanation. NOTE: The code is catered to my specific remote control and most likely will not work with other remotes. However, it is extremely simple to just look through my code and replace each "case ########" with your own codes supplied by your specific remote.
Step 4: The Mechanical Setup
The setup is fairly straightforward. I drilled holes through my black box, cylindrical centerpiece, and the underside of my top face. Next a stem (I used a chopstick), was attached from the stepper motor to the top face and mated together through the use of adhesive. The stem is connected internally through a central extrusion through the cylinder and black box. My breadboarded circuit, stepper motor, and Arduino board were all connected and placed inside of my black box for the final product. Lastly three small holes were drilled into the top of the black box to expose the IR sensor externally.
Step 5: Final Thoughts and Functionality
The project was ultimately a success. Inside of my respective cubbies demonstrated in the video are small items of AAA batteries, Gameboy DS games, quarters, various other coins, earrings, and tootsie rolls. The video illustrates my 3D simulation, control diagram, and final product in action. Thank you for your time!