Hacking a RC Car

by geekrex in Circuits > Arduino

12891 Views, 137 Favorites, 0 Comments

Hacking a RC Car

DSC_0571.JPG
DSC_0570.JPG
DSC_0569.JPG
DSC_0574.JPG

RC cars are really fun to hack and they provide good chasis for low price,to make robots but selecting one to make is a pain in the ash with millions of type. My little brother had his birthday recently and i wanted to give him something really cool ,I ended up giving him this rc car.
RC car hacking are easy and tough too, bcz of the different way rc car are made it doesn't makes easy and defined way to hack the car, but this hack is universal.
I will also try to cover basic about all the parts and theory behind each modules.we have used module but you are encouraged to make our circuit , except the pro mini.

I was really uncomfortable with promini as it was too small but it was fun.


Check out the video and make sure to subscribe for upcoming videos

Getting the Right Chassis

Zeemon-Wired-Remote-Control-Jcb-SDL214420378-2-0fb93.jpg
Capture.PNG
differential-drive.jpg
288px-Differential_drive.png
Zeemon-Wired-Remote-Control-Jcb-SDL214420378-1-9e3b9.jpg

Part List

Getting the right chassis

To choose chassis is a question about drive mechanism there are many drive mechanism.

Lets talk about the two most popular mechanism.

Differential Drive
What is Differential drive?

The term differential means difference between two entities, in the context of robotics it is just the speed difference between two motors.Based on this speed difference, a robot can be moved in any direction on a 2D layout.

When two motors are connected to wheels in one line,opposite to each other(Just like a pair of wheels connected to a single shaft) the speed with which each motor rotates determines the direction of motion. When both the wheels rotate at the same speed the difference between the motors is Zero. This makes the robot move forward in a straight line.The robot can move in reverse direction if the direction of rotation of both the motors are reversed. This will again be in a straight line if the speed difference is zero. Now changing the speed of any one motor will result in movement in a direction away from the straight line. For example, reducing the speed of the right motor will result in a speed difference and hence change in direction.The resultant force is such that the robot turns right. This direction change can be controlled to required angle by further reducing the speed of the motor.Slower is the right motor, sharper is the turn to right. This is exactly the same for Left turn. As a conclusion, Slower right motor, sharper right turn. Slower left motor Sharper left turn. Below are some scenarios which explains working of differential drive mechanism.M1 and M2 are motors which drive wheels on left and right respectively.

Steer Type Drive

What is Steer type drive ?

The car type drive is the most common in real world but not in robot world. It is characterized by a pair of driving wheels and a separate pair of steering wheels The translation and rotation are independent of each other. But translation and rotation are interlinked hence this system faces severe path planning problem
Four wheels are more efficient compared to three or two wheels. The first two of the four wheels can be used to steer and the next two to drive the robot. Balancing a four wheeled robot is never an issue. Most everyday cars we use are four wheeled and the example is enough to prove its existence and capabilities.

Disadvantages Of Car Type Drive : The turning mechanism must be accurately controlled. A slight inaccuracy may cause large odometry errors The system is Non – Holonomic hence path planning is extremely difficult as well as inaccurate There are no direct directional actuators

So its better to use differential drive due to its simplicity and easy to use.

Controlling the Motors

DSC_0592.JPG
L293D_1.jpg
IMG_20160518_164210.jpg

To control the motor we need something that something called the motor driver.

What is a Motor Driver?

A motor driver is a little current amplifier; the function of motor drivers is to take a low-current control signal and then turn it into a higher-current signal that can drive a motor.

There are many motor drivers out of which i am using l293d motor driver module.

L293D is a Motor driver integrated circuit which is used to drive DC motors rotating in either direction. It is a 16-pin IC which can control a set of two DC motors simultaneously. The L293D uses 5V for its own power and external power source is needed to drive the motors, which can be up to 36V and draw up to 600mA.The L293D works on the concept of typical H-bridge, a circuit which allows the high voltage to be flown in either direction. In a single L293D IC there are two H-bridge circuits which can rotate two DC motors independently.

Pin description of L293d

1
Enable pin for Motor 1; active high Enable 1,2 2 Input 1 for Motor 1 Input 1 3 Output 1 for Motor 1 Output 1 4 Ground (0V) Ground 5 Ground (0V) Ground 6 Output 2 for Motor 1 Output 2 7 Input 2 for Motor 1 Input 2 8 Supply voltage for Motors; 9-12V (up to 36V) Vcc 2 9 Enable pin for Motor 2; active high Enable 3,4 10 Input 1 for Motor 1 Input 3 11 Output 1 for Motor 1 Output 3 12 Ground (0V) Ground 13 Ground (0V) Ground 14 Output 2 for Motor 1 Output 4 15 Input2 for Motor 1 Input 4 16 Supply voltage; 5V (up to 36V) Vcc 1

Pin No

Function

Name

1

Enable pin for Motor 1; active high

Enable 1,2

2

Input 1 for Motor 1

Input 1

3

Output 1 for Motor 1

Output 1

4

Ground (0V)

Ground

5

Ground (0V)

Ground

6

Output 2 for Motor 1

Output 2

7

Input 2 for Motor 1

Input 2

8

Supply voltage for Motors; 9-12V (up to 36V)

Vcc 2

9

Enable pin for Motor 2; active high

Enable 3,4

10

Input 1 for Motor 1

Input 3

11

Output 1 for Motor 1

Output 3

12

Ground (0V)

Ground

13

Ground (0V)

Ground

14

Output 2 for Motor 1

Output 4

15

Input2 for Motor 1

Input 4

16

Supply voltage; 5V (up to 36V)

Vcc 1

About the App

Screenshot_2016-06-06-21-43-15.png
Screenshot_2016-06-06-21-46-22.png
Screenshot_2016-06-06-21-42-35.png

There are many apps to control i made with one .
The logic is very simple all the button sends a character when pressed through Bluetooth and the arduino processes it

CharacterFucntions
X Null state
FForward Motion
BBackward Motion
LTurn Left
RTurn Right

Connection All the Part

F4V28OZIHGJXBUM.MEDIUM (1).jpg
download (2).jpg
IMG_2965.JPG
IMG_2966.JPG
IMG_2964.JPG

Connections are simple

here are the connection as follows

The Bluetooth Module

Hc-05Arduino
Vcc5v
GndGnd
RxTx
TxRx

The Motor Driver

Motor DriverArduino
pin 28
pin 77
pin 106
pin 49
pin 3 and 6Motor 1
pin 11 and pin 14Motor 2
pin 15v
pin 95v

Coding

Fullscreen capture 06-Jun-16 103328 PM.bmp
Fullscreen capture 06-Jun-16 103353 PM.bmp
Fullscreen capture 06-Jun-16 103351 PM.bmp
void setup() {
  Serial.begin(9600);
  pinMode(8, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(6, OUTPUT);
    pinMode(5, OUTPUT);
    pinMode(4, OUTPUT);
    digitalWrite(4,LOW);

    digitalWrite(5,LOW);

}

// the loop function runs over and over again forever
void loop() {
  var=Serial.read();
  if(var=='F')
  {
  digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
  

  } if(var=='H')
  {    digitalWrite(frled1,HIGH);
  }
  if(var=='B')
  {    
    analogWrite(speeden,150);

   digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
    digitalWrite(bcled1,HIGH);

  }
  if(var=='X')
  {digitalWrite(9,LOW);
  digitalWrite(8,LOW);
  digitalWrite(7,LOW);
  digitalWrite(6,LOW);
      digitalWrite(frled1,LOW);
      digitalWrite(bcled1,LOW
      
      );

  }
  if(var=='L')
  {digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
  }
  if(var=='R')
  {digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);;
  }
}

i hope you enjoy making the project as i have done i am posting some more cool projects soon so do follow me to get all updates Also like my page https://www.facebook.com/makewithRex/

Downloads