Remote Controlled Phone Stand
by clementbutler in Circuits > Arduino
312 Views, 1 Favorites, 0 Comments
Remote Controlled Phone Stand
This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com)
The remote controlled phone stand serves the purpose of being able to record or film any event that you wish while being able to access any possible angle that you may want without the aid of another person positioning the camera.
Because of a time constraint this phone stand does have a few minor design complications, but they do not interfere with the overall function of the device. These complications will be mentioned throughout this instructable and near the end.
Supplies
- 1 Arduino UNO
- 1 30-row Breadboard
- 1 5V Stepper Motor
- 1 Stepper Motor Board
- 15 Short Jumper Wires (Even though colours are irrelevant: 3 Red, 3 White, 3 Yellow, 2 Black, 2 Green, 2 Blue)
- 2 Micro Jumper Wires (Even though colours are irrelevant: 1 Red, 1 Blue)
- 1 Infrared Sensor
- 1 4-Slot Wire Connector
- 4 Single Slot Wire Connectors
- 1 3mmx3mmx20mm Metal Key Shaft
- 1 Wrench (Adjustable preferred)
- 1 9V Battery
- 1 9V Battery to Arduino Adapter
- 1 43mm (unstretched) Extension Spring
- 2 Allen Wrenches - 2.4mm across flats and 1.8mm across flats
- 4 M3x45mm Hex Screws
- 2 M3x12.5mm Hex Screws
- 5 M3x16mm Hex Screws
- 5 M3x2.5mm Hex Nuts
Additional Notes:
The proper extension spring used for this should be about 60mm unstretched but I had apparently misplaced it during a previous assembly.
3D Printing
All the parts involved in the phone stand were made via 3D printing and all have been designed so that the printing process may be very easy with very little amounts of supports being necessary.
I don't seem to be able to upload .zip files directly to Instructables, but luckily there aren't a lot of STL files so I have attached the files themselves to this tep so that they may be downloaded and printed.
Placing the Arduino and Breadboard
With the orange ArdBox (short for Arduino Box) already 3D printed, place the Arduino UNO into the box using the pins on the ArdBox. Also, plug 1 red pin into the 5V port then 1 blue pin into the Ground port. Then, using ports 8, 9, 10 and 11 on the arduino, place a yellow, white, red and black pin in the ports, respectfully. Lastly, plug a green pin into port 2 on the Arduino.
Once the pins are plugged into the arduino module, place the 30-row breadboard onto the platform direcly above the arduino. Connect the red 5V pin the positive, vertical railing on the end and the blue Ground pin to the negative, vertical railing on the end of thr breadbaord.
Afterwards, connect the green, yellow, white, red and black pin to the horizontal pins of the breadboardwith proper spacings inbetween each pin for a proper wiring.
Lastly, using the micro jumper wires, connect the 5V vertical railing to a horizontal railing in the breadboard, and do the same for the Grounding.
Wiring the Breadboard
Now, using the 4 more of the jumper wires (yellow, white, red and black), connect them to the same horizontal railing on the breadboard so that the colours may match as they are being connected. Then, use the 4 slot wire connector and connect the 4 wires (yellow, white, red and black) so that they may also be matched by colour.
Afterwards, connect a small green wire jumper in line with the other green wire already connected on the breadboard (once again matching the colours) so that they may be properly wired. Using a green, single slot wire jumper, connect to this green wire that leads from the breadboard.
Next, grab four more single slot wire connectors. I used blue, yellow, white and purple jumpers. Then connect these four wire connectors to 4 wire jumpers appropriatly. For the sake of colour coordination, I used blue, yellow, white and purple wire jumpers and connected these to the wire connecters.
Connect two of the pins of the wire jumpers to the horizontal railing that connects to the 5V power source and the other two pins from the last two wire jumpers to the horizontal railing that connects to Ground. In my wiring I connected the white and yellow wire jumpers to the 5V horizontal railing and the blue and purple wire jumpers to the Ground, horizontal railing.
Connecting the Stepper Motor
Once you've reached this point, and the Middle Layer Casing (shown in blue) has been 3D printed, the next step you may want to take is to screw the stepper motor into place. Using the 2 M3x12.5mm Hex Screws and the 1.8mm Allen Wrench, screw through the holes in the sides on the stepper motor so that it may be fastened to the Middle Layer Casing platform.
As for the stepper motor board, place it onto the Middle Layer Casing's platform using the pins provided that have been printed onto the platform itself. Connect the wires leading from the stepper motor to the stepper motor board as shown in the photo provided.
Next, for the set of wire connectors leading from the breadboard, push these through the hole provided in the platform of the Middle Layer Casing. Be careful not the disconnect the wire connectord from the wire jumpers as you're doing so.
Once the connectors have been passed through, take the 4 slot wire connector and connect it to the 4 pins on the stepper motor board with the yellow wire slot being connected to the pin at the edge of the board. Also, take 2 of the single slot wire connectors (1 from the 5V railing and 1 from the Ground railing) and connect them to the stepper motor board. I used the yellow (5V) and the purple (Ground) connectors and plugged them to the pins marked "+" (for the yellow wire) and "-" (for the purple wire) located above the markings "5--12V on the board.
Connecting the IR Sensor
For this step you would need to have the Top Layer Casing (shown in red) already 3D printed.
On the flat top of the Top Layer Casing there is a rectangular slot that goes all the way through. That is meant for the IR sensor to fit through so that it may connect to the single slot wire connectors.
With the IR sensor facing you, it's helpful to remember that the left pin is meant to transmit the IR sensor, the middle pin connects to ground, and the right pin connects to the 5V power. Keeping the IR sensor in its slot, I connected the green transmission wire to the left pin on the sensor, connected the blue Ground wire to the sensor's middle pin, then connected the 5V power white wire to the right pin on the sensor.
Once these three wires are in place, the Top Layer Casing may be placed on top of the Middle Layer Casing. Take the 4 M3x45mm Hex Screws and screw through the Top Layer Casing, Middle Layer Casing and Arduino Box using the 2.4mm Allen Wrench. With the 3D printed parts fastened in place, be sure to keep all of the wires out of the way of the stepper motor.
Note: Because of the length of the wires that I had used, it had become a bit of a tight fit in the cavity where the stepper motor is, but this doesn't pose a problem with the phone stand's rotation.
Connecting the Rotating Platform
In this step, both the Rotating Centerpiece and the Device Base (both shown in orange) would need to be 3D printed. Take one of the M3x16mm Hex Screws and, with the 2.4mm Allen Wrench, screw the hex screw through both the Rotating Centerpiece and the Device Base.To hold both of the parts in place, take one of the M3x2.5mm Hex Nuts and fasten it to the hex screw at the bottom of the Rotating Centerpiece until the 2 parts are tightly pressed together. As for the remaining 2 hex screws and 2 hex nuts, screw and fasten them to further fix the Device Base and Rotating Centerpiece into place.
Bottom Half of the Clamp
Continuing with the assembly, the Bracket and the Rack would need to be 3D printed for this step. Here, take the 3mmx3mmx20mm metal key shaft, and slide it through the sqaure opening in the back of the Bracket (the part with the V shaped opening).
From there, attach this piece to the Rack (the slider with the two hollow columns) by once again sliding the metal key shaft through the square opening located to the back of the Rack.
Lastly, with the metal key shaft already pushed through both the Bracket and the Rack, slide the remaining end of the metal key shaft throught the square opening located on the top of the Device Base (the piece with the 3-pointed base).
Note: During my assembly, there was some wobbling of the Rack and Bracket, but this did not pose much of a problem during the phone stand's rotation - so it may be considered as a negligible occurance.
Top Half of the Clamp
In this step, the Vice and the Vice Bracket are the last two pieces that would need to be 3D printed.
To fasten the two pieces together, use the 2 remaining M3x16mm Hex Screws and the 2 remaining M3x2.5mm Hex Nuts the screw through the Vice (the piece with the two solid rectangular columns) and Vice Bracket (the piece with the V shaped opening).
Once the two pieces are fastened together, they come together with the pieces from the previous step to make the clamp/slider. With the Vice columns being slid into the hollow columns for the Rack, the spring can now be attatched to the back of the clamp. The vertical square openings on the back of the Rack and Vice are meant for the extension spring to hook onto to create the resistance on the clamp.
The Final Touches
To finish up witht the assembly, attach the rotating topper onto the flat platform of the Top Layer Casing. To ensure that the rotating topper is properly fitted onto the stepper motor shaft, simply place the topper in position and spin it until it falls deeper into place. You will know it's properly in place not only from the topper sinking deeper but the sudden resistance to the turning you may feel.
Now to just place the 9V battery in place, connect the adapter to the arduino, and use the remote.
Enjoy!
The video is set to a playback speed of 1.75x
The phone stand had been set with a series of functions that can be controlled by the IR remote
- Incremental turning of either clockwise or anticlockwise direction (NEXT or PREVIOUS buttons)
- Full 360 degree rotations of either clockwise or anticlockwise direction (PLUS or MINUS buttons)
- Surveilance mode where it turns for a certain angle to capture a certain field of view (EQUALIZE button) - for both short and wide angle field of views (100+ or 200+ button)
- Iterations where it allows for the 360 degree rotations and the surveilance to be executed uninterupted depending on how many number of times it is requested - from 1 to 9 based on which number button is pressed on the remote (NUMBERS 1 to 9 buttons)
Arduino Sketch
The code attached is fairly simple and easy to understand. For starters in the Functions.ino file contains how the stepper motor manually moves by activating one coil at a time to control its forward and backward motions.
The other arduino file contains all of thecode necessary for controlling the stepper motor. First off, a the stepper motor header file and IR Remote header file (version3.1.0) will need to be downloaded to use the code to its full potential.
The code includes a defined list of almost all the possible IR signals the remote could send to the IR sensor. In void loop() section contains a series of if statements to contoll the motor should a certain button be pressed to perfrom any of the functions that were previously mentioned in the last step.
As I've mentioned, the arduino code files have been supplied to this instructable.
Circuit Schematic
The circuitry involved for the phone stand is fairly simple.
The IR sensor (located to the right of the schematic) is connected to pin 2, 5V and Ground on the arduino. This sensor would receieve a signal and have it be sent to the arduino where it will be ran through the code for it to be decoded.
The stepper motor is connected to the stepper motor board via the four pin connector that controls the coils within the stepper motor. The stepper motor board is also connected to the arduino board via the 5V and Ground pins - in addition to connecting to the arduino board via the 8, 9, 10 and 11 pins.
With the incoming signal that the arduino decodes, the arduino then controls the stepper motor to rotate in the sequence that is dictated by which signal the arduino recieves from the IR sensor.
Design Functionality
Regarding the desgin of the Top Layer Casing (the red part), this was given opeinings along the rounded edge of the body so that there may be a window into the circuitry - in the event that a wire may be loose it may be quickly discovered. The same was done for the Arduino Box.
Also, the reasonn the rotating topper is removable instead of being fixed onto the Top Layer Casing is so that the inside wiring may also be easily seen in the event that a repair may need to be made - the same reason as mentioned in the statement above.
As for the V-shaped clamp, this shape was included so that devices of any thickness - includuing whether of not the device has a case over it - may still be properly clamped by the phone stand without any slack being involved.
Minor Complications
Aside from the complications that were mentioned throughout, another piece to mention would be that because of the design on the clamps, should the camera on a device be too high up, the clamps could block the camera - which won't happen when using the front camera from a phone but will happen from the back camera most likely.
Also, due to the column lengths on the Vice, the clamp's extension is limited to being only useful to devices oriented in landscape mode as opposed to portrait mode.