Hi guys! So for my electronics class this year we were tasked with creating some kind of electronic gadget in order to demonstrate what we learned over the semester. Being a car-loving type of guy, I decided to get a cheap RC car and see in what ways I could hack it using an Arduino Leonardo I had leftover from lab. Having an infrared proximity sensor handy, I thought It would be nice to use the sensor to brake the car whenever It got too close to crashing into a wall. I’ll try to be as clear as possible in case you guys want to build something similar or in case it’ll help with one of your projects.
Step 2: The RC Car
First off, I needed to get an inexpensive RC car I could hack. I didn’t want to get an expensive RC car in case I ended up ruining it over the course of my project so I ended up get this ~$20 car off of Amazon. Overall, there were no big surprises with this little car. The car required 4 AA batteries while the remote control it came with required a 9v battery, sadly the batteries were not included. Anyways, the next step was to open up the car and see what I was dealing with.
Step 3: Opening it Up
The car opened up without too much trouble, it just had a couple of screws on the bottom. Not knowing what to really to expect, I was kind of surprised to see how straightforward a setup the car actually employed. Essentially there are three main parts; the circuit board, the rear wheel drive DC motor, and the DC motor used for turning. I’ll discuss these in more detail in the next step.
The Remote Control:
I also opened up the remote control in order to see what type of input the car would be expecting. It also had a relatively simple set up, each control was basically dependent on two switches. For example, in order to control direction you’d press the switch corresponding to desired direction.
Since the car did not have variable speed or direction, I concluded that the car most likely dealt with digital logic. In other words, I was expecting to see the voltages used to either go HIGH or LOW.
Step 4: Analyzing the Insides
Once I got the car opened I tried to work out how the DC motors were being controlled. I decided to look up the chip placed in the middle of the circuit board to see exactly what it did. I discovered that it’s a receiver chip with four pins used to control both direction and speed. Flipping the circuit board over, I saw the pair of H-Bridges used to drive the DC Motors.They basically provide enough current to make sure the motors run. I’ll talk about H-Bridges a bit more later.
Looking at the circuit board closely, I saw that it had a power and ground connection going to the battery pack. The other connections went to the motors. Each motor was connected to the circuit board by two wires (one black, one red) and each wire was labeled depending on its function. For example one of the wires was labeled MF for Move-Forward (by my best guess).
The Overall Setup:
My best guess for how the car runs is that it essentially uses the receiver to process signals from the remote control. The receiver then sends a pair of HIGH or LOW signals to each DC motor.
[box color=”#985D00″ bg=”#FFF8CB” font=”verdana” fontsize=”14 ” radius=”20 ” border=”#985D12″ float=”right” head=”Major Components in Project” headbg=”#FFEB70″ headcolor=”#985D00″]
What You’ll Need
Here’s a list of what I ended up using for this project.
• Arduino Leonardo (or equivalent) with mini-USB cable
• Computer with proper Arduino programs installed
• Remote Controlled Car
• Sharp Distance Sensor 2D120X (Infrared Proximity Sensor)
• SN754410 H-Bridge
• Heat Sink for the SN754410 H-Bridge
• Oscilloscope (plus Voltage Probe) or Multimeter
• Breadboard (for prototyping)
• Philips Screwdriver
• Wire Cutters
• Wire Strippers
• Electrical Wire
• Perfboard (for the final circuit)
• Solder and Solder Gun
• Hot glue gun
• 2x 9v Batteries (one for the Arduino and one for the Remote Control)
• 4x AA Batteries (for the car)
• Helping-Hand tool (optional)
• Alligator Clips (optional)
• Zipties (optional)
For more detail: RC Car Anti-Crash System Using Arduino