How to make a long range Android controlled car using Arduino?

 

Are you are a Robotics Lover?

 

Robotics is an interdisciplinary sector of science and engineering dedicated to the design, construction and use of mechanical robots. Our guide will give you a concrete grasp of robotics, including different types of robots and how they're being applied across industries.

 

What is a Robot?

 

A robot is the product of the robotics field, where programmable machines are built that can assist humans or mimic human actions. Robots were originally built to handle monotonous tasks (like building cars on an assembly line), but have since expanded well beyond their initial uses to perform tasks like fighting fires, cleaning homes and assisting with incredibly intricate surgeries. Each robot has a differing level of autonomy, ranging from human-controlled bots that carry out tasks that a human has full control over to fully-autonomous bots that perform tasks without any external influences. 

 

 


What is Android Mobile Controlled Robot?

This Arduino Uno based robot can be controlled via Android Mobile Application. This Project Application is designed by MOHD SOHAIL owner of this Blog page " Electronics is Fun ".

First Install the Android Application which is to be downloaded from the link below and then connect the Bluetooth Module with the application, then drive the RC car with the help of Mobile Application.

Parts List:-

1. Arduino Uno: https://amzn.to/3mmP143

2. L293D Motor driver : https://amzn.to/3uCpffT

3DC motor (4 pieces) : https://amzn.to/3ivUtQU

4. Robot Chassis : https://amzn.to/3Bf3tkI

5. 18650 battery: https://amzn.to/3mqkAcX

6. Bluetooth Module :  https://amzn.to/2UExSFZ

7. Android Device


Here is the Full video, if you got stuck in any process.

 


 


Circuit Diagram:-

 


 

Arduino Code:-

 

// https://www.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g  //
// Android SmartPhone Controlled Robot RC Car //
// By MOHD SOHAIL //


#include <AFMotor.h>

AF_DCMotor motor1(1, MOTOR12_1KHZ);
AF_DCMotor motor2(2, MOTOR12_1KHZ);
AF_DCMotor motor3(3, MOTOR34_1KHZ);
AF_DCMotor motor4(4, MOTOR34_1KHZ);

int whiteled = A5;
int redled = A4;

char command;

void setup()
{       
Serial.begin(9600);
pinMode(whiteled, OUTPUT);
pinMode(redled, OUTPUT);
}

void loop(){

if(Serial.available() > 0){
command = Serial.read();
Stop();

   switch(command){
   case 'F': 
   forward();
   break;
   case 'B': 
   back();
   break;
   case 'L': 
   left();
   break;
   case 'R':
   right();
   break;
   case 'S':
   Stop();
   break;
   case 'a':
   on();
   break;
   case 'b':
   off();
   break;
    }
     }
      }

 void forward()
 {
 motor1.setSpeed(150); //Define maximum velocity
 motor1.run(FORWARD); //rotate the motor clockwise
 motor2.setSpeed(150); //Define maximum velocity
 motor2.run(FORWARD); //rotate the motor clockwise
 motor3.setSpeed(150);//Define maximum velocity
 motor3.run(FORWARD); //rotate the motor clockwise
 motor4.setSpeed(150);//Define maximum velocity
 motor4.run(FORWARD);
 digitalWrite(redled , LOW);//rotate the motor clockwise
  }

 void back()
  {
 motor1.setSpeed(150); //Define maximum velocity
 motor1.run(BACKWARD); //rotate the motor anti-clockwise
 motor2.setSpeed(150); //Define maximum velocity
 motor2.run(BACKWARD); //rotate the motor anti-clockwise
 motor3.setSpeed(150); //Define maximum velocity
 motor3.run(BACKWARD); //rotate the motor anti-clockwise
 motor4.setSpeed(150); //Define maximum velocity
 motor4.run(BACKWARD); //rotate the motor anti-clockwise
 digitalWrite(redled , HIGH);
  }

 void left()
  {
 motor1.setSpeed(150); //Define maximum velocity
 motor1.run(BACKWARD); //rotate the motor anti-clockwise
 motor2.setSpeed(150); //Define maximum velocity
 motor2.run(BACKWARD); //rotate the motor anti-clockwise
 motor3.setSpeed(150); //Define maximum velocity
 motor3.run(FORWARD);  //rotate the motor clockwise
 motor4.setSpeed(150); //Define maximum velocity
 motor4.run(FORWARD);  //rotate the motor clockwise
 digitalWrite(redled , LOW);
   }

 void right()
   {
 motor1.setSpeed(150); //Define maximum velocity
 motor1.run(FORWARD); //rotate the motor clockwise
 motor2.setSpeed(150); //Define maximum velocity
 motor2.run(FORWARD); //rotate the motor clockwise
 motor3.setSpeed(150); //Define maximum velocity
 motor3.run(BACKWARD); //rotate the motor anti-clockwise
 motor4.setSpeed(150); //Define maximum velocity
 motor4.run(BACKWARD); //rotate the motor anti-clockwisee
 digitalWrite(redled , LOW);
   }

 void Stop()
   {
 motor1.setSpeed(0); //Define minimum velocity
 motor1.run(RELEASE); //stop the motor when release the button
 motor2.setSpeed(0); //Define minimum velocity
 motor2.run(RELEASE); //rotate the motor clockwise
 motor3.setSpeed(0); //Define minimum velocity
 motor3.run(RELEASE); //stop the motor when release the button
 motor4.setSpeed(0); //Define minimum velocity
 motor4.run(RELEASE); //stop the motor when release the button
 digitalWrite(redled , LOW);
   }

 void on()
  {
 digitalWrite(whiteled , HIGH);
  }

 void off()
  {
 digitalWrite(whiteled , LOW);
  }

Android Application Link :-



 

If you have any query regarding this project, Contact me from below :

Telegram +919557024177
Instagram id : eif.08
Facebook page  : EIF08
 

Post a Comment

0 Comments