Jump to content
Electronics-Lab.com Community

diyelex

Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by diyelex

  1. IMG_20190804_160822.thumb.jpg.d8a39edf24f55145c6e67adb4e958698.jpgIMG_20190804_160701.thumb.jpg.5b9ef950ff29b5a22553358bcbf1ddd3.jpg

     

    I have just started with the youtube channel, so I decided to make a Bluetooth controlled robotic car. As am an electronics engineer I have knowledge about electronics. but I don't know how to build a custom android application. so Before making the project I learn about MIT app inventor and try to make one app which was a great success it is quite easy to do. In this article, we will learn how to make a custom Android application and how to configure the Bluetooth module with Arduino.

    Hardware requirements:

    • Arduino Uno
    • Bluetooth HC-05
    • l298n motor Driver
    • acrylic sheet
    • wheels x2
    • geared dc motor x2
    • mini breadboard
    • 4.7k, 2.2k resistor
    • jumper wires
    • 12v battery
    • 9v battery
    • switch

    Step 1: Building Chassis

    acrylic.thumb.png.76caac079221fa4fc84abfaee14b27ef.png828627102_gluemotor.thumb.png.4cc74bbace837a2e757638b7fbcf3b03.png709859554_allsticked.thumb.png.61b08a57467eb765c7848c6709d6fe36.pngcaster.thumb.png.e4602eb3171b13256c561723653807bc.png

     

    I used an acrylic sheet length of 18cm and width of 13cm. First, I positioned all parts that going to be mounted on the chassis. then I used a hot glue gun to stick the parts to acrylic you can use spacers or screws. after mounting all parts I stick the caster wheel at the bottom of the chassis.

    Step 2: Connection

    1931335297_UntitledSketch_bb.thumb.jpg.3a9bf12d90bac6d740328f6adde59d4d.jpg

    Make the connection according to the circuit diagram. we can use separate power for Arduino. Motor driver and 12v battery connected through the switch. As we can see in the circuit diagram there is 2.2k and 4.7 k resistor connected to the pins of the bluetooth module. the main reason for this is the HC-05 Bluetooth module uses a logic level of 3.3v. While transmitting data from HC-05 to Arduino there is no problem because Arduino is capable of receiving data from 3.3v logic, but while receiving any data from Arduino to HC-05 Arduino uses 5v logic which may damage our Bluetooth module, to convert 5v logic level to 3.3v we use a voltage divider method. Make sure that there is common ground between motor driver and Arduino otherwise motor not work.

    Step 3: Programming

    /*
                  Author:DIYelex
                  date: 3/8/2019
    */
    
    #include <SoftwareSerial.h> // TX RX software library for bluetooth
    SoftwareSerial mySerial(2, 3);  // Connect the TXD pin of BT module to pin 2 of the Arduino and the RXD pin of BT module to pin 3 of Arduino.
    int Rightmotor1 = 4; //pin 1 of Rightmotor 
    int Rightmotor2 = 5; //pin2 of Rightmotor 
    int leftmotor1 = 6;//pin1 of leftmotor 
    int leftmotor2 = 7;//pin2 of leftmotor 
    int en1=9; //enable pin for Rightmotor 
    int en2=10; // enable pin for leftmotor
    String readString;
    void setup()
    {
      pinMode(Rightmotor1,OUTPUT);  // attach Right Motor 1st wire to pin 4
      pinMode(Rightmotor2,OUTPUT); // attach Right Motor 1st wire to pin 5
      pinMode(leftmotor1,OUTPUT);// attach Right Motor 1st wire to pin 6
      pinMode(leftmotor2,OUTPUT);// attach Right Motor 1st wire to pin 7
      pinMode(en1,OUTPUT);  //attach motor drivers rightmotor enable pin to PWM pin 9 of arduino
      pinMode(en2,OUTPUT);//attach motor drivers leftmotor enable pin to PWM pin 10 of arduino
     
      Serial.begin(9600); //Setup usb serial connection to computer
      mySerial.begin(9600);//Setup Bluetooth serial connection to android
    }
    
    void loop()
    {
      while(mySerial.available()){ 
        delay(50);
        char data = mySerial.read();//store the data come from bluetooth to char data
        readString+=data;
      }
    
      if(readString.length() > 0) {
        Serial.println(readString); ///Print the data to serial monitor which is given by bluetooth
    
        if(readString == "Forward"){ //if forward received do following 
          
          digitalWrite(Rightmotor1, HIGH);  ////////////FORWARD ////////////////////////
          digitalWrite(Rightmotor2, LOW);
          digitalWrite(leftmotor1, HIGH);
           digitalWrite(leftmotor2, LOW);
           analogWrite(en1,200);// for controlling speed of Rightmotor vary the value from 0 to 255
           analogWrite(en2,200);// for controlling speed of leftmotor vary the value from 0 to 255
            
         }
        
        if(readString == "Back"){  //if Back received do following 
           
          digitalWrite(Rightmotor1, LOW);  ////////////BACK/////////////////////////////
          digitalWrite(Rightmotor2, HIGH);
          digitalWrite(leftmotor1, LOW);
           digitalWrite(leftmotor2, HIGH);
           analogWrite(en1,200);
           analogWrite(en2,200);
           
         }
        
    
        if(readString == "Left"){  //if left received do following 
           digitalWrite(Rightmotor1, HIGH);/////////////LEFT////////////////////////////
          digitalWrite(Rightmotor2, LOW);
          digitalWrite(leftmotor1, LOW);
           digitalWrite(leftmotor2, HIGH);
           analogWrite(en1,80);
           analogWrite(en2,80);
           
         }
        
    
        if(readString == "Right"){   //if Right received do following 
          digitalWrite(Rightmotor1, LOW);/////////////RIGHT////////////////////////
          digitalWrite(Rightmotor2, HIGH);
          digitalWrite(leftmotor1, HIGH);
           digitalWrite(leftmotor2, LOW);
           analogWrite(en1,80);
           analogWrite(en2,80);
           
        }
    
        if(readString == "Stop"){  //if stop received do following 
          digitalWrite(Rightmotor1, LOW); ///////////stop/////////////////
          digitalWrite(Rightmotor2, LOW);
          digitalWrite(leftmotor1, LOW);
           digitalWrite(leftmotor2, LOW);
           
        }
    
        readString = "";
      }
    }

    Step 4: Android App

    designer.thumb.png.5849d1595a45b0e5ab9e24e16170d490.pngblocks.thumb.png.9b208ac4f03bd8640e95339d0cd9c3c7.png

     

     

    Now we have to build Bluetooth applications that would be capable of controlling your robot car. If you wish to download my application you can download it from github: The Bluetooth car

    How I created this application was through App Inventor 2, The images above show both the "Designer" & "Block" view of my application so you can build and change thing up if you wish!

    Steps for configuring bluetooth

    • First turn on the switch of robot car
    • Go to setting Click on the Bluetooth
    • TabTurn Bluetooth on Wait for your phone to find the HC-05 Bluetooth module
    • Once it has been found click it and input the password by default it should be either "1234" or "0000"
    • Now open the application Bluetooth car Application and click the " Bluetooth image" button
    • You should see the HC-05 Module (If not re-try the steps above) click on the Module
    • The Application will then return automatically to the main screen and you can see the green text "connected"
    • At this point, the HC-05 Modules Red LED should now be constantly on instead of pulsing meaning a device is currently connected.

    Conclusion

    Thanks for Reading

    watch this project video on youtube

    https://youtu.be/iC7P9nyFu9I

     

     

×
  • Create New...