3d Printed RC Controlled Tank!!
Introduction: 3d Printed RC Controlled Tank!!
Have you ever wanted to have a remotely controlled vehicle that can go off road and you can even see from a first person view camera, then this tank is awesome for you. The tracks on the tank allow for great grip when driving on terrains like dirt and trimmed grass. The tank works extremely well on carpet and hardwood floors, making it perfect for indoor use on rainy days. The tank is driven by 2 motors. You control it from a remote control. It also has a mount on top that allows for cool modifications like FPV cameras and even a robot arm if you choose to design it yourself!
Step 1: Electronics Needed
To build the tank you have to have a couple of electronics. Obviously you need 2 motors. Each motor powers its own track. The tank and remote both are powered by the Adafruit Feather M0 Radio. 120
Below I have listed links to all of the parts you will need:
Key Components:
The following components are required for the tank to function:
* 2x Motors
* 3 AA Batteries
* 3 AA battery holder
* Motor Driver
* Adafruit perma-proto
* PCB Boards
* Screws
* LED Set #1 + #2
* 2x Joy Sticks
* 3x Switches
* Lcd - comes in pack of 2(make sure to get the I2C model)
* 2x Adafruit Feather Radio Boards
* 2x Lithium Ion Batteries
Other sensors:
These components are not required but can be fun additional add ons
* Ultrasonic Sensor
* Color Sensor
Step 2: Wiring the Tank
Below I have left each section an told you where there wires go:
I simply just solder wire between each connection. You can use this diagram to help you however you want.
Motor Driver:
*The motor driver goes on its own PCB board.*
PWMA = 19
AIN2 = 13
AIN1 = 16
BIN1 = 17
BIN2 = 18
PWMB = 6
STBY = 15
The left motor is "MOTORA" and the right motor is obviously "MOTORB"
Feather Board:
Make sure the you are using the appropriately sized board to host the feather(4cm*6cm). Also you need to have the feather lined up correctly so that the micro usb spot and its corresponding hole(in the main printed piece) line up. The left set of pins must be two spaces from the side and the right pins must be 3 spaces from the sides. Also the board should be as far up as it can go. Female pins are soldered to the board an then male pins attach to the female pins.
Step 3: Wiring the Remote
The remote is a little more complicated but I will do the same format:
*note that when soldering the feather for the remote to the board make sure there are 2 open slots to the left on the perma-proto and one to the right. This ensures that the usb port will align with the holes. Also it is as far up as can go and the male pins are soldered to the board directly.
Also I just solder wire between the two points. And use the board only for circuits.
Left Joystick:
Ground: ground
5V: 3V3
VRX: A1
VRY: A0
Switch: none
Left Switch:
No use... yet :)
Middle switch:
Outer pin(Any): Ground
Inner Pin: Enable pin
Right Switch:
*Used as a brake system
Outer pin(Any): Positive
Inner pin: 19
Right Joystick:
Ground: ground
5V: 3V3
VRX: A3
VRY: A2
Switch: none
RGB Light:
Red Pin: 12
Green pin: 11
Blue pin: 10
Power pin: 3V3
LCD Display:
Ground: Ground
VCC: 3V3
SDA: SDA
SCL:SCL
Green Light:
Power(Longer pin): 13
Ground(Shorter pin): Ground
Buzzer:
For the buzzer I used a transistor to make it louder so basically it is powered by the main power but triggered by the Feather pin.
Transistor(Chamfers forward):
Left pin: Goes to positive buzzer pin
Middle: signal, pin 6
Right: 3V3
Buzzer:
Non positive pin(AKA ground): Ground
That concludes all of the painful wiring :)
Step 4: Uploading the Code and First Test
I am going to be using Visual Studio Code and PlatformIO to upload the code. 611