Joystick Controlled RC Car With Arduino

by fiona_lin in Circuits > Arduino

689 Views, 0 Favorites, 0 Comments

Joystick Controlled RC Car With Arduino

IMG_20210512_173849.jpg
RC car goes vroom vroom

Hello! This instructable is a write-up for my final project in 2.351 Introduction to Making Class. Here, I will show you the process of me making my RC car. This car was originally named "The Annoy-inator" as I wanted to implement a speaker and bright lights to "annoy" my friends living down the hall. However, I ran into some unexpected complications and was not able to implement those features in time. So for now, this is just a regular RC car. It has all the functionalities of an RC car, it can move backward and forwards, turn, do some sick donuts, it's rechargeable, and obviously be remote-controlled. Hopefully, I can implement the audio and visual features at a later time :)

Supplies

For the car:
  • Smart car-kit: Comes with 4 motors, 4 wheels, and body of car
  • Arduino Uno
  • Arduino Uno expansion board
  • 12V to 5V Buck converter
  • RF receiver X2 (I used HTOX 422MHz Radio Telemetry sets that friend found in the dumpster, arbitrary choice and probably overkill)
  • Rover 5 Motor Driver Board (also dumpster find, also overkill)
  • 12V Battery pack and connecting wires

For the controller:

  • X Y axis joystick
  • Breadboard
  • Arduino Nano
  • AA battery X4 and battery holder

  • Solder and soldering iron
  • Jumper wires
  • Screwdriver
  • Computer (for programming)
  • Zip ties
  • Screws and nuts

For future features:

  • 4 Ohm speakers
  • Audio amplifiers
  • LEDs

Step 1: Assemble the Car and Connect Motors to Motor Board

IMG_20210406_130958.jpg

Assemble the smart car chassis according to instructions.

Connect the motors to the correct channels on the motor board. On my particular board, the capacitors were too old and exploded when we try to apply power, so we had to replace the capacitors.

Step 2: Let's Talk Power Supply

IMG_20210512_173921.jpg
IMG_20210512_181547.jpg
IMG_20210512_173932.jpg

One of the first problems on this project was the power supply. I wanted to give the motors 12V so they can run to the maximum speed allowed, but using AA batteries was not enough. I also wanted it to be rechargeable. So I got this rechargeable 12V battery, which took several days of careful soldering.

After getting the 12V battery supply, another issue comes in the current. If I attach the Arduino (along with other features like the speaker) to the same current as the motor, when the motor runs my other components might get a drop in current, which could damage the parts or give a subpar performance. So I used a 12V to 5V buck converter, and used an expansion board to create a "general 5V supply" for everything else, and branched off 12V for the motor board.

Step 3: Set Up the Arduino Uno for the Car

IMG_20210512_182028.jpg

Here I connected all the direction and PWM channels on the motor board to the Arduino, which is powered with the buck converter. See the code for the relevant pins. This Arduino is also connected to an RF unit for communication with remote control.

Downloads

Step 4: Making the Remote

IMG_20210512_173908.jpg
IMG_20210512_173914.jpg

The remote is basically an Arduino Nano connected to a joystick and the RF unit on a breadboard. The remote control unit is powered by 4 AA batteries, and you can also see the code for more details on how it works.

Downloads

Step 5: Putting Everything Together

IMG_20210512_173902.jpg

When everything is put together, we get a working RC car! I expect to make some adjustments later, so the components are just zip-tied together. We also had to make some adjustments to the speed and direction, but everything was in the code.

Takeaways and What I've Learned

I've learned more than I expected from this project. It took longer than I expected too but is those unexpected obstacles that I learned so much from. I learned some more tricks on C++, how to quickly react to electric malfunction (there were several), how to configure radio units and that frequency matters, how to solder on weird places, and how to troubleshoot everything from a hot battery to a smoking wire. I also had the help of my wonderful friends Michael and Praj who lent me their experience and expertise in making janky projects. I look forward to using the skills and mindsets I learned from this project in future projects.