Remote Controlled Rover
by Anantgnx in Workshop > Laser Cutting
2122 Views, 15 Favorites, 0 Comments
Remote Controlled Rover
With the spread of highly contagious viruses such as COVID and the ever-growing need for convenience and improvements in quality of life, I decided to create a Remotely controlled Rover which could be controlled remotely from your couch and could open and close its lid without you even touching. Its movement can be controlled via a preexisting Bluetooth application whose inputs are received by a HC05 Bluetooth Module inside the rover. The box also has an ultrasonic sensor peeking out which will signal the Servo to rotate, lifting the lid if any object comes closer than 3cm to it. I created this project as my SIDE project in Ms. Berbawy's Principles of Engineering class.
Supplies
- Materials
- 1/8" Birch Plywood
- Wood Glue
- Wire/Thread
- Metal Caster Wheels
- Wheels
- Electronics
- Jumper Wires (F/M, F/F) - 15
- Arduino Uno
- HC05 Bluetooth Module
- HC-SR04 Ultrasonic Sensor
- Micro Servo
- L239D Based Motor Driver
- Gearbox Motors - 2
- Tools
- Hot Glue Gun
- Laptop
- Laser Cutter
- Clamps
- Wire Cutters
Designing the Rover on Fusion 360
Before I started building the box or the circuit, I worked on creating a design which would lay out what the rover will look like and contain the dimensions as well. I first created a 20cm * 20cm * 30cm box and cut fingers around the edges so that the panes can be laser cut and joined together. Afterwards, I added two 15 mm diameter holes in the front of the box for the ultrasonic sensor to peek through, 8mm diameter holes on the sides for the Gearbox Motor axles to go through and a 1mm hole in the lid for the lid lifting wire. Then, I installed the STL files of the Gearbox Motors, Wheels, Arduino, Breadboard and Ultrasonic Sensor from GrabCAD and then attached them in their positions to determine where they will fit properly and to make sure that the holes are dimensioned correctly.
*I would like to thank Meng Rithy and SOLIDWORKS for developing amazing CAD models for these electronic components and making them available on GrabCAD.
Designing the Circuit on Tinker CAD
Before laser cutting and attaching all my electronic components to the box, I designed my circuit on TinkerCAD to understand its power usage and to use it as a planned layout to follow while making my physical circuit. It also helped me in coding the Arduino.
My circuit consisted of an Arduino connected to a breadboard. This breadboard then was connected to all other electronic components including:
- An Ultrasonic Sensor with the trig pin connected to Dig pin 12 and Echo pin connected to Dig pin 13
- A Micro Servo with the Signal pin connected to Dig pin 8 on the Arduino
- An L293D motor driver with Input pins 1, 2, 3 and 4 connected to Dig pins 5, 6, 3 and 2 respectively
- Two Motors with positive and negative pins of both connected to the Output pins of the Motor Driver
- The VCC and GND pins of all components connected to the 5V and GND pin respectively
*Tinker CAD did not have a HC05 Bluetooth module available so I used a WIFI module instead as a placeholder whose RX and TX pins were connected to Dig pins 0 and 1 respectively.
Developing Code for the Circuit
I divided my code into two parts, one for the lid's opening mechanism and the other to control the box's movement remotely:
Lid Opening Mechanism
The lid opening mechanism of the rover involves a Servo, a wire, and an Ultrasonic sensor. I first defined the Digital pins which correspond to the signal pin of the Servo and the trig and echo pins of the Ultrasonic Sensor. I created a variable 'i' which represents the distance between the Ultrasonic Sensor and the closest object in front of it. then I wrote an if/then statement where if i<3, the servo rotates at 90 degrees, opening the lid and if i>=3, the servo goes to its starting position, closing the lid.
Movement of The Box
The movement of the box involves the Bluetooth Module, Motor Driver and 2 Gearbox Motors. Just as in the box opening mechanism, I first defined the Digital pins which correspond to the RX/TX ports of the Bluetooth module and Positive/Negative terminals of my Gearbox motors. I created a variable BT_input, which represented the input coming from the Bluetooth module, which can be an integer between 1 and 5 depending on the input it receives from my application. I used this variable to write if/then statements so that the Motors respond depending on the input given.
Laser Cutting and Building the Box
Before cutting the panes for the box on a laser cutter, I prepared the Adobe Illustrator files of the panes of my box. I did this by downloading the sketches of all the panels from fusion 360 as .dxf files and then imported them into illustrator. I made sure that the files were scaled by mm and not inches which is the default option. This Illustrator file was then further exported to the laser cutting software which was used to cut the panels.
After laser cutting the panels, I worked on attaching them together to create the box. I applied wood glue to the panel's fingers using a Q tip and then clamped them together. I first joined the bottom and the side panels and made sure to use right triangular weights to ensure that the panels are perpendicularly joined. Then, I joined the back, front and bottom panel in the same way. I decided to attach the lid after assembling electronics as that would create more maneuvering space and make the process of attaching electronics easier.
Assembling Electronic Components in the Box
After joining the panels together, I started attaching all electronic components inside the box. Firstly, I attached the Arduino connected to a Motor Driver and a Battery Pack to the bottom of the box. Unlike my circuit simulation on TinkerCAD, I did not attach a breadboard. Instead I used Male to Female jumper wires to connect the Motor Driver to the rest of the components. Afterward, I attached the Gear Motors to the side panels, connected them to the Motor Driver and attached two wheels to the axles coming out of the Gearbox Motors. I also attached an ultrasonic sensor to the front and a HC05 Bluetooth Module to the back and connected them to the Motor Driver. I also attached a Metal Caster Wheel to the bottom of the box and attached the lid to the box with two hinges. Finally, I attached a Micro Servo near the hinge connecting the lid and the box.
Creating the Lid Lifting Mechanism
Finally, I finished the Lid Lifting Mechanism of the rover. I attached one end of a wire to the Micro Servo Horn, put it through the hole in the lid, and attached the other end under the lid. Now, if anything comes within 3 cm of the ultrasonic sensor it will trigger the Servo Horn which will start rotating, pulling on the wire which lifts the lid up.
Protecting Electronic Components
In order to ensure that incoming trash doesn't damage the electronic components inside the box, I created a platform above the components. I also had to ensure that the platform could open so that I can replace batteries and change connections if I need to. To create this, I cut an 18cm by 18cm chipboard and attached it to the back wall with a hinge just above all my electronic components. I then attached a small wooden piece to the front panel for the platform to rest on. Lastly, I attached a thumbtack to the lid to act as a handle.
Finished Smart Rover
The Smart rover can now be controlled by the Arduino and the lid lifting mechanism is complete. Thank you so much for taking the time to read through my Instructable!
Working Video
This is a video of my project being controlled by its app and its lid opening and closing when it detects motion.