Ahmed Ibrahim Ahmed
Published © GPL3+

Bluetooth Controlled Pick And Place Robot

We have built a 2WD robot with a robotic arm on it controlled from a mobile app over Bluetooth connection. Use this step-by-step tutorial!

IntermediateFull instructions provided2 days34,880
Bluetooth Controlled Pick And Place Robot

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
2 DOF Robot Arm with Gripper and Base
×1
HC-05 Bluetooth Module
HC-05 Bluetooth Module
×1
adafruit motor shield
×1
2WD Smart Robot Car Chassis Kit
×1
NiMH Rechargeable Battery (5V-1500mAh)
×1
7.4V Battery
×1
Mini Breadboard
×1
Jumper wires (generic)
Jumper wires (generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE
MIT App Inventor
MIT App Inventor

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Schematics

The Mobile App For This Robot

This App Only Runs On Android Phones.
U Must Turn On the Bluetooth Before using this app
before u choose the Bluetooth module from the app, pair your mobile with the Bluetooth module from settings in your phone

Code

Pick And Place Robot Arduino Code

Arduino
#include<AFMotor.h>
#include<Servo.h>
AF_DCMotor motorR(1);
AF_DCMotor motorL(2);
Servo elbowServo;
Servo gripperServo;
int command;

void setup() {

gripperServo.attach(9);
elbowServo.attach(10);
Serial.begin(9600);
motorR.setSpeed(255);
motorL.setSpeed(255);
}

void loop() {
command = Serial.read();

                                        /*     ARM Code    */

if(command>=1 && command <=180)   //elbow servo move according to the thumb position on the mob app between 0 -- 180  .
{
  elbowServo.write(command);
}
else if (command == 205)    //Gripper Move To Angle 0
{
  gripperServo.write(0);
}
else if (command == 206)    //Gripper movw to angle 90
{
  gripperServo.write(90);  
}
else if (command == 207)    //gripper move to angle 180
{
  gripperServo.write(180);
}

                                            /*  CAR CODE  */  

else if (command == 200)
{
  motorR.run(FORWARD);
  motorL.run(FORWARD);
}
else if(command == 201)
{
  motorR.run(FORWARD);
  motorL.run(BACKWARD);  
}
else if(command == 202)
{
  motorR.run(RELEASE);
  motorL.run(RELEASE);  
}
else if(command == 203)
{
  motorR.run(BACKWARD);
  motorL.run(FORWARD);  
}
else if(command == 204)
{
  motorR.run(BACKWARD);
  motorL.run(BACKWARD);  
}
else if(command == 0)
{
  motorR.run(RELEASE);
  motorL.run(RELEASE);  
}
}

Credits

Ahmed Ibrahim Ahmed

Ahmed Ibrahim Ahmed

11 projects • 108 followers
An Egyptian Computer Engineering Student, Robotics And Embedded Systems Geek.

Comments