RC Car using Arduino UNO, ESP8266 and Blynk App

Description:

It is just a simple RC Car with Motors and Control Board which will be controlled and moved by an Application known as Blynk through WiFi.

Circuit Diagram:

RC Car using Arduino UNO, ESP8266 and Blynk App
Circuit Diagram: RC Car using Arduino UNO, ESP8266 and Blynk App

Components:

SR. NO.COMPONENTPINOUT DIAGRAMBUY
1Arduino UNO (Other Arduinos can be used too)Arduino UNO Pinout Diagram⇗
2ESP8266 Wifi Module
3L293D Motor Driver Module
42 x Geared DC Motor (BO Type)
59V Battery or Any battery ranging from 7V to 12V
62 x Big Wheels
71 x Slightly Small Wheel
8Car Chassis
9Blynk App

Steps and Info:

Program Code:

#define BLYNK_PRINT Serial    
#include <ESP8266_SoftSer.h>
#include <BlynkSimpleShieldEsp8266_SoftSer.h>
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3);
ESP8266 wifi(EspSerial);

char auth[] = "auth key"; //Get from blynk
#define m4 4
#define m5 5
#define m6 6
#define m7 7
void forward()
{
  digitalWrite(m4, HIGH);
  digitalWrite(m5,LOW);
  digitalWrite(m6,HIGH);
  digitalWrite(m7,LOW);
}
void backward()
{
  digitalWrite(m4, LOW);
  digitalWrite(m5,HIGH);
  digitalWrite(m6,LOW);
  digitalWrite(m7,HIGH);
}
void right()
{
  digitalWrite(m4, HIGH);
  digitalWrite(m5,LOW);
  digitalWrite(m6,LOW);
  digitalWrite(m7,LOW);
}
void left()
{
  digitalWrite(m4, LOW);
  digitalWrite(m5,LOW);
  digitalWrite(m6,HIGH);
  digitalWrite(m7,LOW);
}
void Stop()
{
  digitalWrite(m4, LOW);
  digitalWrite(m5,LOW);
  digitalWrite(m6,LOW);
  digitalWrite(m7,LOW);
}
void setup()
{
  // Keep console baud rate 9600
  Serial.begin(9600);
  delay(10);
 // Keep ESP8266 baud rate 9600  
  EspSerial.begin(9600); 
  delay(10);
  Blynk.begin(auth, wifi, "username", "password");   // Add wifi username and password, if no password then keep blank
  pinMode(m4, OUTPUT);
  pinMode(m5, OUTPUT);
  pinMode(m6, OUTPUT);
  pinMode(m7, OUTPUT);
}
BLYNK_WRITE(V1) 
{
  int x = param[0].asInt();
  int y = param[1].asInt();

/*  Serial.print("X = ");
  Serial.print(x);
  Serial.print("; Y = ");
  Serial.println(y);*/
  if(y>220)
  forward();
  else if(y<35)
  backward();
  else if(x>220)
  right();
  else if(x<35)
  left();

Downloadable Links:

More: