fbpx

Wireless Controlled Robot

Robot actions controlled  using smartphone via Bluetooth, android phone is used as transmitting device and Bluetooth module placed in robot is used as receiver. 

Block Diagram

Wireless Controlled Robot Working

The Robot  can be controlled through wireless using smart phone app.For that we need to install Bluetooth RC Controller app in android phone,turn ON Bluetooth in your phone and pair it with Bluetooth module which is placed in Robot.Later open  Bluetooth RC app and go to setting,enable connect to the car option,now your smart phone is ready to transmit command  to robot so that it can move in the required direction like  forward, reverse, left, right and stop.

Required Components

  1. Bread Board.
  2. Connecting wires.
  3. Castor wheel.
  4. Robot Wheel.
  5. Robot Chassis.
  6. Motor Driver l293d.
  7. DC Geared or BO motor
  8. Arduino
  9. Battery
  10. LM7805
  11. Switch
  12. Capacitors 470uf & 100uf
  13. Smart phone
  14. Bluetooth-hc05

LOGIC TABLE

Pin Mapping:

Between Arduino and L293D

Between Motor and L293D

Between Arduino And HC05 Bluetooth

Circuit Diagram

Software Requirements

  1. Arduino ID.
  2. RC Bluetooth Controller app

Flow Chart

Program

#define RIGHT_MOTOR_ONE 4
#define RIGHT_MOTOR_TWO 5
#define LEFT_MOTOR_ONE 6
#define LEFT_MOTOR_TWO 7

char Received_Data;

void setup() {
/* Motor pin configuration */
pinMode(RIGHT_MOTOR_ONE, OUTPUT);
pinMode(RIGHT_MOTOR_TWO, OUTPUT);
pinMode(LEFT_MOTOR_ONE, OUTPUT);
pinMode(LEFT_MOTOR_TWO, OUTPUT);

}

void loop()
{
if (Serial.available())
{
Received_Data = Serial.read();
/* IF RECEIVED DATA IS "S" STOP THE ROBOT*/
if (Received_Data == 'S')
{
STOP_ROBOT();
}
/* IF RECEIVED DATA IS "L" MOVE ROBOT TO LEFT */
else if (Received_Data == 'L')
{
MOVE_ROBOT_LEFT();
}
/* IF RECEIVED DATA IS "R" MOVE ROBOT TO RIGHT */
else if (Received_Data == 'R')
{
MOVE_ROBOT_RIGHT();
}
/* IF RECEIVED DATA IS "F" MOVE ROBOT FORWARD */
else if (Received_Data == 'F')
{
MOVE_ROBOT_FORWARD();
}
/* IF RECEIVED DATA IS "B" MOVE ROBOT FORWARD */
else if (Received_Data == 'B')
{
MOVE_ROBOT_REVERSE();
}
}
}

/* MOVE ROBOT FORWARD */
void MOVE_ROBOT_FORWARD()
{
digitalWrite(RIGHT_MOTOR_ONE, HIGH);
digitalWrite(RIGHT_MOTOR_TWO, LOW);
digitalWrite(LEFT_MOTOR_ONE, HIGH);
digitalWrite(LEFT_MOTOR_TWO, LOW);
}

/* MOVE ROBOT REVERSE */
void MOVE_ROBOT_REVERSE()
{
digitalWrite(RIGHT_MOTOR_ONE, LOW);
digitalWrite(RIGHT_MOTOR_TWO, HIGH);
digitalWrite(LEFT_MOTOR_ONE, LOW);
digitalWrite(LEFT_MOTOR_TWO, HIGH);
}

/* MOVE ROBOT LEFT */
void MOVE_ROBOT_LEFT()
{
digitalWrite(RIGHT_MOTOR_ONE, HIGH);
digitalWrite(RIGHT_MOTOR_TWO, LOW);
digitalWrite(LEFT_MOTOR_ONE, LOW);
digitalWrite(LEFT_MOTOR_TWO, HIGH);
}

/* MOVE ROBOT RIGHT */
void MOVE_ROBOT_RIGHT()
{
digitalWrite(RIGHT_MOTOR_ONE, LOW);
digitalWrite(RIGHT_MOTOR_TWO, HIGH);
digitalWrite(LEFT_MOTOR_ONE, HIGH);
digitalWrite(LEFT_MOTOR_TWO, LOW);
}

/* STOP ROBOT */
void STOP_ROBOT()
{
digitalWrite(RIGHT_MOTOR_ONE, LOW);
digitalWrite(RIGHT_MOTOR_TWO, LOW);
digitalWrite(LEFT_MOTOR_ONE, LOW);
digitalWrite(LEFT_MOTOR_TWO, LOW);
} 

Leave a Reply

Your email address will not be published. Required fields are marked *