Project tutorial
Arduino Bluetooth RC Car

Arduino Bluetooth RC Car © CC BY-NC-SA

This is our new Bluetooth RC car - based on our favorite Arduino Uno!

  • 1,993 views
  • 0 comments
  • 12 respects

Components and supplies

Necessary tools and machines

Apps and online services

About this project

This is our new Bluetooth RC car - based on our favorite Arduino UNO! In this project as you can see we used a custom-made PCB board and the ATmega328P microcontroller. The board is specially design for this project and for small RC models. You can simple control it from your Android phone or tablet via Bluetooth. From the Android application you can also turn on/off the front and rear lights and play a horn sound! For our RC model we used only 3x1.5V AA batteries!

Project updates and more Arduino projects can be found here:

http://www.ardumotive.com/arduino-bluetooth-rc-car...

Here is a video from our RC car with assembly/soldering instructions!

Circuit Schematic files:

Android Application

To control your new Bluetooth car, download and install this Android application:

https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller

Credits for the Android app goes to Andi.Co! Thank you for sharing!

First enable Bluetooth and establish connection with BT module (pair it with your phone from bluetooth settings).

(ex. HC-06, password 1234)

Note: From the settings menu select the "On change/touch" option and then press the save button.

Functions that are working with this project:

  • 8 direction buttons
  • Speaker button for horn sound
  • Front lights button
  • Rear lights button

Well Done!

That's it!I hope you liked this, let me know in the comments!

Code

Arduino Bluetooth Car C/C++
Connect your circuit with the TTL to USB module with 5 cables to the programming header or insert the atmega328 IC to your Arduino UNO board and upload the code! (after the programming procedure remove it and install it again to our custom pcb board).
/* Arduino Bluetooth Car<br> * Created by Vasilakis Michalis // updated: 31/7/2019
 * More information at www.ardumotive.com
 */
#include 
//Software serial connection for bt module
SoftwareSerial btSerial(A2,A3); // RX & TX

//L293 Connection   
const int motorA1  = 5;  // Pin  2 of L293
const int motorA2  = 3;  // Pin  7 of L293
const int motorB1  = 11; // Pin 10 of L293
const int motorB2  = 10;  // Pin 14 of L293
//Leds connected to Arduino UNO Pin 12
const int front_lights  = 8;
const int back_lights = 7;
//Buzzer / Speaker to Arduino UNO Pin 3
const int buzzer = 2 ;   

//Useful Variables
int i=0;
int j=0;
char state;

void setup() {
  // Initialize serial communication at 9600 bits per second:
  btSerial.begin(9600);
  Serial.begin(9600); // Only for debugging
  // Set pins as outputs:
  pinMode(motorA1, OUTPUT);
  pinMode(motorA2, OUTPUT);
  pinMode(motorB1, OUTPUT);
  pinMode(motorB2, OUTPUT);
  pinMode(front_lights, OUTPUT);
  pinMode(back_lights, OUTPUT);
  delay(500);
  //Stop all motors
  digitalWrite(motorA1, LOW);
  digitalWrite(motorA2, LOW);
  digitalWrite(motorB1, LOW);
  digitalWrite(motorB2, LOW);
}
 
void loop() {
  //Save income data to variable 'state'
    if(btSerial.available() > 0){     
      state = btSerial.read(); 
      Serial.println(state);  
    }	  
  /***********************Forward****************************/
  //If state is equal with letter 'F', car will go forward!
    if (state == 'F') {
    	digitalWrite(motorA1, HIGH); digitalWrite(motorA2, 0);
      digitalWrite(motorB1, 0);      digitalWrite(motorB2, 0); 
      Serial.println("Moving Forward");
    }
  /**********************Forward Left************************/
  //If state is equal with letter 'G', car will go forward left
    else if (state == 'G') {
    	digitalWrite(motorA1, HIGH); digitalWrite(motorA2, 0);  
      digitalWrite(motorB1, HIGH);    digitalWrite(motorB2, 0);
      Serial.println("Moving Forward Left"); 
    }
  /**********************Forward Right************************/
  //If state is equal with letter 'I', car will go forward right
    else if (state == 'I') {
      digitalWrite(motorA1, HIGH); digitalWrite(motorA2, 0); 
      digitalWrite(motorB1, 0);      digitalWrite(motorB2, HIGH); 
      Serial.println("Moving Forward Right");
    }
  /***********************Backward****************************/
  //If state is equal with letter 'B', car will go backward
    else if (state == 'B') {
    	digitalWrite(motorA1, 0);   digitalWrite(motorA2, HIGH); 
      digitalWrite(motorB1, 0);   digitalWrite(motorB2, 0); 
      Serial.println("Moving Backward");
    }
  /**********************Backward Left************************/
  //If state is equal with letter 'H', car will go backward left
    else if (state == 'H') {
    	digitalWrite(motorA1, 0);   digitalWrite(motorA2, HIGH); 
      digitalWrite(motorB1, HIGH); digitalWrite(motorB2, 0);
      Serial.println("Moving Backward Left"); 
    }
  /**********************Backward Right************************/
  //If state is equal with letter 'J', car will go backward right
    else if (state == 'J') {
    	digitalWrite(motorA1, 0);   digitalWrite(motorA2, HIGH); 
      digitalWrite(motorB1, 0);   digitalWrite(motorB2, HIGH); 
      Serial.println("Moving Backward Right");
    }
  /***************************Left*****************************/
  //If state is equal with letter 'L', wheels will turn left
    else if (state == 'L') {
    	digitalWrite(motorA1, 0);   digitalWrite(motorA2, 0); 
      digitalWrite(motorB1, HIGH); digitalWrite(motorB2, 0); 
      Serial.println("Turn Left");
    }
  /***************************Right*****************************/
  //If state is equal with letter 'R', wheels will turn right
    else if (state == 'R') {
    	digitalWrite(motorA1, 0);   digitalWrite(motorA2, 0); 
      digitalWrite(motorB1, 0);   digitalWrite(motorB2, HIGH); 
      Serial.println("Turn Right");		
    }
  /************************Lights*****************************/
  //If state is equal with letter 'W/w', turn front leds on or of off
    else if (state == 'W') {
      digitalWrite(front_lights, HIGH); 
      Serial.println("Turning front lights ON");
    }
    else if (state == 'w') {
      digitalWrite(front_lights, LOW); 
      Serial.println("Turning front lights OFF");
    }
  /************************Lights*****************************/
  //If state is equal with letter 'U/u', turn back leds on or of off
    else if (state == 'U') {
      digitalWrite(back_lights, HIGH); 
      Serial.println("Turning rear lights ON");
    }
    else if (state == 'u') {
      digitalWrite(back_lights, LOW); 
      Serial.println("Turning rear lights OFF");
    }  
  /**********************Horn sound***************************/
  //If state is equal with letter 'V', play (or stop) horn sound
    else if (state == 'V'){
      tone(buzzer,500);
      Serial.println("Playing horn sound");
    }
    else if (state == 'v'){
      noTone(buzzer);
      Serial.println("Stop playing horn sound");
    }
  /************************Stop*****************************/
  //If state is equal with letter 'S', stop the car
    else if (state == 'S'){
        digitalWrite(motorA1, 0);  digitalWrite(motorA2, 0); 
        digitalWrite(motorB1, 0);  digitalWrite(motorB2, 0);
        Serial.println("STOP");
    }  
}

Schematics

PCB Schematic
Order it from pcbway.com and get 10pcs PCB for free! Instructions on how to order it can be found in the video that we have in first step.
You can also make your changes here: https://easyeda.com/mi.vasilakis/My_PCB-9fb30c4a0c7e459cb9484f305015f0c8
F06w7aajzd6qbu0 lefwsqunxs
Circuit Schematic
Fye9z7ojzd6qbxy 2gbbuytmai

Comments

Similar projects you might like

Turn your RC Car to Bluetooth RC car

Project tutorial by Prajjwal Nag

  • 17,090 views
  • 2 comments
  • 22 respects

Control RC Car via Bluetooth with Android Smartphone

Project showcase by JoyDutta06

  • 9,965 views
  • 3 comments
  • 10 respects

Bluetooth Controlled Car

Project tutorial by JANAK13

  • 14,091 views
  • 19 comments
  • 45 respects

Bluetooth Controlled Car

Project showcase by Ian St. Louis

  • 13,526 views
  • 3 comments
  • 16 respects

RC Car to BT Car Controlled with Blynk

Project tutorial by Team Daxes Hacks

  • 6,076 views
  • 2 comments
  • 7 respects

Bluetooth RC Car with Remote Arduino

Project tutorial by Windows IoT

  • 44,182 views
  • 4 comments
  • 81 respects
Add projectSign up / Login