Project tutorial
Mr. Big

Mr. Big © GPL3+

Mr. Big is a large mobile unit that can carry weight up to 8kg.

  • 499 views
  • 2 comments
  • 2 respects

Components and supplies

Necessary tools and machines

Apps and online services

About this project

Back at my home during my summer vacations, everyone in the house asked me to bring their stuffs from the other rooms. It was ok if the stuff was small or limited in number but most of the time it wasn't. So I thought of designing a mobile unit that I could operate via my phone and let it do the heavy lifting.

I had my writing table at my home and also I arranged some plywood which used for the external framework. The whole structure itself weigh about 3-4kgs but you can use something lighter for the external structure if you want.

Both motors used have a torque of 3 kg-cm. You can use a more powerful motor if u want if you have a motor driver for it.

I have used a L298N motor driver for these project. I know it can operate only for 3Amps current and both the motor will use more than that limit, but the fact is it can whit stand up to 5Amps because manufacturers show less value than actual. And worst case scenario in these case would be thermal shutdown above 100 degree C.

I have used Blynk app for the purpose of controlling my robot. The sketch for the same is given below. The robot as you know is controlled via Bluetooth. You will get the necessary information on the official website of Blynk you need. I have decided to controlled both the motor speed separately but if you want you can control the speed through one controller only. I have also added a button for forced left in the virtual pins 3 and 4. In the case if robot got stuck somewhere and it is needed to change its direction immediately this commands can be used. But these command puts a lot of pressure on the motor drive so better to save it for emergency only. I have also used an LED button, it is a simple button to know whether your Bluetooth is connected to your mobile device or not. Just click that button, and if the light near 13th pin of Arduino Uno blinks accordingly, then voila your mobile is connected via HC-05.

Code

Mr. BigC/C++
#define BLYNK_PRINT Serial


#include <SoftwareSerial.h>
SoftwareSerial SwSerial(9, 10); // RX, TX
const int enb=6;
const int in4=12;
const int in3=11;
const int ena=3;
const int in2=5;
const int in1=4;    
#include <BlynkSimpleSerialBLE.h>
#include <SoftwareSerial.h>

char auth[] = "5b4640909c9b4c818d9afdffc7a1ba08";

SoftwareSerial SerialBLE(9, 10); // RX, TX

// This function will be called every time Slider Widget
// in Blynk app writes values to the Virtual Pin 1

BLYNK_WRITE(V0)
{
  int button=param.asInt();
  if(button==1)
  {
     digitalWrite(in4,HIGH);
  digitalWrite(in3,LOW);
  
  digitalWrite(in1,HIGH);
   digitalWrite(in2,LOW);
  }
  else if(button==0)
  {
    digitalWrite(in4,LOW);
  digitalWrite(in3,HIGH);
  
  digitalWrite(in1,LOW);
   digitalWrite(in2,HIGH);
  }
}
BLYNK_WRITE(V1)
{
  int pinValue = param.asInt(); // assigning incoming value from pin V1 to a variable
 
  analogWrite(enb,pinValue);
   }
BLYNK_WRITE(V2)
{
  int pinValue = param.asInt(); // assigning incoming value from pin V1 to a variable
   
  analogWrite(ena,pinValue);
   }

BLYNK_WRITE(V3)
{
  int pinValue=param.asInt();
  if(pinValue==1)
  {
  digitalWrite(in1,HIGH);
   digitalWrite(in2,LOW);
    digitalWrite(in4,LOW);
  digitalWrite(in3,HIGH);
   analogWrite(ena,255);
   analogWrite(enb,255);
   delay(500);
  }
  else
  {
   digitalWrite(in1,HIGH);
   digitalWrite(in2,HIGH);
    digitalWrite(in4,HIGH);
  digitalWrite(in3,HIGH);
  analogWrite(ena,0);
   analogWrite(enb,0);
   delay(200);
  }
}
BLYNK_WRITE(V4)
{
  int pinValue=param.asInt();
  if(pinValue==1)
  {
  digitalWrite(in1,LOW);
   digitalWrite(in2,HIGH);
    digitalWrite(in4,HIGH);
  digitalWrite(in3,LOW);
   analogWrite(ena,255);
   analogWrite(enb,255);
   delay(500);
  }
else
{
  digitalWrite(in1,HIGH);
   digitalWrite(in2,HIGH);
    digitalWrite(in4,HIGH);
  digitalWrite(in3,HIGH);
  analogWrite(ena,0);
   analogWrite(enb,0);
  delay(200);
}
}

void setup()
{
  // Debug console
  Serial.begin(9600);

  SerialBLE.begin(9600);
  Blynk.begin(SerialBLE, auth);

Serial.println("Waiting for connections...");
pinMode(in3,OUTPUT);
pinMode(in4,OUTPUT);
pinMode(enb,OUTPUT);
pinMode(in2,OUTPUT);
pinMode(in1,OUTPUT);
pinMode(ena,OUTPUT);
}

void loop()
{
  Blynk.run();
}

Schematics

Schematic for the project
If any problem comes with the direction of motion of motors then interchange the positive and negative terminal of the wire.

If problems comes with the position of the motor that is if you are trying to move left and right operates then interchange the positions of the wire that is from A to B.
mr_me2yavdnvx.fzz

Comments

Author

Mishrarahul1997
mishrarahul1997
  • 1 project
  • 0 followers

Additional contributors

  • Since, this was my summer project i made it by myself only by Rahul Mishra

Published on

May 27, 2019

Members who respect this project

Default

and 1 other

See similar projects
you might like

Similar projects you might like

Android App-Based Home Automation System Using IOT

Project tutorial by Team Autoshack

  • 35,485 views
  • 20 comments
  • 106 respects

Alzheimer's Assistant

Project tutorial by Abdullah Sadiq

  • 27,271 views
  • 19 comments
  • 104 respects

Temperature Streaming with Arduino + Big Data Tools

Project showcase by Gabriel Rodriguez

  • 7,034 views
  • 1 comment
  • 32 respects

Sleeping Phases Determination

Project tutorial by Diana Khalipina

  • 3,210 views
  • 2 comments
  • 23 respects

WiFi Robot

Project tutorial by Team Kartik

  • 2,899 views
  • 1 comment
  • 11 respects

Big Real-Time Clock Using Arduino

Project tutorial by the lonely programmer

  • 2,155 views
  • 2 comments
  • 17 respects
Add projectSign up / Login