Things used in this project

Hardware components:
Cutout cortado grande
Punch Through LightBlue Bean
×1
A000066 iso both
Arduino Arduino UNO & Genuino UNO
×1
11026 02
Jumper wires (generic)
×1
Software apps and online services:
Ide web
Arduino Arduino IDE
Hand tools and fabrication machines:
Hy gluegun
Hot glue gun (generic)

Schematics

Schematics
Fni8wdji49rn77h medium lr5mr0vdar

Code

Bluetooth RC codeArduino
code also contains light & buzzer details which have been commented
/*
 * Created by Vasilakis Michalis // 12-12-2014 ver.1
 * Project: Control RC Car via Bluetooth with Android Smartphone
 * http://www.ardumotive.com/arduino-car
 * More information at www.ardumotive.com
 */
 
//L293 Connection   
  const int motorA1  = 5;  // Pin  2 of L293
  const int motorA2  = 6;  // Pin  7 of L293
  const int motorB1  = 10; // Pin 10 of L293
  const int motorB2  = 9;  // Pin 14 of L293
//Leds connected to Arduino UNO Pin 12
 // const int lights  = 12;
//Buzzer / Speaker to Arduino UNO Pin 3
//  const int buzzer = 3 ;   
//Bluetooth (HC-06 JY-MCU) State pin on pin 2 of Arduino
  const int BTState = 2;
//Calculate Battery Level
  //const float maxBattery = 8.0;// Change value to your max battery voltage level! 
  //int perVolt;                 // Percentage variable 
  //float voltage = 0.0;         // Read battery voltage
  int level;
// Use it to make a delay... without delay() function!
  //long previousMillis = -1000*10;// -1000*10=-10sec. to read the first value. If you use 0 then you will take the first value after 10sec.  
  //long interval = 1000*10;       // interval at which to read battery voltage, change it if you want! (10*1000=10sec)
  //unsigned long currentMillis;   //unsigned long currentMillis;
//Useful Variables
  int i=0;
  int j=0;
  int state;
  int vSpeed=200;     // Default speed, from 0 to 255

void setup() {
    // Set pins as outputs:
    pinMode(motorA1, OUTPUT);
    pinMode(motorA2, OUTPUT);
    pinMode(motorB1, OUTPUT);
    pinMode(motorB2, OUTPUT);
  //  pinMode(lights, OUTPUT); 
    pinMode(BTState, INPUT);    
    // Initialize serial communication at 9600 bits per second:
    Serial.begin(9600);
}
 
void loop() {
  //Stop car when connection lost or bluetooth disconnected
     if(digitalRead(BTState)==LOW) { state='S'; }

  //Save income data to variable 'state'
    if(Serial.available() > 0){     
      state = Serial.read();   
    }
  
  //Change speed if state is equal from 0 to 4. Values must be from 0 to 255 (PWM)
    if (state == '0'){
      vSpeed=0;}
    else if (state == '1'){
      vSpeed=100;}
    else if (state == '2'){
      vSpeed=180;}
    else if (state == '3'){
      vSpeed=200;}
    else if (state == '4'){
      vSpeed=255;}
 	  
  /***********************Forward****************************/
  //If state is equal with letter 'F', car will go forward!
    if (state == 'F') {
    	analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
        analogWrite(motorB1, 0);      analogWrite(motorB2, 0); 
    }
  /**********************Forward Left************************/
  //If state is equal with letter 'G', car will go forward left
    else if (state == 'G') {
    	analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);  
        analogWrite(motorB1, 200);    analogWrite(motorB2, 0); 
    }
  /**********************Forward Right************************/
  //If state is equal with letter 'I', car will go forward right
    else if (state == 'I') {
      	analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); 
        analogWrite(motorB1, 0);      analogWrite(motorB2, 200); 
    }
  /***********************Backward****************************/
  //If state is equal with letter 'B', car will go backward
    else if (state == 'B') {
    	analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed); 
        analogWrite(motorB1, 0);   analogWrite(motorB2, 0); 
    }
  /**********************Backward Left************************/
  //If state is equal with letter 'H', car will go backward left
    else if (state == 'H') {
    	analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed); 
        analogWrite(motorB1, 200); analogWrite(motorB2, 0); 
    }
  /**********************Backward Right************************/
  //If state is equal with letter 'J', car will go backward right
    else if (state == 'J') {
    	analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed); 
        analogWrite(motorB1, 0);   analogWrite(motorB2, 200); 
    }
  /***************************Left*****************************/
  //If state is equal with letter 'L', wheels will turn left
    else if (state == 'L') {
    	analogWrite(motorA1, 0);   analogWrite(motorA2, 0); 
        analogWrite(motorB1, 200); analogWrite(motorB2, 0); 
    }
  /***************************Right*****************************/
  //If state is equal with letter 'R', wheels will turn right
    else if (state == 'R') {
    	analogWrite(motorA1, 0);   analogWrite(motorA2, 0); 
        analogWrite(motorB1, 0);   analogWrite(motorB2, 200); 		
    }
  /************************Lights*****************************/
  //If state is equal with letter 'W', turn leds on or of off
    //else if (state == 'W') {
      //if (i==0){  
        // digitalWrite(lights, HIGH); 
         //i=1;
      //}
//      else if (i==1){
  //       digitalWrite(lights, LOW); 
    //     i=0;
      //}
      //state='n';
    //}
  /**********************Horn sound***************************/
  //If state is equal with letter 'V', play (or stop) horn sound
    //else if (state == 'V'){
      //if (j==0){  
         //tone(buzzer, 1000);//Speaker on 
        // j=1;
      //}
      //else if (j==1){
        // noTone(buzzer);    //Speaker off 
         //j=0;
      //}
  //    state='n';  
    //}
  /************************Stop*****************************/
  //If state is equal with letter 'S', stop the car
    else if (state == 'S'){
        analogWrite(motorA1, 0);  analogWrite(motorA2, 0); 
        analogWrite(motorB1, 0);  analogWrite(motorB2, 0);
    }
  /***********************Battery*****************************/
 /* //Read battery voltage every 10sec.
    currentMillis = millis();
    if(currentMillis - (previousMillis) > (interval)) {
       previousMillis = currentMillis; 
       //Read voltage from analog pin A0 and make calibration:
       voltage = (analogRead(A0)*5.015 / 1024.0)*11.132;
       //Calculate percentage...
       perVolt = (voltage*100)/ maxBattery;
       if      (perVolt<=75)               { level=0; }
       else if (perVolt>75 && perVolt<=80) { level=1; }    //        Battery level
       else if (perVolt>80 && perVolt<=85) { level=2; }    //Min ------------------------   Max
       else if (perVolt>85 && perVolt<=90) { level=3; }    //    | 0 | 1 | 2 | 3 | 4 | 5 | >
       else if (perVolt>90 && perVolt<=95) { level=4; }    //    ------------------------
       else if (perVolt>95)                { level=5; }   
       Serial.println(level);    
    }*/
    
}

Credits

Fl9twm2lp8z6lfbtlq9u
abhishek n chatrani

Entrepreneur | Mechanical Engineer | Innovator | Realist

Contact
Thanks to Ardumotive_com.

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

Get Notified When Door Is Unlocked: LightBlue Bean/Node-Red
Easy
  • 291
  • 2

Full instructions

Get notifications by email when your door has been unlocked.

Grove LED Bar Controller with the Bean+
Easy
  • 857
  • 14

Protip

Learn the basics of using popular Grove components with the new LightBlue Bean+ to get started with building your own projects!

Electronic Egg Toss Game
Easy
  • 618
  • 13

The classic picnic game is messy, but this version will let you practice indoors.

Hypnos Pendant
Easy
  • 1,842
  • 12

Full instructions

A wearable that promotes mindfully spending your time, which also helps trigger lucid dreams.

LightBlue Bean: Arduino Basics
Easy
  • 1,286
  • 15

Protip

This little Bluetooth board is ideal for wearable tech and tiny robots. Get started with these projects!

Getting Started with Bluetooth Low Energy (BLE)
Easy
  • 5,136
  • 18

Protip

In this tutorial, we'll learn how to set up BLE GATT services to make a thermometer using Intel's Arduino 101

Add projectSign up / Login