Autonomous Design Project
During COVID I bought an Arduino kit that came with motors, sensors, and many common circuitry components. Over time, I built many small projects with different components for example alarm systems, joystick controlled fans and more. Eventually I wanted to do a project that combined a lot of these subsystems into one larger device. I chose to do an autonomous tank because RC cars are a great mechanical project but very common, so I thought I could mix it up by having a more rugged vehicle that doesn't need any user control.
Main Components
- Tank Chassis and Tracks
- Arduino Redboard - Receives input from sensors and sends signal to motor driver
- Ultrasonic Sensor - Used to measure proximity to surrounding objects
- Servo Motor - Changes the direction that the ultrasonic sensor faces
- 5200 mAh 11.1V LIPO Battery - Supplies power to the motors
- 12V DC Motors - Rotates the tank drive sprocket
- Photoresistor - Detects the amount of light in the surroundings
Auxiliary Components
- Quad-Motor Driver Shield - Receives power from battery and input from Arduino. Supplies motors with the necessary power and signal
- LEDs - Headlights
- Buzzers - Noise Emitter
- Switch - Turns the tank on/off
How Does It Work
When the battery is connected and the switch is turned on, the tank drives forward at a max speed of 5 km/hr. During this time the ultrasonic sensor is continuously reading the proximity of the surface directly in front of the tank. When the object gets within 20cm the tank stops. The servo motor attached to the ultrasonic sensor rotates all the way counterclockwise and then clockwise. The ultrasonic sensor gathers data within the 360-degree view and the Arduino determines the direction with the maximum available space to drive. The tank can then turn on the spot to face that direction and continue driving forward. This is then repeated continuously such that the tank can drive on its own for an extended period of time. The Arduino IDE was used to program the microcontroller to take both serial and analog inputs, and control the motors based on the inputs.
Features
- Automatic Headlights - Using photoresistor and LEDs
- Turning on the spot - Achieved by rotating one motor forwards and the other backwards
- Reversing and Power Up Noises - Using Buzzer
- 3-hour battery life
Takeaways
Working with Arduino really opened me up to prototyping and hardware design. I had to learn the basics of electrical and circuit design not to mention the inner workings of all the components in these projects. I also improved my programming skills by creating simple firmware which was new to me. The tank doesn't have a clear function at the moment, so to improve this project I would like to add a camera to incorporate some vision as well as attaching an arm to pick up and transport objects. The wiring can quickly get out of hand once you use so many peripheral devices, so I also want to learn more about PCB design to make my hardware more professional. I will get this opportunity when working on my fourth year design project.