THE COMPONENTS THOSE WILL BE NEEDED ARE

Step 1: Why Automatic/Robot Home Maker Is Needed

There have so many robots are already available in the market who can clean the home, provides security protections, entertains people and many more. In case of my one, it is specialized in working side by side a person like other person works. Like, if you are cooking but on the same time you have to send a cup of tea to someone else, then the robot will carry the cup of tea to the other person. This will reduce work stress by working with a person. This will also use in hotels and restaurants in replacements of waiters.

Step 2: PARTS OF THE PROJECT

To make and understand it easily we have splatted this project into two main parts.

for better explanation we have divided our ELECTRONICS Part into

Step 3: MECHANICAL PART

Here in this part we will need some PVC sheet to make the chassis, 4 TT gear motors with wheels, 1 submersible pump, one cooldrinks can which is completely optional. you may use anything else to make the water tank. This is considered as the easiest part of this robot. All you need to only cut the PVC sheet and assemble all the components together in a proper way. Here I have attached some pictures on this.

Here I have used 60rpm TTgear motors but you may vary the rpm according to your need. But one tips I want to share that, lower rpm motos are easy to control & they could be shown easily in any resentation. Thats it for this part. now we will move to our next part which is ELECTRONICS PART. Here we will directly enter into the circuit and pcb making part. This could be littlebit tough if you are a fresher in making electronics project but I will explain is as much easier as possible.

Step 4: CIRCUIT Diagram & PCB MAKING

Here I have attached the circuit or the connection diagram which is very easy to understand and make. Please follow this diagram when you are going to make this project.

This project will work or perform same with or without making pcb but I have made PCb boards for this project. Actually not only for this, I always do prefer making any project using Customized PCB boards. There have obviously some advantages of making any project using PCB boards. like

So I always make PCB BOARD for my every project. As I have already mentioned before I have already attached a circuit diagram with this article so please download that before you are going to connect all of them together. In my case, I have made a customized PCB board from JLCPCB to skip a few steps of wiring and make an easy connection between all the components.$2 for 5pcs PCBs, PCBA from $0, Register to Get Free Coupons here: https://jlcpcb.com/IYB. I really liked the PCB Boards as they are very high in quality.

Step 5: ASSEMBLE THE ELECTRONIC COMPONENTS

Now we will make all the components together. But before that please make sure that you have gathered all of them correctly. Here I have enlisted the components and also provided their pictures for your references. Hope this will help you to make this easier.

SO THE COMPONENTS THOSE WILL BE NEEDED ARE

Now please assemble all the components together to complete the project. this is very easy to do if you follow the simple connection diagram. But if you have any doubt on this you may watch this video for better understand

after assemble all the electronics part together only one thing will be left for us which is ARDUINO CODING. Trust me this part is really very easy as compared to these previous parts. So lets finish it...

completed PCB Board

Step 6: ARDUINO CODING

First of all you need to download Arduino IDE in your system which is a completely free software for all the users. You can easily download it from their official website. Then download the necessary libraries like- Adafruit Motor Shield library, Dabble, etc. and then you have to select the correct boards and ports. Here in this case we are using Arduino Nano so you have select Arduino Nano & for port you have to select the port that shows in the software after connection your Arduino Board with your system. It will be some thing like com port 3, com port 7, com port 4 etc. and so on.

Then you need to download or copy the given Arduino code and pest it or open it and upload it in Arduino Nano.

PLEASE don't forget to disconnect the hc-05 Bluetooth module while uploading the code.

Once you have done all this, only one last part is left which is giving power to your robot. Here i have used one 12v diy rechargeable li-ion battery. which i have made using 18650 li-ion batteries. This is also very easy to make and please click on the link if you want to know How to make 12v rechargeable li-ion battery at home.

#define in1 5 //L298n Motor Driver pins.
#define in2 6
#define in3 10
#define in4 11
#define LED 13
int command; //Int to store app command state.
int Speed = 204; // 0 - 255.
int Speedsec;
int buttonState = 0;
int lastButtonState = 0;
int Turnradius = 0; //Set the radius of a turn, 0 - 255 Note:the robot will malfunction if this is higher than int Speed.
int brakeTime = 45;
int brkonoff = 1; //1 for the electronic braking system, 0 for normal.
void setup() {
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  pinMode(LED, OUTPUT); //Set the LED pin.
  Serial.begin(9600);  //Set the baud rate to your Bluetooth module.
}

void loop() {
  if (Serial.available() > 0) {
    command = Serial.read();
    Stop(); //Initialize with motors stoped.
    switch (command) {
      case 'F':
        forward();
        break;
      case 'B':
        back();
        break;
      case 'L':
        left();
        break;
      case 'R':
        right();
        break;
      case 'G':
        forwardleft();
        break;
      case 'I':
        forwardright();
        break;
      case 'H':
        backleft();
        break;
      case 'J':
        backright();
        break;
      case '0':
        Speed = 100;
        break;
      case '1':
        Speed = 140;
        break;
      case '2':
        Speed = 153;
        break;
      case '3':
        Speed = 165;
        break;
      case '4':
        Speed = 178;
        break;
      case '5':
        Speed = 191;
        break;
      case '6':
        Speed = 204;
        break;
      case '7':
        Speed = 216;
        break;
      case '8':
        Speed = 229;
        break;
      case '9':
        Speed = 242;
        break;
      case 'q':
        Speed = 255;
        break;
    }
    Speedsec = Turnradius;
    if (brkonoff == 1) {
      brakeOn();
    } else {
      brakeOff();
    }
  }
}

void forward() {
  analogWrite(in1, Speed);
  analogWrite(in3, Speed);
}

void back() {
  analogWrite(in2, Speed);
  analogWrite(in4, Speed);
}

void left() {
  analogWrite(in3, Speed);
  analogWrite(in2, Speed);
}

void right() {
  analogWrite(in4, Speed);
  analogWrite(in1, Speed);
}
void forwardleft() {
  analogWrite(in1, Speedsec);
  analogWrite(in3, Speed);
}
void forwardright() {
  analogWrite(in1, Speed);
  analogWrite(in3, Speedsec);
}
void backright() {
  analogWrite(in2, Speed);
  analogWrite(in4, Speedsec);
}
void backleft() {
  analogWrite(in2, Speedsec);
  analogWrite(in4, Speed);
}

void Stop() {
  analogWrite(in1, 0);
  analogWrite(in2, 0);
  analogWrite(in3, 0);
  analogWrite(in4, 0);
}

void brakeOn() {
  //Here's the future use: an electronic braking system!
  // read the pushbutton input pin:
  buttonState = command;
  // compare the buttonState to its previous state
  if (buttonState != lastButtonState) {
    // if the state has changed, increment the counter
    if (buttonState == 'S') {
      if (lastButtonState != buttonState) {
        digitalWrite(in1, HIGH);
        digitalWrite(in2, HIGH);
        digitalWrite(in3, HIGH);
        digitalWrite(in4, HIGH);
        delay(brakeTime);
        Stop();
      }
    }
    // save the current state as the last state,
    //for next time through the loop
    lastButtonState = buttonState;
  }
}
void brakeOff() {

}

Step 7: CONNECTING VIA BLUETOOTH

After everything, finally we have to connect the robot with our android phone via Bluetooth. There have so many Android app easily available in play store. I have downloaded one of them and installed it in my Android phone. Then I have turned on the robot and searched for HC-05 Bluetooth. then they will as for the passwords. Most of the cases it is '1234'. then it will connect successfully with the robot. then open the app and run your bot.