Introduction: IR Controlled 3D Printed Rover (Arduino)
This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com)
This instructable will cover the necessary steps in how to recreate my Rover project. We will be covering all aspects of the build process including the STL part files, assembly, control system and programming. This project was an AWESOME learning experience and many of the processes were my first time doing such. Please keep in mind that this project requires a lot of soldering and shrink wrapping of wires and connectors. Also, the modification process for the continuous rotation servos is very delicate and you can very easily ruin a servo if you are not absolutely careful.
Step 1: Tools and Components
Electrical Components:
- 1 x Arduino Uno
- 1 x DROC Voltage Rgulator
- 1 x Hobbymate 11.1 3s 1300 mAh Lipo Battery
- 1 x Circuit Board
- 5 x T-Plug Connectors
- 1 x 5/16" Wooden Dowel
- 1 x Inferred Reciever
- 1 x Inferred Remote
- 1 x Switch
- 8 x Servo Lead Extenders
- 9 x MG90S Servos
- 1 x HC SR04 Ultra Sonic Sensor
- 1 x Red LED
- 1 x Green LED
- 8 x 22k ohm Resisters
- 2 x 220 ohm Resisters
- 2 x Bolts
- 2 x Nylon Lock Nuts
- 6 x #2 Screws
- 4 x Zip Ties
- 1 x Ream of Wire Loom
Tools:
- Soldering Iron
- Flux Core Solder
- Wire Cutters
- Small Phillips Screw Driver
Miscellaneous Items:
- Glue
- Model Paint
- Decals
- Aluminum Foil
- Rubberized Black Spray Paint
You will also need to modify four servos to operate in continuous rotation. The tutorial that I used to accomplish this can be found at the following link:
http://todbot.com/blog/2009/04/11/tiny-servos-as-continuous-rotation-gearmotors/comment-page-3/
Step 2: 3D Printed Parts and Assembly
The Majority of the parts for this build were printed on a 3D printer. I've include all the STL files necessary to replicate this build. The four modified continuous rotation servos will need to be attached to the drive wheels and drive housings. The center set of wheels spins freely. The black wire loom is used to hide the wires coming from the drive housings and is zip tied to the rear drive housings. The 5/16" wooden dowels are cut to size and connect the main arms to the center differential system. Rubberized paint is applied to the outer surface of the wheels for added traction. Please understand that, due tolerance variances, some additional tooling maybe necessary for all parts to fit exactly right. The assembly procedure is very straight forward and should be easily derived from the 3D exploded view assembly photos that I have included in this indestructible. A few things that I have added to the overall aesthetics of the build were some "NASA" stickers that I purchased off of eBay, some model paint and a little aluminum foil to hide the wires coming from the ultra sonic sensor housing.
Attachments
Step 3: Control System
The control system begins with a 1300mAh lithium polymer battery. This battery is a bit over-kill for this project, but I purchased it with the intentions of alternative uses. Power is then fed into an adjustable voltage regulator which steps the power down to about 5.08v. Originally the voltage was set to around 6.71v in order to achieve 5v out from the arduino. However, because the continuous servos received the main power supply from the 6.71v source and not the 5v source, it caused them to not function properly. Stepping the voltage down, coming out of the voltage regulator, to 5.08v solved this problem. So, after the voltage regulator, the power is sent to a PCB board and distributed to the arduino and all other components. The IR receiver, both LEDs and ultrasonic sensor are mounted in the housing that sits on top of the rover. You will need to solder a couple rows of post on to the PCB board in order to distribute all the power and ground connectors for the various components of the rover.
Step 4: Electrical Schematics
Here is a basic break down of the wiring and electrical components involved in this build. Everything receives the appropriate voltage from the power distribution board and command signals are sent from the Arduino board to all other components. I decided to implement the use of t-connectors as it allows me to easily disconnect components from the system for replacement or for use in other projects. Please be aware that the pin configuration in this diagram does not correspond with the Arduino sketch. It is merely to illustrate how all the components connect to each other. Please refer to the Arduino sketch for proper pin configuration.
Step 5: Arduino Sketch
The Arduino sketch for this project uses a library for the servos and one for the IR receiver. The servo library is included in the Arduino IDE and I have included a zip file for the IR receiver library. The Arduino sketch is included in a second zip file. Something to note, is the the values for the stop positions of the continuous rotation servos will most definitely need to be changed. Because of the low precision of the typical resisters used to make the voltage dividers in the servos, not every one has the same stop values. For example, my servos ended up having the stop positions of 89,88,66,69. Theoretically, the stop positions should be at 90 degrees but, as previously mentioned, the typical resisters used for this project are not very precise. Also note that ANY IR remote can be used for this project. However, it is important to note that the values for the command buttons for your remote will not be the same as the ones included in this Arduino sketch. This YouTube tutorial demonstrates how to find the values for the buttons on your IR remote control.
https://www.youtube.com/watch?v=YW4pP1GoFIk
Step 6: Final Product and Assembly
Here you can see the rover functioning. The rover is initialized and begins sweeping the ultrasonic sensor. When the forward button is pressed, the rover will continued forward until it is told to stop (pressing the stop button). If a turning button is pressed, the turning servos will engage and the wheels will begin to turn the rover in the desired direction. If the rover approaches too closely to an object, the red LED will light and the piezo buzzer will sound. To deactivate the rover, simply press the deactivation button and the head unit will no longer sweep and sense for objects within its determined proximity.

Participated in the
Robotics Contest

Participated in the
Tech Contest
22 Comments
7 years ago
Hello drgrermain1,
I've looked into your program a bit and I'm planning to use your program as the foundation of my program but, I don't understand one thing in your program...
How did you make the robot to stop or reverse automatically when it senses something?
Could you perhaps send me an e-mail of the program with the parts that makes the robot automatically stop or reverse changed to a different color?
Maybe using word or a similar application.
My e-mail is haziq_najee@live.com.
Reply 4 years ago
También me interesa, el código que hace que se detecten los objetos, cuando conecto la bateria comienzan a girar las ruedas, sin hacer un barrido del sensor, y otra pregunta ¿Cuál es el botón que desconecta la función del Ultrasonido?
Me encanto este proyecto, felicitaciones.
Question 4 years ago
Can you add the camera with it, so that we can get real time photos and live tracking and also introduce the self driving mode and can be control from a long distance by coding i.e we can type the direction through coding and the rover moves in that direction.
6 years ago
what program do you use to make the sketch where all the parts are seen in the picture
7 years ago
Hey,
Can you tell the size of the 3d printer which will suffice ?
BTW, nice project!
Regards, Prabal
7 years ago
should the servo extensions be male to male/ male to female?
7 years ago
could anyone help me make this internet controlled with a wireless camera attached? Please help
7 years ago
Where can i find a DROC voltage regulator?
Reply 7 years ago
This is the exact same one I used. I purchased mine on ebay as well.
http://www.ebay.com/itm/5a-dc-dc-adjustable-step-d...
7 years ago
In case anyone wanted to know what 3D modeling software I used to create my design, it was Solidworks. I don't think I mentioned that in my instructable.
7 years ago
You are so good
7 years ago
awesome
7 years ago
Thank you.
7 years ago
Great Robot
And i wondering how it move ,i know you use differential but i'm a newbie in this area.
how you connect motor with differential system.Thank you.
7 years ago
Great design and build. I like that the LEDs are mounted in the U/S scanner module. I will use some of these ideas in my project. Thanks for sharing.
7 years ago
Great design! Really love the way this looks.
7 years ago
this is a really cool rover. next stop mars.
7 years ago
Cool project
7 years ago
You should enter this into one of the Instructables Contest like the Tech Contest and the Robotics Contest. You could push for the Patterns Contest as well.
https://www.instructables.com/contest/HobbyKing/
https://www.instructables.com/contest/robotics2015/
https://www.instructables.com/contest/patterns/
7 years ago
You should enter this into one of the Instructables Contest like the Tech Contest and the Robotics Contest. You could push for the Patterns Contest as well.
https://www.instructables.com/contest/HobbyKing/
https://www.instructables.com/contest/robotics2015/
https://www.instructables.com/contest/patterns/